Merge branch 'randomize'
authorHeli Hyvättinen <heli.hyvattinen@kymp.net>
Tue, 14 Jun 2011 08:32:41 +0000 (11:32 +0300)
committerHeli Hyvättinen <heli.hyvattinen@kymp.net>
Tue, 14 Jun 2011 08:32:41 +0000 (11:32 +0300)
17 files changed:
laiva_10aave.png [new file with mode: 0644]
laiva_1aave.png [new file with mode: 0644]
laiva_2aave.png [new file with mode: 0644]
laiva_3aave.png [new file with mode: 0644]
laiva_4aave.png [new file with mode: 0644]
laiva_5aave.png [new file with mode: 0644]
laiva_6aave.png [new file with mode: 0644]
laiva_7aave.png [new file with mode: 0644]
laiva_8aave.png [new file with mode: 0644]
laiva_9aave.png [new file with mode: 0644]
main.cpp
mainwindow.cpp
mainwindow.h
orientationcontrol2pix.qrc
seascene.cpp
ship.cpp
ship.h

diff --git a/laiva_10aave.png b/laiva_10aave.png
new file mode 100644 (file)
index 0000000..616529c
Binary files /dev/null and b/laiva_10aave.png differ
diff --git a/laiva_1aave.png b/laiva_1aave.png
new file mode 100644 (file)
index 0000000..66783c0
Binary files /dev/null and b/laiva_1aave.png differ
diff --git a/laiva_2aave.png b/laiva_2aave.png
new file mode 100644 (file)
index 0000000..d3a5aac
Binary files /dev/null and b/laiva_2aave.png differ
diff --git a/laiva_3aave.png b/laiva_3aave.png
new file mode 100644 (file)
index 0000000..c23c4e1
Binary files /dev/null and b/laiva_3aave.png differ
diff --git a/laiva_4aave.png b/laiva_4aave.png
new file mode 100644 (file)
index 0000000..3cb8421
Binary files /dev/null and b/laiva_4aave.png differ
diff --git a/laiva_5aave.png b/laiva_5aave.png
new file mode 100644 (file)
index 0000000..a5f769d
Binary files /dev/null and b/laiva_5aave.png differ
diff --git a/laiva_6aave.png b/laiva_6aave.png
new file mode 100644 (file)
index 0000000..71839c4
Binary files /dev/null and b/laiva_6aave.png differ
diff --git a/laiva_7aave.png b/laiva_7aave.png
new file mode 100644 (file)
index 0000000..1ac0b3e
Binary files /dev/null and b/laiva_7aave.png differ
diff --git a/laiva_8aave.png b/laiva_8aave.png
new file mode 100644 (file)
index 0000000..e2003cc
Binary files /dev/null and b/laiva_8aave.png differ
diff --git a/laiva_9aave.png b/laiva_9aave.png
new file mode 100644 (file)
index 0000000..2d771f8
Binary files /dev/null and b/laiva_9aave.png differ
index 5360a7c..d3e3103 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -4,6 +4,8 @@
 int main(int argc, char *argv[])
 {
     QApplication a(argc, argv);
+    a.setApplicationName("Ghosts Overboard");
+    a.setApplicationVersion("0.0.1");
     MainWindow w;
 #if defined(Q_WS_S60)
     w.showMaximized();
index 4b40dd6..971bc1c 100644 (file)
@@ -5,6 +5,8 @@
 #include <QDebug>
 #include <QAction>
 #include <QMenuBar>
+#include <QMessageBox>
+#include <QApplication>
 
 
 
@@ -13,6 +15,8 @@ MainWindow::MainWindow(QWidget *parent)
 {
     paused_ = false;
 
+    setWindowIcon(QIcon(":/pix/laiva_10aave.png"));
+
     pScene_ = new SeaScene ();
     pView_  = new QGraphicsView ();
 
@@ -28,12 +32,16 @@ MainWindow::MainWindow(QWidget *parent)
     menuBar()->addAction(pPauseAction);
 
     QAction * pRestartLevelAction = new QAction(tr("Restart level"),this);
-    pRestartLevelAction->setCheckable(true);
     addAction(pRestartLevelAction);
     connect(pRestartLevelAction,SIGNAL(triggered()),this,SLOT(restartLevel()));
     menuBar()->addAction(pRestartLevelAction);
 
 
+    QAction * pAboutAction = new QAction(tr("About"),this);
+    addAction(pAboutAction);
+    connect(pAboutAction,SIGNAL(triggered()),this,SLOT(about()));
+    menuBar()->addAction(pAboutAction);
+
 
     //the boundaries of the scene are set to match the size of the view window, which is not
     //available in the constructor --> timer needed
@@ -66,7 +74,7 @@ void MainWindow::initializeBoundaries()
 
     qDebug() << "Initialized boundaries" << rectangle.right() << rectangle.bottom() << pView_->width() << pView_->height();
 
-    pScene_->setupMap(5,5,5);
+    pScene_->setupMap(11,5,5);
 }
 
 void MainWindow::pause(bool paused)
@@ -95,3 +103,15 @@ void MainWindow::restartLevel()
 {
     pScene_->setupMap(5,5,5);
 }
+
+void MainWindow::about()
+{
+    QMessageBox::about(this, tr("About %1").arg(QApplication::applicationName()),
+                       tr("Version %1"
+                          "<p>Copyright 2011 Heli Hyv&auml;ttinen"
+                          "<p>License: General Public License v2"
+                          ).arg(QApplication::applicationVersion()));
+
+
+
+}
index 778ea5d..75f4779 100644 (file)
@@ -18,6 +18,7 @@ public slots:
     void initializeBoundaries();
     void pause(bool paused);
     void restartLevel();
+    void about();
 
 private:
 
index 27a9a3a..8ac3974 100644 (file)
@@ -5,5 +5,15 @@
         <file>kari.png</file>
         <file>aave.png</file>
         <file>laiva.png</file>
+        <file>laiva_1aave.png</file>
+        <file>laiva_2aave.png</file>
+        <file>laiva_3aave.png</file>
+        <file>laiva_4aave.png</file>
+        <file>laiva_5aave.png</file>
+        <file>laiva_6aave.png</file>
+        <file>laiva_7aave.png</file>
+        <file>laiva_8aave.png</file>
+        <file>laiva_9aave.png</file>
+        <file>laiva_10aave.png</file>
     </qresource>
 </RCC>
index 339624a..6787fc5 100644 (file)
@@ -117,7 +117,20 @@ void SeaScene::setupMap(int ghosts, int rocks, int octopuses)
         return;
     }
 
-    Ship * pShip = new Ship (QPixmap(":/pix/laiva.png"));
+    QList<QPixmap> shipImages;
+    shipImages.append(QPixmap(":/pix/laiva.png"));
+    shipImages.append(QPixmap(":/pix/laiva_1aave.png"));
+    shipImages.append(QPixmap(":/pix/laiva_2aave.png"));
+    shipImages.append(QPixmap(":/pix/laiva_3aave.png"));
+    shipImages.append(QPixmap(":/pix/laiva_4aave.png"));
+    shipImages.append(QPixmap(":/pix/laiva_5aave.png"));
+    shipImages.append(QPixmap(":/pix/laiva_6aave.png"));
+    shipImages.append(QPixmap(":/pix/laiva_7aave.png"));
+    shipImages.append(QPixmap(":/pix/laiva_8aave.png"));
+    shipImages.append(QPixmap(":/pix/laiva_9aave.png"));
+    shipImages.append(QPixmap(":/pix/laiva_10aave.png"));
+
+    Ship * pShip = new Ship (shipImages);
     pShip->setData(0,"ship");
     pShip->setPos(*pPosition);
     addItem(pShip);
index 4a516e7..e9541d9 100644 (file)
--- a/ship.cpp
+++ b/ship.cpp
@@ -1,9 +1,10 @@
 #include "ship.h"
 #include <QDebug>
 
-Ship::Ship(QPixmap pixmap, QGraphicsItem *parent) :
-    OrientationControlledGraphicsPixmapObject(pixmap,parent)
+Ship::Ship(QList<QPixmap> pixmapList, QGraphicsItem *parent) :
+    OrientationControlledGraphicsPixmapObject(pixmapList.at(0),parent)
 {
+    shipImages_ = pixmapList;
     ghostsAboard_ = 0;
 
 }
@@ -27,6 +28,7 @@ bool Ship::handleCollisions()
             // drop all ghosts when hitting an obstacle
             emit droppingGhosts(ghostsAboard_);
             ghostsAboard_ = 0;
+            updateShipImage();
 
             return false;
         }
@@ -34,6 +36,7 @@ bool Ship::handleCollisions()
         else if (type == "ghost")
         {
             ghostsAboard_++;
+            updateShipImage();
 
             qDebug() << ghostsAboard_ << " ghosts aboard";
 
@@ -44,3 +47,9 @@ bool Ship::handleCollisions()
 
     }
 }
+
+void Ship::updateShipImage()
+{
+    int index = qBound(0,ghostsAboard_,shipImages_.length()-1);
+    setPixmap(shipImages_.at(index));
+}
diff --git a/ship.h b/ship.h
index 62acfd1..47c4cff 100644 (file)
--- a/ship.h
+++ b/ship.h
@@ -5,15 +5,18 @@
 
 class Ship : public OrientationControlledGraphicsPixmapObject
 {
-    Q_OBJECT
+
+       Q_OBJECT
 public:
-    explicit Ship(QPixmap pixmap = 0, QGraphicsItem *parent = 0);
+    explicit Ship(QList<QPixmap> pixmapList, QGraphicsItem *parent = 0);
 
 signals:
 
     /*! Emitted when a ghost is hit */
     void  pickingGhost(QGraphicsItem* pGhost);
 
+
+
     /*! Emitted when ghosts fall over board */
     void droppingGhosts (int ghosts);
 
@@ -24,8 +27,12 @@ protected:
 protected:
     bool handleCollisions();
 
+    void updateShipImage();
+
     int ghostsAboard_;
 
+    QList<QPixmap> shipImages_;
+
 
 };