summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/kbill/Strings.h42
-rw-r--r--noncore/games/kbill/kbill.cpp28
-rw-r--r--noncore/games/kbill/kbill.pro3
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,49 +1,7 @@
1#ifndef STRINGS_H 1#ifndef STRINGS_H
2#define STRINGS_H 2#define STRINGS_H
3 3
4#define storystr \
5" The Story:\n\
6\n\
7Yet again, the fate of the world rests\n\
8in your hands! An evil computer hacker,\n\
9known only by his handle 'Bill', has\n\
10created the ultimate computer virus. A\n\
11virus so powerful that it has the power\n\
12to transmute an ordinary computer into\n\
13a toaster oven. (oooh!) 'Bill' has\n\
14cloned himself into a billion-jillion\n\
15micro-Bills. Their sole purpose is to\n\
16deliver the nefarious virus, which has\n\
17been cleverly diguised as a popular\n\
18operating system.\n\
19\n\
20As System Administrator/Exterminator,\n\
21your job is to keep Bill from succeeding\n\
22at his task."
23
24#define rulesstr \
25" The Rules:\n\
26\n\
27kBill has been painstakingly designed and\n\
28researched in order to make it as easy to use\n\
29for the whole family as it is for little Sally.\n\
30Years - nay - days of beta testing and \n\
31consulting with the cheapest of human interface\n\
32designers have resulted in a game that is easy\n\
33to use, yet nothing at all like a Macintosh.\n\
34\n\
35I. Whack the Bills (click)\n\
36II. Restart the computer (click)\n\
37III. Pick up stolen OSes & return(drag)\n\
38 them to their respective computers\n\
39IV. Drag the bucket to extinguish sparks\n\
40V. Scoring is based on total uptime,\n\
41 with bonuses for killing Bills.\n\
42\n\
43As for the rest, you can probably figure\n\
44it out. We did, so it can't be too hard."
45
46#define endgamestr \ 4#define endgamestr \
47"Module kBill has caused a\n\ 5"Module kBill has caused a\n\
48segmentation fault at memory\n\ 6segmentation fault at memory\n\
49address 097E:F1A0. Core dumped.\n\ 7address 097E:F1A0. Core dumped.\n\
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
@@ -15,12 +15,16 @@
15 * * 15 * *
16 ***************************************************************************/ 16 ***************************************************************************/
17 17
18#include <qmessagebox.h> 18#include <qmessagebox.h>
19#include <qmultilinedit.h>
19#include <qmenubar.h> 20#include <qmenubar.h>
21#include <qtextbrowser.h>
22#include <qfont.h>
23#include <qwidget.h>
20#include "kbill.h" 24#include "kbill.h"
21#include "inputbox.h" 25#include "inputbox.h"
22 26#include "helpdialog.h"
23#include "objects.h" 27#include "objects.h"
24#include "Strings.h" 28#include "Strings.h"
25 29
26KBill::KBill() : QMainWindow() { 30KBill::KBill() : QMainWindow() {
@@ -30,9 +34,9 @@ KBill::KBill() : QMainWindow() {
30 pauseid = file->insertItem(("Pause game"), this, SLOT(Pause())); 34 pauseid = file->insertItem(("Pause game"), this, SLOT(Pause()));
31 //these are dissabled until I fix them 35 //these are dissabled until I fix them
32 //file->insertItem(("Warp to level..."), this, SLOT(WarpTo())); 36 //file->insertItem(("Warp to level..."), this, SLOT(WarpTo()));
33 //file->insertItem(("View high scores"), this, SLOT(ViewHighScores())); 37 //file->insertItem(("View high scores"), this, SLOT(ViewHighScores()));
34 file->insertItem(("Quit game"), this, SLOT(Quit())); 38
35 39
36 help = new QPopupMenu(); 40 help = new QPopupMenu();
37 help->insertItem(("Story of kBill"), this, SLOT(Story())); 41 help->insertItem(("Story of kBill"), this, SLOT(Story()));
38 help->insertItem(("Rules"), this, SLOT(Rules())); 42 help->insertItem(("Rules"), this, SLOT(Rules()));
@@ -105,14 +109,24 @@ void KBill::ViewHighScores() {
105 //ui.popup_dialog(Game::HIGHSCORE); 109 //ui.popup_dialog(Game::HIGHSCORE);
106} 110}
107 111
108void KBill::Story() { 112void KBill::Story() {
109 field->stopTimer(); 113 field->stopTimer();
110 QMessageBox::message( ("Story"), (storystr), 0); 114 HelpDialog *stryDialog = new HelpDialog(this,"helpdialog",1);
111 field->startTimer(); 115 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.";
116 stryDialog->setCaption("The story of KBill");
117 stryDialog->TextBrowser1->setText(stryString);
118 stryDialog->resize(200,200);
119 stryDialog->show();
120 field->startTimer();
112} 121}
113 122
114void KBill::Rules() { 123void KBill::Rules() {
115 field->stopTimer(); 124 field->stopTimer();
116 QMessageBox::message(("Rules"), (rulesstr), 0); 125 HelpDialog *rulesDialog = new HelpDialog(this,"helpdialog",1);
117 field->startTimer(); 126 rulesDialog->setCaption("The rules of KBill");
127 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";
128 rulesDialog->TextBrowser1->setText(rulesStr);
129 rulesDialog->resize(200,200);
130 rulesDialog->show();
131 field->startTimer();
118} 132}
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
@@ -5,9 +5,10 @@ Library.h MCursor.h Monster.h Network.h Picture.h Spark.h Strings.h \
5UI.h objects.h inputbox.h 5UI.h objects.h inputbox.h
6 SOURCES = field.cpp Bucket.cc Cable.cc Computer.cc Game.cc Horde.cc \ 6 SOURCES = field.cpp Bucket.cc Cable.cc Computer.cc Game.cc Horde.cc \
7Library.cc MCursor.cc Monster.cc Network.cc Picture.cc \ 7Library.cc MCursor.cc Monster.cc Network.cc Picture.cc \
8Spark.cc UI.cpp inputbox.cpp kbill.cpp 8Spark.cc UI.cpp inputbox.cpp kbill.cpp
9INTERFACES = helpdialog.ui
9 TARGET = kbill 10 TARGET = kbill
10 INCLUDEPATH+= $(OPIEDIR)/include 11 INCLUDEPATH+= $(OPIEDIR)/include
11 DEPENDPATH+= $(OPIEDIR)/include 12 DEPENDPATH+= $(OPIEDIR)/include
12 LIBS += -lqpe 13 LIBS += -lqpe
13 DESTDIR = $(OPIEDIR)/bin \ No newline at end of file 14 DESTDIR = $(OPIEDIR)/bin