summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/tictac/main.cpp6
-rw-r--r--noncore/games/tictac/tictac.cpp7
-rw-r--r--noncore/games/tictac/tictac.h7
-rw-r--r--noncore/games/tictac/tictac.pro9
4 files changed, 12 insertions, 17 deletions
diff --git a/noncore/games/tictac/main.cpp b/noncore/games/tictac/main.cpp
index 0185b8c..cfff683 100644
--- a/noncore/games/tictac/main.cpp
+++ b/noncore/games/tictac/main.cpp
@@ -1,19 +1,13 @@
/****************************************************************************
-<<<<<<< main.cpp
-** $Id$
-=======
-** $Id$
->>>>>>> 1.1.8.1.2.1
-**
** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
**
** This file is part of an example program for Qt. This example
** program may be used, distributed and modified without limitation.
**
*****************************************************************************/
#include <qpe/qpeapplication.h>
#include <opie/oapplicationfactory.h>
#include "tictac.h"
OPIE_EXPORT_APP( OApplicationFactory<TicTacToe> )
diff --git a/noncore/games/tictac/tictac.cpp b/noncore/games/tictac/tictac.cpp
index 3d727ac..4954ba4 100644
--- a/noncore/games/tictac/tictac.cpp
+++ b/noncore/games/tictac/tictac.cpp
@@ -1,34 +1,34 @@
/****************************************************************************
- ** $Id$
+ ** tictac.cpp,v 1.3.8.1 2003/08/29 06:50:40 harlekin Exp
**
** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
**
** This file is part of an example program for Qt. This example
** program may be used, distributed and modified without limitation.
**
*****************************************************************************/
#include "tictac.h"
#include <qpe/qpeapplication.h>
#include <qpainter.h>
#include <qdrawutil.h>
#include <qcombobox.h>
#include <qcheckbox.h>
#include <qlabel.h>
#include <qlayout.h>
#include <stdlib.h> // rand() function
#include <qdatetime.h> // seed for rand()
#include <qstringlist.h> //needed for proper internationalization
//***************************************************************************
//* TicTacButton member functions
//***************************************************************************
// --------------------------------------------------------------------------
// Creates a TicTacButton
//
TicTacButton::TicTacButton( QWidget *parent ) : QPushButton( parent )
{
t = Blank; // initial type
@@ -259,70 +259,71 @@ void TicTacGameBoard::computerMove()
stopHuman = i; // remember position
a[i] = TicTacButton::Blank; // restore button
continue; // computer still might win
}
a[i] = TicTacButton::Blank; // restore button
altv[altc++] = i; // remember alternative
}
if ( stopHuman >= 0 ) // must stop human from winning
a[stopHuman] = TicTacButton::Cross;
else if ( i == numButtons ) { // tried all alternatives
if ( altc > 0 ) // set random piece
a[altv[rand()%(altc--)]] = TicTacButton::Cross;
if ( altc == 0 ) { // no more blanks
st = NobodyWon;
emit finished();
}
}
*btArray = a; // update model
updateButtons(); // update buttons
delete[] altv;
}
//***************************************************************************
//* TicTacToe member functions
//***************************************************************************
// --------------------------------------------------------------------------
// Creates a game widget with a game board and two push buttons, and connects
// signals of child widgets to slots.
//
-TicTacToe::TicTacToe( int boardSize, QWidget *parent, const char *name )
- : QWidget( parent, name )
+TicTacToe::TicTacToe( QWidget *parent, const char *name, WFlags fl )
+ : QWidget( parent, name, fl )
{
QVBoxLayout * l = new QVBoxLayout( this, 6 );
// Create a message label
+ boardSize = 3;
message = new QLabel( this );
message->setFrameStyle( QFrame::WinPanel | QFrame::Sunken );
message->setAlignment( AlignCenter );
l->addWidget( message );
// Create the game board and connect the signal finished() to this
// gameOver() slot
board = new TicTacGameBoard( boardSize, this );
connect( board, SIGNAL(finished()), SLOT(gameOver()) );
l->addWidget( board );
// Create a horizontal frame line
QFrame *line = new QFrame( this );
line->setFrameStyle( QFrame::HLine | QFrame::Sunken );
l->addWidget( line );
// Create the combo box for deciding who should start, and
// connect its clicked() signals to the buttonClicked() slot
whoStarts = new QComboBox( this );
whoStarts->insertItem( tr( "Computer starts" ) );
whoStarts->insertItem( tr( "Human starts" ) );
l->addWidget( whoStarts );
// Create the push buttons and connect their clicked() signals
// to this right slots.
newGame = new QPushButton( tr( "Play!" ), this );
connect( newGame, SIGNAL(clicked()), SLOT(newGameClicked()) );
diff --git a/noncore/games/tictac/tictac.h b/noncore/games/tictac/tictac.h
index ec6c79c..bb0b485 100644
--- a/noncore/games/tictac/tictac.h
+++ b/noncore/games/tictac/tictac.h
@@ -1,34 +1,34 @@
/****************************************************************************
-** $Id$
+** tictac.h,v 1.1.10.1 2003/08/29 06:50:40 harlekin Exp
**
** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
**
** This file is part of an example program for Qt. This example
** program may be used, distributed and modified without limitation.
**
*****************************************************************************/
#ifndef TICTAC_H
#define TICTAC_H
#include <qpushbutton.h>
#include <qvector.h>
class QComboBox;
class QLabel;
// --------------------------------------------------------------------------
// TicTacButton implements a single tic-tac-toe button
//
class TicTacButton : public QPushButton
{
Q_OBJECT
public:
TicTacButton( QWidget *parent );
enum Type { Blank, Circle, Cross };
Type type() const { return t; }
void setType( Type type ) { t = type; repaint(); }
QSizePolicy sizePolicy() const
@@ -62,47 +62,50 @@ public:
~TicTacGameBoard();
enum State { Init, HumansTurn, HumanWon, ComputerWon, NobodyWon };
State state() const { return st; }
void computerStarts( bool v );
void newGame();
signals:
void finished(); // game finished
private slots:
void buttonClicked();
private:
void setState( State state ) { st = state; }
void updateButtons();
int checkBoard( TicTacArray * );
void computerMove();
State st;
int nBoard;
bool comp_starts;
TicTacArray *btArray;
TicTacButtons *buttons;
};
// --------------------------------------------------------------------------
// TicTacToe implements the complete game.
// TicTacToe is a composite widget that contains a TicTacGameBoard and
// two push buttons for starting the game and quitting.
//
class TicTacToe : public QWidget
{
Q_OBJECT
public:
- TicTacToe( int boardSize=3, QWidget *parent=0, const char *name=0 );
+ TicTacToe( QWidget *parent=0, const char *name=0, WFlags fl = 0 );
+ static QString appName() { return QString::fromLatin1("tictac"); }
+
private slots:
void newGameClicked();
void gameOver();
private:
void newState();
QComboBox *whoStarts;
QPushButton *newGame;
QPushButton *quit;
QLabel *message;
TicTacGameBoard *board;
+ int boardSize;
};
#endif // TICTAC_H
diff --git a/noncore/games/tictac/tictac.pro b/noncore/games/tictac/tictac.pro
index eb0705e..5cbdbdc 100644
--- a/noncore/games/tictac/tictac.pro
+++ b/noncore/games/tictac/tictac.pro
@@ -1,32 +1,29 @@
-TEMPLATE = app
-CONFIG += qt warn_on release
+CONFIG += qt warn_on release quick-app
HEADERS = tictac.h
SOURCES = main.cpp \
tictac.cpp
-TARGET = tictac
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
LIBS += -lqpe
-DESTDIR = $(OPIEDIR)/bin
+
+TARGET = tictac
TRANSLATIONS = ../../../i18n/de/tictac.ts \
../../../i18n/nl/tictac.ts \
../../../i18n/da/tictac.ts \
../../../i18n/xx/tictac.ts \
../../../i18n/en/tictac.ts \
../../../i18n/es/tictac.ts \
../../../i18n/fr/tictac.ts \
../../../i18n/hu/tictac.ts \
../../../i18n/ja/tictac.ts \
../../../i18n/ko/tictac.ts \
../../../i18n/no/tictac.ts \
../../../i18n/pl/tictac.ts \
../../../i18n/pt/tictac.ts \
../../../i18n/pt_BR/tictac.ts \
../../../i18n/sl/tictac.ts \
../../../i18n/zh_CN/tictac.ts \
../../../i18n/zh_TW/tictac.ts
-
-
include ( $(OPIEDIR)/include.pro )