summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/oyatzee/main.cpp2
-rw-r--r--noncore/games/oyatzee/oyatzee.cpp10
-rw-r--r--noncore/games/oyatzee/oyatzee.h1
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
5int main( int argc, char ** argv ) 5int 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
@@ -20,49 +20,48 @@
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
35OYatzee::OYatzee( QWidget *parent , const char *name, WFlags fl ) : QMainWindow( parent , name , fl ) 35OYatzee::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
55OYatzee::~OYatzee() 54OYatzee::~OYatzee()
56{ 55{
57} 56}
58 57
59void OYatzee::detectPosibilities() 58void 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 }
@@ -101,76 +100,83 @@ Scoreboard::Scoreboard( QWidget *parent, const char *name ) : QWidget( parent ,
101{ 100{
102} 101}
103 102
104void Scoreboard::paintEvent( QPaintEvent * ) 103void 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 */
115Dice::Dice( QWidget *parent , const char *name ) : QFrame( parent , name ) 114Dice::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
123void Dice::slotSelected() 122void 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
128int Dice::hasValue() 131int Dice::hasValue()
129{ 132{
130 return Value; 133 return Value;
131} 134}
132 135
133void Dice::roll() 136void 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
141void Dice::mousePressEvent( QMouseEvent* /*e*/ ) 144void Dice::mousePressEvent( QMouseEvent* /*e*/ )
142{ 145{
143 emit selected(); 146 emit selected();
144} 147}
145 148
146void Dice::paintEvent( QPaintEvent * ) 149void 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
156void Dice::paintNumber( QPainter *p ) 162void 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");
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
@@ -26,48 +26,49 @@ class OYatzee : public QMainWindow {
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
43class Dice : public QFrame 43class 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
66class DiceWidget : public QWidget 67class 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