summaryrefslogtreecommitdiff
path: root/noncore/games/oyatzee/oyatzee.cpp
authorcniehaus <cniehaus>2003-08-12 16:09:37 (UTC)
committer cniehaus <cniehaus>2003-08-12 16:09:37 (UTC)
commitd16aa943a04b1e630e913cc55789bb876cd0f42f (patch) (side-by-side diff)
tree1f52c8cf40bbfaab318f7c62f4abbca73b58dfa3 /noncore/games/oyatzee/oyatzee.cpp
parente7f79ca3acf58aef3ff150a2974f8087189621f5 (diff)
downloadopie-d16aa943a04b1e630e913cc55789bb876cd0f42f.zip
opie-d16aa943a04b1e630e913cc55789bb876cd0f42f.tar.gz
opie-d16aa943a04b1e630e913cc55789bb876cd0f42f.tar.bz2
A new Game: OYatzee. It is similar to Kniffel or Yatzee and not yet ready.
Diffstat (limited to 'noncore/games/oyatzee/oyatzee.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/oyatzee/oyatzee.cpp214
1 files changed, 214 insertions, 0 deletions
diff --git a/noncore/games/oyatzee/oyatzee.cpp b/noncore/games/oyatzee/oyatzee.cpp
new file mode 100644
index 0000000..7940b89
--- a/dev/null
+++ b/noncore/games/oyatzee/oyatzee.cpp
@@ -0,0 +1,214 @@
+#include "oyatzee.h"
+
+#include <qpe/applnk.h>
+#include <qpe/global.h>
+#include <qpe/filemanager.h>
+#include <qpe/resource.h>
+#include <qpe/config.h>
+
+#include <qapplication.h>
+#include <qmessagebox.h>
+#include <qcombobox.h>
+#include <qdatetime.h>
+#include <qfileinfo.h>
+#include <qfile.h>
+#include <qdir.h>
+#include <qiconset.h>
+#include <qlabel.h>
+#include <qlineedit.h>
+#include <qpushbutton.h>
+#include <qtextstream.h>
+#include <qtimer.h>
+#include <qpe/qpetoolbar.h>
+#include <qtoolbutton.h>
+#include <qvbox.h>
+#include <qwidgetstack.h>
+#include <qpainter.h>
+#include <qlayout.h>
+#include <qregexp.h>
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <pwd.h>
+#include <sys/types.h>
+
+OYatzee::OYatzee( QWidget *parent , const char *name, WFlags fl ) : QMainWindow( parent , name , fl )
+{
+ QWidget *thing = new QWidget( this );
+ setCentralWidget( thing );
+
+ QVBoxLayout *vbox = new QVBoxLayout( thing );
+
+ sb = new Scoreboard( thing , "sb" );
+ dw = new DiceWidget( thing , "dw" );
+
+
+ vbox->addWidget( sb );
+ vbox->addWidget( dw );
+
+ setPlayerNumber( 2 );
+ setRoundsNumber( 1 );
+
+ connect( dw->rollButton, SIGNAL( clicked() ), this , SLOT( slotRollDices() ) );
+}
+
+OYatzee::~OYatzee()
+{
+}
+
+void OYatzee::detectPosibilities()
+{
+ Dice *d = dw->diceList.first();
+
+ QValueList<int> numbers;
+
+ for ( ; d != 0 ; d = dw->diceList.next() )
+ {
+ numbers.append( d->Value );
+ }
+}
+
+void OYatzee::setPlayerNumber( const int num )
+{
+ numOfPlayers = num;
+}
+
+void OYatzee::setRoundsNumber( const int num )
+{
+ numOfRounds = num;
+}
+
+void OYatzee::slotStartGame()
+{
+}
+
+void OYatzee::slotRollDices()
+{
+ Dice *d = dw->diceList.first();
+
+ for ( ; d != 0 ; d = dw->diceList.next() )
+ {
+ d->roll();
+ }
+
+ detectPosibilities();
+}
+
+/*
+ * Scoreboard
+ */
+Scoreboard::Scoreboard( QWidget *parent, const char *name ) : QWidget( parent , name )
+{
+}
+
+void Scoreboard::paintEvent( QPaintEvent * )
+{
+ QPainter p;
+ p.begin( this );
+
+ p.drawRect( 0,0, this->width() , this->height() );
+}
+
+/*
+ * Dice
+ */
+Dice::Dice( QWidget *parent , const char *name ) : QFrame( parent , name )
+{
+ QTime t = QTime::currentTime(); // set random seed
+ srand(t.hour()*12+t.minute()*60+t.second()*60);
+
+ connect( this , SIGNAL( selected() ), this , SLOT( slotSelected() ) );
+}
+
+void Dice::slotSelected()
+{
+ qDebug( QString::number( Value ) );
+}
+
+int Dice::hasValue()
+{
+ return Value;
+}
+
+void Dice::roll()
+{
+ Value = rand()%6;
+ Value += 1;
+
+ update();
+}
+
+void Dice::mousePressEvent( QMouseEvent* /*e*/ )
+{
+ emit selected();
+}
+
+void Dice::paintEvent( QPaintEvent * )
+{
+ QPainter p;
+ p.begin( this );
+
+ p.drawRect( 0,0, this->width() , this->height() );
+
+ paintNumber( &p );
+}
+
+void Dice::paintNumber( QPainter *p )
+{
+ switch ( Value )
+ {
+ case 1:
+ p->drawText( 10,10,"1");
+ break;
+ case 2:
+ p->drawText( 10,10,"2");
+ break;
+ case 3:
+ p->drawText( 10,10,"3");
+ break;
+ case 4:
+ p->drawText( 10,10,"4");
+ break;
+ case 5:
+ p->drawText( 10,10,"5");
+ break;
+ case 6:
+ p->drawText( 10,10,"6");
+ break;
+ }
+}
+
+/*
+ * DiceWidget
+ */
+DiceWidget::DiceWidget( QWidget *parent , const char *name ) : QWidget( parent , name )
+{
+ rollButton = new QPushButton( tr( "Roll" ) , this ) ;
+
+ for ( int i = 0 ; i < 5 ; i++ )
+ {
+ //appending the 5 dices of the game
+ diceList.append( new Dice( this, "wuerfel" ) );
+ }
+
+ QHBoxLayout *hbox = new QHBoxLayout( this );
+
+ Dice *d = diceList.first();
+
+ for ( ; d != 0 ; d = diceList.next() )
+ {
+ d->roll();
+ hbox->addWidget( d );
+ }
+
+ hbox->addWidget( rollButton );
+}
+
+/*
+ * Player
+ */
+Player::Player( QString name )
+{
+ playerName = name;
+}
+