-rw-r--r-- | noncore/games/kbill/Strings.h | 42 | ||||
-rw-r--r-- | noncore/games/kbill/kbill.cpp | 28 | ||||
-rw-r--r-- | noncore/games/kbill/kbill.pro | 3 |
3 files changed, 23 insertions, 50 deletions
diff --git a/noncore/games/kbill/Strings.h b/noncore/games/kbill/Strings.h index 45509d1..ffd830e 100644 --- a/noncore/games/kbill/Strings.h +++ b/noncore/games/kbill/Strings.h @@ -1,58 +1,16 @@ #ifndef STRINGS_H #define STRINGS_H -#define storystr \ -" The Story:\n\ -\n\ -Yet again, the fate of the world rests\n\ -in your hands! An evil computer hacker,\n\ -known only by his handle 'Bill', has\n\ -created the ultimate computer virus. A\n\ -virus so powerful that it has the power\n\ -to transmute an ordinary computer into\n\ -a toaster oven. (oooh!) 'Bill' has\n\ -cloned himself into a billion-jillion\n\ -micro-Bills. Their sole purpose is to\n\ -deliver the nefarious virus, which has\n\ -been cleverly diguised as a popular\n\ -operating system.\n\ -\n\ -As System Administrator/Exterminator,\n\ -your job is to keep Bill from succeeding\n\ -at his task." - -#define rulesstr \ -" The Rules:\n\ -\n\ -kBill has been painstakingly designed and\n\ -researched in order to make it as easy to use\n\ -for the whole family as it is for little Sally.\n\ -Years - nay - days of beta testing and \n\ -consulting with the cheapest of human interface\n\ -designers have resulted in a game that is easy\n\ -to use, yet nothing at all like a Macintosh.\n\ -\n\ -I. Whack the Bills (click)\n\ -II. Restart the computer (click)\n\ -III. Pick up stolen OSes & return(drag)\n\ - them to their respective computers\n\ -IV. Drag the bucket to extinguish sparks\n\ -V. Scoring is based on total uptime,\n\ - with bonuses for killing Bills.\n\ -\n\ -As for the rest, you can probably figure\n\ -it out. We did, so it can't be too hard." - #define endgamestr \ "Module kBill has caused a\n\ segmentation fault at memory\n\ address 097E:F1A0. Core dumped.\n\ We apologize for the inconvenience." #define warpstr "Warp to level?" #define quitstr "Quit Game?" #define newgamestr "New Game?" #define pausestr "Game paused.\n Press OK to continue." #define enternamestr "You earned a high score.\nEnter your name:" #endif diff --git a/noncore/games/kbill/kbill.cpp b/noncore/games/kbill/kbill.cpp index 568df95..9fcfd5d 100644 --- a/noncore/games/kbill/kbill.cpp +++ b/noncore/games/kbill/kbill.cpp @@ -1,66 +1,70 @@ /*************************************************************************** kbill.cpp - description ------------------- begin : Thu Dec 30 16:55:55 CET 1999 copyright : (C) 1999 by Jurrien Loonstra email : j.h.loonstra@st.hanze.nl ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #include <qmessagebox.h> +#include <qmultilinedit.h> #include <qmenubar.h> +#include <qtextbrowser.h> +#include <qfont.h> +#include <qwidget.h> #include "kbill.h" #include "inputbox.h" - +#include "helpdialog.h" #include "objects.h" #include "Strings.h" KBill::KBill() : QMainWindow() { setCaption("kBill"); file = new QPopupMenu(); file->insertItem(("New game"), this, SLOT(NewGame())); pauseid = file->insertItem(("Pause game"), this, SLOT(Pause())); //these are dissabled until I fix them //file->insertItem(("Warp to level..."), this, SLOT(WarpTo())); //file->insertItem(("View high scores"), this, SLOT(ViewHighScores())); - file->insertItem(("Quit game"), this, SLOT(Quit())); + help = new QPopupMenu(); help->insertItem(("Story of kBill"), this, SLOT(Story())); help->insertItem(("Rules"), this, SLOT(Rules())); menu = new QMenuBar(this); menu->insertItem(("&File"), file); menu->insertSeparator(); menu->insertItem(("&Help"), help); field = new Field(this); //setView(field); //setMainWidget(field); //setMenu(menu); } KBill::~KBill() { } Field* KBill::getField() { return field; } // ----------------------------------------------------------------------- void KBill::Quit() { field->stopTimer(); qApp->quit(); } @@ -77,42 +81,52 @@ void KBill::NewGame() { game.start(1); // else field->startTimer(); } void KBill::Pause() { field->stopTimer(); QMessageBox::message(("Pause Game"), (pausestr), 0); field->startTimer(); } void KBill::WarpTo() { /* field->stopTimer(); InputBox b(this, 0, "Warp To Level", warpstr); bool status = b.exec() == 1; field->startTimer(); if (status) { bool ok; int level = b.getText().toUInt(&ok); if (ok) { field->startTimer(); game.warp_to_level(level); return; } }*/ } void KBill::ViewHighScores() { //ui.popup_dialog(Game::HIGHSCORE); } void KBill::Story() { - field->stopTimer(); - QMessageBox::message( ("Story"), (storystr), 0); - field->startTimer(); + field->stopTimer(); + HelpDialog *stryDialog = new HelpDialog(this,"helpdialog",1); + QString stryString = "<b>The Story</b><p>Yet again, the fate of the world rests in your hands! An evil computer hacker, known only by his handle 'Bill', has created the ultimate computer virus. A virus so powerful that it has the power to transmute an ordinary computer into a toaster oven. (oooh!) 'Bill' has cloned himself into a billion-jillion micro-Bills. Their sole purpose is to deliver the nefarious virus, which has been cleverly diguised as a popular operating system. As System Administrator and Exterminator, your job is to keep Bill from succeeding at his task."; + stryDialog->setCaption("The story of KBill"); + stryDialog->TextBrowser1->setText(stryString); + stryDialog->resize(200,200); + stryDialog->show(); + field->startTimer(); } void KBill::Rules() { field->stopTimer(); - QMessageBox::message(("Rules"), (rulesstr), 0); - field->startTimer(); + HelpDialog *rulesDialog = new HelpDialog(this,"helpdialog",1); + rulesDialog->setCaption("The rules of KBill"); + QString rulesStr = "<b>The Rules</b><p>kBill has been painstakingly designed and researched in order to make it as easy to use for the whole family as it is for little Sally. Years - nay - days of beta testing and consulting with the cheapest of human interface designers have resulted in a game that is easy to use, yet nothing at all like a Macintosh.<p><UL><LI>Whack the Bills (click)</LI><LI>Restart the computer (click)</LI><LI>Pick up stolen OSes & return (drag) them to their respective computers</LI><LI>Drag the bucket to extinguish sparks</LI><LI>Scoring is based on total uptime, with bonuses for killing Bills.</LI></UL><P>As for the rest, you can probably work it out for yourself. We did, so it can't be too hard"; + rulesDialog->TextBrowser1->setText(rulesStr); + rulesDialog->resize(200,200); + rulesDialog->show(); + field->startTimer(); } diff --git a/noncore/games/kbill/kbill.pro b/noncore/games/kbill/kbill.pro index a0eddf2..22aa98c 100644 --- a/noncore/games/kbill/kbill.pro +++ b/noncore/games/kbill/kbill.pro @@ -1,13 +1,14 @@ TEMPLATE = app CONFIG = qt warn_on release HEADERS = kbill.h field.h Bucket.h Cable.h Computer.h Game.h Horde.h \ Library.h MCursor.h Monster.h Network.h Picture.h Spark.h Strings.h \ UI.h objects.h inputbox.h SOURCES = field.cpp Bucket.cc Cable.cc Computer.cc Game.cc Horde.cc \ Library.cc MCursor.cc Monster.cc Network.cc Picture.cc \ Spark.cc UI.cpp inputbox.cpp kbill.cpp +INTERFACES = helpdialog.ui TARGET = kbill INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe -DESTDIR = $(OPIEDIR)/bin
\ No newline at end of file +DESTDIR = $(OPIEDIR)/bin |