-rw-r--r-- | noncore/games/oyatzee/main.cpp | 2 | ||||
-rw-r--r-- | noncore/games/oyatzee/oyatzee.cpp | 10 | ||||
-rw-r--r-- | noncore/games/oyatzee/oyatzee.h | 1 |
3 files changed, 10 insertions, 3 deletions
diff --git a/noncore/games/oyatzee/main.cpp b/noncore/games/oyatzee/main.cpp index 6e5002c..1fd51f6 100644 --- a/noncore/games/oyatzee/main.cpp +++ b/noncore/games/oyatzee/main.cpp | |||
@@ -1,13 +1,13 @@ | |||
1 | #include "wordgame.h" | 1 | #include "oyatzee.h" |
2 | 2 | ||
3 | #include <qpe/qpeapplication.h> | 3 | #include <qpe/qpeapplication.h> |
4 | 4 | ||
5 | int main( int argc, char ** argv ) | 5 | int main( int argc, char ** argv ) |
6 | { | 6 | { |
7 | QPEApplication a( argc, argv ); | 7 | QPEApplication a( argc, argv ); |
8 | 8 | ||
9 | OYatzee mw; | 9 | OYatzee mw; |
10 | a.showMainWidget(&mw); | 10 | a.showMainWidget(&mw); |
11 | 11 | ||
12 | return a.exec(); | 12 | return a.exec(); |
13 | } | 13 | } |
diff --git a/noncore/games/oyatzee/oyatzee.cpp b/noncore/games/oyatzee/oyatzee.cpp index 7940b89..85d9616 100644 --- a/noncore/games/oyatzee/oyatzee.cpp +++ b/noncore/games/oyatzee/oyatzee.cpp | |||
@@ -1,200 +1,206 @@ | |||
1 | #include "oyatzee.h" | 1 | #include "oyatzee.h" |
2 | 2 | ||
3 | #include <qpe/applnk.h> | 3 | #include <qpe/applnk.h> |
4 | #include <qpe/global.h> | 4 | #include <qpe/global.h> |
5 | #include <qpe/filemanager.h> | 5 | #include <qpe/filemanager.h> |
6 | #include <qpe/resource.h> | 6 | #include <qpe/resource.h> |
7 | #include <qpe/config.h> | 7 | #include <qpe/config.h> |
8 | 8 | ||
9 | #include <qapplication.h> | 9 | #include <qapplication.h> |
10 | #include <qmessagebox.h> | 10 | #include <qmessagebox.h> |
11 | #include <qcombobox.h> | 11 | #include <qcombobox.h> |
12 | #include <qdatetime.h> | 12 | #include <qdatetime.h> |
13 | #include <qfileinfo.h> | 13 | #include <qfileinfo.h> |
14 | #include <qfile.h> | 14 | #include <qfile.h> |
15 | #include <qdir.h> | 15 | #include <qdir.h> |
16 | #include <qiconset.h> | 16 | #include <qiconset.h> |
17 | #include <qlabel.h> | 17 | #include <qlabel.h> |
18 | #include <qlineedit.h> | 18 | #include <qlineedit.h> |
19 | #include <qpushbutton.h> | 19 | #include <qpushbutton.h> |
20 | #include <qtextstream.h> | 20 | #include <qtextstream.h> |
21 | #include <qtimer.h> | 21 | #include <qtimer.h> |
22 | #include <qpe/qpetoolbar.h> | 22 | #include <qpe/qpetoolbar.h> |
23 | #include <qtoolbutton.h> | 23 | #include <qtoolbutton.h> |
24 | #include <qvbox.h> | 24 | #include <qvbox.h> |
25 | #include <qwidgetstack.h> | 25 | #include <qwidgetstack.h> |
26 | #include <qpainter.h> | 26 | #include <qpainter.h> |
27 | #include <qlayout.h> | 27 | #include <qlayout.h> |
28 | #include <qregexp.h> | 28 | #include <qregexp.h> |
29 | 29 | ||
30 | #include <stdlib.h> | 30 | #include <stdlib.h> |
31 | #include <unistd.h> | 31 | #include <unistd.h> |
32 | #include <pwd.h> | 32 | #include <pwd.h> |
33 | #include <sys/types.h> | 33 | #include <sys/types.h> |
34 | 34 | ||
35 | OYatzee::OYatzee( QWidget *parent , const char *name, WFlags fl ) : QMainWindow( parent , name , fl ) | 35 | OYatzee::OYatzee( QWidget *parent , const char *name, WFlags fl ) : QMainWindow( parent , name , fl ) |
36 | { | 36 | { |
37 | QWidget *thing = new QWidget( this ); | 37 | QWidget *thing = new QWidget( this ); |
38 | setCentralWidget( thing ); | 38 | setCentralWidget( thing ); |
39 | 39 | ||
40 | QVBoxLayout *vbox = new QVBoxLayout( thing ); | 40 | QVBoxLayout *vbox = new QVBoxLayout( thing ); |
41 | 41 | ||
42 | sb = new Scoreboard( thing , "sb" ); | 42 | sb = new Scoreboard( thing , "sb" ); |
43 | dw = new DiceWidget( thing , "dw" ); | 43 | dw = new DiceWidget( thing , "dw" ); |
44 | |||
45 | 44 | ||
46 | vbox->addWidget( sb ); | 45 | vbox->addWidget( sb ); |
47 | vbox->addWidget( dw ); | 46 | vbox->addWidget( dw ); |
48 | 47 | ||
49 | setPlayerNumber( 2 ); | 48 | setPlayerNumber( 2 ); |
50 | setRoundsNumber( 1 ); | 49 | setRoundsNumber( 1 ); |
51 | 50 | ||
52 | connect( dw->rollButton, SIGNAL( clicked() ), this , SLOT( slotRollDices() ) ); | 51 | connect( dw->rollButton, SIGNAL( clicked() ), this , SLOT( slotRollDices() ) ); |
53 | } | 52 | } |
54 | 53 | ||
55 | OYatzee::~OYatzee() | 54 | OYatzee::~OYatzee() |
56 | { | 55 | { |
57 | } | 56 | } |
58 | 57 | ||
59 | void OYatzee::detectPosibilities() | 58 | void OYatzee::detectPosibilities() |
60 | { | 59 | { |
61 | Dice *d = dw->diceList.first(); | 60 | Dice *d = dw->diceList.first(); |
62 | 61 | ||
63 | QValueList<int> numbers; | 62 | QValueList<int> numbers; |
64 | 63 | ||
65 | for ( ; d != 0 ; d = dw->diceList.next() ) | 64 | for ( ; d != 0 ; d = dw->diceList.next() ) |
66 | { | 65 | { |
67 | numbers.append( d->Value ); | 66 | numbers.append( d->Value ); |
68 | } | 67 | } |
69 | } | 68 | } |
70 | 69 | ||
71 | void OYatzee::setPlayerNumber( const int num ) | 70 | void OYatzee::setPlayerNumber( const int num ) |
72 | { | 71 | { |
73 | numOfPlayers = num; | 72 | numOfPlayers = num; |
74 | } | 73 | } |
75 | 74 | ||
76 | void OYatzee::setRoundsNumber( const int num ) | 75 | void OYatzee::setRoundsNumber( const int num ) |
77 | { | 76 | { |
78 | numOfRounds = num; | 77 | numOfRounds = num; |
79 | } | 78 | } |
80 | 79 | ||
81 | void OYatzee::slotStartGame() | 80 | void OYatzee::slotStartGame() |
82 | { | 81 | { |
83 | } | 82 | } |
84 | 83 | ||
85 | void OYatzee::slotRollDices() | 84 | void OYatzee::slotRollDices() |
86 | { | 85 | { |
87 | Dice *d = dw->diceList.first(); | 86 | Dice *d = dw->diceList.first(); |
88 | 87 | ||
89 | for ( ; d != 0 ; d = dw->diceList.next() ) | 88 | for ( ; d != 0 ; d = dw->diceList.next() ) |
90 | { | 89 | { |
91 | d->roll(); | 90 | d->roll(); |
92 | } | 91 | } |
93 | 92 | ||
94 | detectPosibilities(); | 93 | detectPosibilities(); |
95 | } | 94 | } |
96 | 95 | ||
97 | /* | 96 | /* |
98 | * Scoreboard | 97 | * Scoreboard |
99 | */ | 98 | */ |
100 | Scoreboard::Scoreboard( QWidget *parent, const char *name ) : QWidget( parent , name ) | 99 | Scoreboard::Scoreboard( QWidget *parent, const char *name ) : QWidget( parent , name ) |
101 | { | 100 | { |
102 | } | 101 | } |
103 | 102 | ||
104 | void Scoreboard::paintEvent( QPaintEvent * ) | 103 | void Scoreboard::paintEvent( QPaintEvent * ) |
105 | { | 104 | { |
106 | QPainter p; | 105 | QPainter p; |
107 | p.begin( this ); | 106 | p.begin( this ); |
108 | 107 | ||
109 | p.drawRect( 0,0, this->width() , this->height() ); | 108 | p.drawRect( 0,0, this->width() , this->height() ); |
110 | } | 109 | } |
111 | 110 | ||
112 | /* | 111 | /* |
113 | * Dice | 112 | * Dice |
114 | */ | 113 | */ |
115 | Dice::Dice( QWidget *parent , const char *name ) : QFrame( parent , name ) | 114 | Dice::Dice( QWidget *parent , const char *name ) : QFrame( parent , name ) |
116 | { | 115 | { |
117 | QTime t = QTime::currentTime(); // set random seed | 116 | QTime t = QTime::currentTime(); // set random seed |
118 | srand(t.hour()*12+t.minute()*60+t.second()*60); | 117 | srand(t.hour()*12+t.minute()*60+t.second()*60); |
119 | 118 | ||
120 | connect( this , SIGNAL( selected() ), this , SLOT( slotSelected() ) ); | 119 | connect( this , SIGNAL( selected() ), this , SLOT( slotSelected() ) ); |
121 | } | 120 | } |
122 | 121 | ||
123 | void Dice::slotSelected() | 122 | void Dice::slotSelected() |
124 | { | 123 | { |
125 | qDebug( QString::number( Value ) ); | 124 | if ( isSelected ) |
125 | isSelected = false; | ||
126 | else isSelected = true; | ||
127 | |||
128 | update(); | ||
126 | } | 129 | } |
127 | 130 | ||
128 | int Dice::hasValue() | 131 | int Dice::hasValue() |
129 | { | 132 | { |
130 | return Value; | 133 | return Value; |
131 | } | 134 | } |
132 | 135 | ||
133 | void Dice::roll() | 136 | void Dice::roll() |
134 | { | 137 | { |
135 | Value = rand()%6; | 138 | Value = rand()%6; |
136 | Value += 1; | 139 | Value += 1; |
137 | 140 | ||
138 | update(); | 141 | update(); |
139 | } | 142 | } |
140 | 143 | ||
141 | void Dice::mousePressEvent( QMouseEvent* /*e*/ ) | 144 | void Dice::mousePressEvent( QMouseEvent* /*e*/ ) |
142 | { | 145 | { |
143 | emit selected(); | 146 | emit selected(); |
144 | } | 147 | } |
145 | 148 | ||
146 | void Dice::paintEvent( QPaintEvent * ) | 149 | void Dice::paintEvent( QPaintEvent * ) |
147 | { | 150 | { |
148 | QPainter p; | 151 | QPainter p; |
149 | p.begin( this ); | 152 | p.begin( this ); |
150 | 153 | ||
151 | p.drawRect( 0,0, this->width() , this->height() ); | 154 | p.drawRect( 0,0, this->width() , this->height() ); |
152 | 155 | ||
156 | if ( isSelected ) | ||
157 | p.drawRect( 20,20, 10,10 ); | ||
158 | |||
153 | paintNumber( &p ); | 159 | paintNumber( &p ); |
154 | } | 160 | } |
155 | 161 | ||
156 | void Dice::paintNumber( QPainter *p ) | 162 | void Dice::paintNumber( QPainter *p ) |
157 | { | 163 | { |
158 | switch ( Value ) | 164 | switch ( Value ) |
159 | { | 165 | { |
160 | case 1: | 166 | case 1: |
161 | p->drawText( 10,10,"1"); | 167 | p->drawText( 10,10,"1"); |
162 | break; | 168 | break; |
163 | case 2: | 169 | case 2: |
164 | p->drawText( 10,10,"2"); | 170 | p->drawText( 10,10,"2"); |
165 | break; | 171 | break; |
166 | case 3: | 172 | case 3: |
167 | p->drawText( 10,10,"3"); | 173 | p->drawText( 10,10,"3"); |
168 | break; | 174 | break; |
169 | case 4: | 175 | case 4: |
170 | p->drawText( 10,10,"4"); | 176 | p->drawText( 10,10,"4"); |
171 | break; | 177 | break; |
172 | case 5: | 178 | case 5: |
173 | p->drawText( 10,10,"5"); | 179 | p->drawText( 10,10,"5"); |
174 | break; | 180 | break; |
175 | case 6: | 181 | case 6: |
176 | p->drawText( 10,10,"6"); | 182 | p->drawText( 10,10,"6"); |
177 | break; | 183 | break; |
178 | } | 184 | } |
179 | } | 185 | } |
180 | 186 | ||
181 | /* | 187 | /* |
182 | * DiceWidget | 188 | * DiceWidget |
183 | */ | 189 | */ |
184 | DiceWidget::DiceWidget( QWidget *parent , const char *name ) : QWidget( parent , name ) | 190 | DiceWidget::DiceWidget( QWidget *parent , const char *name ) : QWidget( parent , name ) |
185 | { | 191 | { |
186 | rollButton = new QPushButton( tr( "Roll" ) , this ) ; | 192 | rollButton = new QPushButton( tr( "Roll" ) , this ) ; |
187 | 193 | ||
188 | for ( int i = 0 ; i < 5 ; i++ ) | 194 | for ( int i = 0 ; i < 5 ; i++ ) |
189 | { | 195 | { |
190 | //appending the 5 dices of the game | 196 | //appending the 5 dices of the game |
191 | diceList.append( new Dice( this, "wuerfel" ) ); | 197 | diceList.append( new Dice( this, "wuerfel" ) ); |
192 | } | 198 | } |
193 | 199 | ||
194 | QHBoxLayout *hbox = new QHBoxLayout( this ); | 200 | QHBoxLayout *hbox = new QHBoxLayout( this ); |
195 | 201 | ||
196 | Dice *d = diceList.first(); | 202 | Dice *d = diceList.first(); |
197 | 203 | ||
198 | for ( ; d != 0 ; d = diceList.next() ) | 204 | for ( ; d != 0 ; d = diceList.next() ) |
199 | { | 205 | { |
200 | d->roll(); | 206 | d->roll(); |
diff --git a/noncore/games/oyatzee/oyatzee.h b/noncore/games/oyatzee/oyatzee.h index 7be9407..01ab36d 100644 --- a/noncore/games/oyatzee/oyatzee.h +++ b/noncore/games/oyatzee/oyatzee.h | |||
@@ -2,95 +2,96 @@ | |||
2 | #define WORDGAME_H | 2 | #define WORDGAME_H |
3 | 3 | ||
4 | #include <qmainwindow.h> | 4 | #include <qmainwindow.h> |
5 | #include <qlabel.h> | 5 | #include <qlabel.h> |
6 | #include <qlist.h> | 6 | #include <qlist.h> |
7 | 7 | ||
8 | #include <stdlib.h> // rand() function | 8 | #include <stdlib.h> // rand() function |
9 | #include <qdatetime.h> // seed for rand() | 9 | #include <qdatetime.h> // seed for rand() |
10 | 10 | ||
11 | class Dice; | 11 | class Dice; |
12 | class Game; | 12 | class Game; |
13 | class Scoreboard; | 13 | class Scoreboard; |
14 | class DiceWidget; | 14 | class DiceWidget; |
15 | 15 | ||
16 | typedef QList<Dice> dicesList; | 16 | typedef QList<Dice> dicesList; |
17 | 17 | ||
18 | class OYatzee : public QMainWindow { | 18 | class OYatzee : public QMainWindow { |
19 | Q_OBJECT | 19 | Q_OBJECT |
20 | public: | 20 | public: |
21 | OYatzee( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); | 21 | OYatzee( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); |
22 | ~OYatzee(); | 22 | ~OYatzee(); |
23 | 23 | ||
24 | Game *g; | 24 | Game *g; |
25 | DiceWidget *dw; | 25 | DiceWidget *dw; |
26 | Scoreboard *sb; | 26 | Scoreboard *sb; |
27 | 27 | ||
28 | 28 | ||
29 | void setPlayerNumber( const int num ); | 29 | void setPlayerNumber( const int num ); |
30 | void setRoundsNumber( const int num ); | 30 | void setRoundsNumber( const int num ); |
31 | 31 | ||
32 | public slots: | 32 | public slots: |
33 | void slotStartGame(); | 33 | void slotStartGame(); |
34 | void slotRollDices(); | 34 | void slotRollDices(); |
35 | 35 | ||
36 | private: | 36 | private: |
37 | int numOfPlayers; | 37 | int numOfPlayers; |
38 | int numOfRounds; | 38 | int numOfRounds; |
39 | 39 | ||
40 | void detectPosibilities(); | 40 | void detectPosibilities(); |
41 | }; | 41 | }; |
42 | 42 | ||
43 | class Dice : public QFrame | 43 | class Dice : public QFrame |
44 | { | 44 | { |
45 | Q_OBJECT | 45 | Q_OBJECT |
46 | public: | 46 | public: |
47 | Dice( QWidget* parent = 0, const char* name = 0 ); | 47 | Dice( QWidget* parent = 0, const char* name = 0 ); |
48 | 48 | ||
49 | int Value; | 49 | int Value; |
50 | bool isSelected; | ||
50 | 51 | ||
51 | int hasValue(); | 52 | int hasValue(); |
52 | void roll(); | 53 | void roll(); |
53 | virtual void mousePressEvent( QMouseEvent* ); | 54 | virtual void mousePressEvent( QMouseEvent* ); |
54 | 55 | ||
55 | private slots: | 56 | private slots: |
56 | void slotSelected(); | 57 | void slotSelected(); |
57 | 58 | ||
58 | signals: | 59 | signals: |
59 | void selected(); | 60 | void selected(); |
60 | 61 | ||
61 | protected: | 62 | protected: |
62 | void paintEvent( QPaintEvent *e ); | 63 | void paintEvent( QPaintEvent *e ); |
63 | void paintNumber( QPainter *p ); | 64 | void paintNumber( QPainter *p ); |
64 | }; | 65 | }; |
65 | 66 | ||
66 | class DiceWidget : public QWidget | 67 | class DiceWidget : public QWidget |
67 | { | 68 | { |
68 | Q_OBJECT | 69 | Q_OBJECT |
69 | public: | 70 | public: |
70 | DiceWidget( QWidget *parent = 0, const char* name = 0 ); | 71 | DiceWidget( QWidget *parent = 0, const char* name = 0 ); |
71 | 72 | ||
72 | QPushButton *rollButton; | 73 | QPushButton *rollButton; |
73 | 74 | ||
74 | dicesList diceList; | 75 | dicesList diceList; |
75 | }; | 76 | }; |
76 | 77 | ||
77 | class Scoreboard : public QWidget | 78 | class Scoreboard : public QWidget |
78 | { | 79 | { |
79 | Q_OBJECT | 80 | Q_OBJECT |
80 | public: | 81 | public: |
81 | Scoreboard( QWidget *parent = 0, const char* name = 0 ); | 82 | Scoreboard( QWidget *parent = 0, const char* name = 0 ); |
82 | 83 | ||
83 | protected: | 84 | protected: |
84 | void paintEvent( QPaintEvent *e ); | 85 | void paintEvent( QPaintEvent *e ); |
85 | }; | 86 | }; |
86 | 87 | ||
87 | class Player | 88 | class Player |
88 | { | 89 | { |
89 | public: | 90 | public: |
90 | Player( QString name ); | 91 | Player( QString name ); |
91 | 92 | ||
92 | QString playerName; | 93 | QString playerName; |
93 | int totalPoints; | 94 | int totalPoints; |
94 | }; | 95 | }; |
95 | 96 | ||
96 | #endif // WORDGAME_H | 97 | #endif // WORDGAME_H |