author | imm <imm> | 2002-08-30 17:50:52 (UTC) |
---|---|---|
committer | imm <imm> | 2002-08-30 17:50:52 (UTC) |
commit | f6125710c0ca99fc62ffce69973a168b6604f29d (patch) (side-by-side diff) | |
tree | 5bb82f49b81db7cb990ea2f72d9ff20222f4db15 | |
parent | 91e02e91751e9e477ac8a7b4666d58d739dd9283 (diff) | |
download | opie-f6125710c0ca99fc62ffce69973a168b6604f29d.zip opie-f6125710c0ca99fc62ffce69973a168b6604f29d.tar.gz opie-f6125710c0ca99fc62ffce69973a168b6604f29d.tar.bz2 |
license update
removed quit from menubar
-rw-r--r-- | noncore/games/buzzword/buzzword.cpp | 3 | ||||
-rw-r--r-- | noncore/games/buzzword/buzzword.h | 2 | ||||
-rw-r--r-- | noncore/games/buzzword/main.cpp | 2 |
3 files changed, 3 insertions, 4 deletions
diff --git a/noncore/games/buzzword/buzzword.cpp b/noncore/games/buzzword/buzzword.cpp index 37032df..447396b 100644 --- a/noncore/games/buzzword/buzzword.cpp +++ b/noncore/games/buzzword/buzzword.cpp @@ -1,199 +1,198 @@ /* * Copyright (C) 2002 Martin Imobersteg <imm@gmx.ch> * * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public + * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License,Life or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this program; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <qlayout.h> #include <qmessagebox.h> #include <qmainwindow.h> #include <qlabel.h> #include <qgrid.h> #include <qcolor.h> #include <qbutton.h> #include <qfile.h> #include <qtextstream.h> #include <qstringlist.h> #include <qmessagebox.h> #include <qdir.h> #include <math.h> #include <stdlib.h> #include <list> #include <string> #include <qpe/qpeapplication.h> #include "buzzword.h" // sponsered by rikkus :) bool random_compare(const QString &, const QString &) { return (rand() % 2) > 0.5; } BuzzLabel::BuzzLabel( QWidget *parent, const char *name ) : QLabel( parent, name ) { } void BuzzLabel::mousePressEvent(QMouseEvent *e) { if(e->button() == LeftButton) { emit clicked(); } } BuzzItem::BuzzItem( int row, int column, QString text, QWidget *parent, const char *name ) : QVBox( parent, name ), _row(row), _column(column) { setFrameStyle( QFrame::Panel | QFrame::Raised ); setLineWidth( 1 ); label = new BuzzLabel(this, "label"); label->setText(text); label->setAlignment( int( QLabel::AlignCenter ) ); connect( label, SIGNAL(clicked()), this, SLOT(flip()) ); } void BuzzItem::flip() { setLineWidth( 1 ); label->setBackgroundColor(label->colorGroup().highlight()); emit clicked(_row, _column); } BuzzWord::BuzzWord() : QMainWindow(0) { setCaption(tr("buZzword")); menu = menuBar(); game = new QPopupMenu; game->insertItem(tr("&New game"), this, SLOT(newGame()), Key_N ); game->insertSeparator(); game->insertItem(tr("&About"), this, SLOT(about())); - game->insertItem(tr("&Quit"), qApp, SLOT(quit()), Key_Q ); menu->insertItem( tr("&Game"), game ); gridVal = 4; grid = NULL; gameOver = false; newGame(); } void BuzzWord::drawGrid() { std::list<QString> l; QString path = QPEApplication::qpeDir()+"share/buzzword/"; QFile f( path + "buzzwords" ); if ( !f.open( IO_ReadOnly ) ) return; QTextStream t( &f ); while (!t.atEnd()) { l.push_back(t.readLine()); } f.close(); l.sort(random_compare); grid = new QGrid(gridVal, this); grid->setFixedSize(240,240); for( int c = 0 ; c < gridVal ; c++ ) { for( int r = 0 ; r < gridVal ; r++ ) { QString word = QStringList::split(" ", l.front()).join("\n"); BuzzItem* bi = new BuzzItem( c, r, word, grid ); connect( bi, SIGNAL(clicked(int, int)), this, SLOT(clicked(int,int)) ); map[c][r] = 0; l.pop_front(); } } } void BuzzWord::clicked(int row, int column) { if ( ! gameOver ) { int rowTotal = 0; int columnTotal = 0; map[column][row] = 1; for( int c = 0 ; c < gridVal ; c++ ) { for( int r = 0 ; r < gridVal ; r++ ) { if ( map[c][r] == 1 ) rowTotal++; if ( rowTotal == 4 ) { bingo(); } } rowTotal = 0; } for( int r = 0 ; r < gridVal ; r++ ) { for( int c = 0 ; c < gridVal ; c++ ) { if ( map[c][r] == 1 ) columnTotal++; if ( columnTotal == 4 ) { bingo(); } } columnTotal = 0; } if ( map[0][0] && map[1][1] && map[2][2] && map[3][3] ) bingo(); if ( map[0][3] && map[1][2] && map[2][1] && map[3][0] ) bingo(); } } void BuzzWord::bingo() { gameOver = true; QMessageBox::information( this, "BUZZWORD", tr("<h1><b>BINGO !</b></h1>")); } void BuzzWord::about() { QMessageBox::information( this, "About", "buZzword 1.0\n(c) 2002 Martin Imobersteg\n\nThis program is distributed\nunder the terms of the GPL v2." ); } void BuzzWord::newGame() { gameOver = false; delete grid; drawGrid(); setCentralWidget(grid); } diff --git a/noncore/games/buzzword/buzzword.h b/noncore/games/buzzword/buzzword.h index f72be9a..2e00563 100644 --- a/noncore/games/buzzword/buzzword.h +++ b/noncore/games/buzzword/buzzword.h @@ -1,89 +1,89 @@ /* * Copyright (C) 2002 Martin Imobersteg <imm@gmx.ch> * * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public + * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License,Life or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this program; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef BUZZWORD_H #define BUZZWORD_H #include <qmainwindow.h> #include <qmenubar.h> #include <qlabel.h> #include <qvbox.h> class QGrid; class BuzzLabel : public QLabel { Q_OBJECT public: BuzzLabel( QWidget *parent=0, const char *name=0 ); protected: virtual void mousePressEvent(QMouseEvent *e); signals: void clicked(); }; class BuzzItem : public QVBox { Q_OBJECT public: BuzzItem( int row, int column, QString text, QWidget *parent=0, const char *name=0 ); private: QLabel* label; int _row; int _column; public slots: void flip(); signals: void clicked(int row,int column); }; class BuzzWord : public QMainWindow { Q_OBJECT public: BuzzWord(); private: void drawGrid(); void bingo(); QString getWord(); QMenuBar *menu; QPopupMenu *game; QGrid *grid; int gridVal; int map[4][4]; bool gameOver; public slots: void about(); void newGame(); void clicked(int row, int column); }; #endif diff --git a/noncore/games/buzzword/main.cpp b/noncore/games/buzzword/main.cpp index 1fa011b..2d9ff81 100644 --- a/noncore/games/buzzword/main.cpp +++ b/noncore/games/buzzword/main.cpp @@ -1,35 +1,35 @@ /* * Copyright (C) 2002 Martin Imobersteg <imm@gmx.ch> * * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public + * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License,Life or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this program; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <qpe/qpeapplication.h> #include <stdlib.h> #include <time.h> #include "buzzword.h" int main(int argc, char **argv) { srand(time(0)); QPEApplication a( argc, argv ); BuzzWord *top = new BuzzWord; a.showMainWidget(top); return a.exec(); } |