#include "keybd.h"#include "ui.h"#include "players.h"#include "map.h"#include "rules.h"#include "ufwoom.h"#include <assert.h>#include <stdio.h>#include <conio.h>Go to the source code of this file.
Functions | |
| Video | Screen (VGAHi) |
| MSMouse | Mouse (Graphics) |
| void | PlayerSetup (void) |
| void | HosePlayers (void) |
| main () | |
Variables | |
| Keybd | Keys |
| Player * | thePlayers [MAXPLAYERS] |
| int | NumPlayers |
| Display | theDisplay |
| Map | theMap |
| UserInterface | UI |
| Rules | theRules |
|
|
Definition at line 62 of file control.c. References NumPlayers.
00063 {
00064 for (int i=0; i<NumPlayers; i++)
00065 delete thePlayers [i];
00066 }
|
|
|
Definition at line 70 of file control.c. References UserInterface::AnnounceWin(), Rules::CurrentTurn(), Rules::GameOver(), UserInterface::InitScreen(), UserInterface::Intro(), Map::load_map(), Rules::NewTurn(), NumPlayers, PlayerSetup(), MSMouse::SetupOK(), UserInterface::ShowAllPlayers(), and Rules::SpyCaught().
00071 {
00072 assert (Mouse.SetupOK ());
00073 assert (theMap.load_map ("NODELIST")); // Get filename from cmdline
00074 bool busted; // Has the spy been caught?
00075 int counter;
00076
00077 UI.Intro();
00078
00079 PlayerSetup (); // You figure it out, ya dumb f---
00080
00081 UI.InitScreen ();
00082 UI.ShowAllPlayers ();
00083
00084 // Main game loop
00085 while (! (busted = (bool) theRules.GameOver ()))
00086 {
00087 // Move the Spy
00088 (*thePlayers) -> TakeTurn ();
00089
00090 // Move the detectives
00091 for (counter = 1; (counter < NumPlayers) && (!busted); counter++)
00092 {
00093 thePlayers [counter] -> TakeTurn ();
00094 busted = (bool) theRules.SpyCaught ();
00095 }
00096 theRules.NewTurn ();
00097 }
00098 if (busted == -1)
00099 UI.AnnounceWin (*thePlayers[0], theRules.CurrentTurn());
00100 else
00101 UI.AnnounceWin (*thePlayers[busted], theRules.CurrentTurn());
00102
00103 // HosePlayers (); // Nuke the players; we don't need them anymore
00104
00105 return 0;
00106 }
|
|
|
|
|
|
Definition at line 32 of file control.c. References ComputerP, HumanP, MAXPLAYERS, NumPlayers, PColor, and UserInterface::UFWOOM(). Referenced by main().
00033 {
00034 int *info, counter, nextPlayer;
00035
00036 info = UI.UFWOOM ();
00037 if ((*info) == ComputerP)
00038 *thePlayers = new ComputerSpy ("Mr. X", PColor [0]);
00039 else
00040 *thePlayers = new HumanSpy ("Mr. X", PColor [0]);
00041
00042 nextPlayer = NumPlayers = 1; // Need a spy; first detective = player #1
00043 for (counter = 1; counter < MAXPLAYERS; counter++)
00044 {
00045 char buf [40];
00046 sprintf (buf, "Detective %d", counter);
00047 switch (info [counter])
00048 {
00049 case ComputerP :
00050 thePlayers [nextPlayer++] = new ComputerDetective (buf, PColor [counter]);
00051 NumPlayers++;
00052 break;
00053 case HumanP :
00054 thePlayers [nextPlayer++] = new HumanDetective (buf, PColor [counter]);
00055 NumPlayers++;
00056 break;
00057 }
00058 }
00059 delete info; // Big Brother is gonna f--- you up real bad
00060 }
|
|
|
|
|
|
|
|
|
Definition at line 24 of file control.c. Referenced by HosePlayers(), main(), and PlayerSetup(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.2.15