All pastes #708287 Raw Edit

Stuff

public cpp v1 · immutable
#708287 ·published 2007-09-23 18:57 UTC
rendered paste body
                                                                                                                                                                                                                                                            #include <iostream>#include "outputManager.h"#include "inputManager.h"#include "loopTimer.h"//#include "cGameManager.h";#include <deque>using std::deque;using namespace std;	int newxsnake = 20;	int newysnake = 20;	deque<int> xsnake;	deque<int> ysnake;	CInputManager InputManager;	COutputManager OutputManager;	CLoopTimer LoopTimer(5);	enum gameStatus{ down, up };	unsigned long score = 0;		void opp(){			newxsnake = xsnake[0];			newysnake = ysnake[0]- 1;		}		void ned(){			newxsnake = xsnake[0];			newysnake = ysnake[0]+1;		}		void left(){			newxsnake = xsnake[0]-1;			newysnake = ysnake[0];		}		void right(){			newxsnake = xsnake[0]+1;			newysnake = ysnake[0];		}		void scorekeeping(){			OutputManager.SetColor(TEXT_WHITE, BACK_WHITE);		OutputManager.PrintAt("          tomlinje                                                              " ,0, 40);		OutputManager.SetColor(TEXT_WHITE, BACK_BLACK);		OutputManager.PrintAt("Use arrow keys to control snake.", 5, 42);		OutputManager.PrintAt("Score:", 65,42);		OutputManager.PrintAt(score, 72, 42);		OutputManager.PrintAt("[q] to quit to Main Menu", 5, 43);					}void start(){		OutputManager.Initialize("Snake Window", 80, 50, TEXT_RED_BRIGHT, BACK_BLACK);	OutputManager.PrintAt("Welcome to CCSnake. What do you want to do?", 10, 10);	OutputManager.PrintAt("[P]lay Game", 22, 12);	OutputManager.PrintAt ("[Q]uit Game", 22, 14);		int eGameStatus = ' ';	InputManager.GetNextKeyWait(eGameStatus);	if(eGameStatus == 'p'){		LoopTimer.Start();		OutputManager.ClearScreen();		bool run = true;			for(int i = 0; i < 4; i++){								xsnake.push_front(newxsnake);				ysnake.push_front(newysnake);				OutputManager.PrintAt('0', xsnake.front(), ysnake.front());				newxsnake++;			}			OutputManager.PrintAt('@', xsnake.front(), ysnake.front()); 		//TORE -- det er noe galt her en plass, hvis jeg setter løkken inn i while(run) kjører den uten stopp		//men den dobler seg hele tiden.		//slik som koden står nå, starter den med 4 element, før den blir til 1, den kjører heller ikke selv...				while(run){			scorekeeping();			LoopTimer.SleepUntilUpdate();			//OutputManager.PrintAt('0', xsnake.front(), ysnake.front());						int keyPressed = ' '; 			InputManager.GetNextKey(keyPressed);						if(keyPressed == -11){				opp();			}else if(keyPressed == -12){				ned();			}else if(keyPressed == -13){				left();			}else if(keyPressed == -14){				right();			}						OutputManager.PrintAt(' ', xsnake.back(), ysnake.back());			xsnake.pop_back();			ysnake.pop_back();			OutputManager.PrintAt('O', xsnake.front(), ysnake.front());			xsnake.push_front(newxsnake);			ysnake.push_front(newysnake);			OutputManager.PrintAt('@', xsnake.front(), ysnake.front()); 					}				}else if(eGameStatus == 'q'){		OutputManager.ClearScreen();			}}int main(){	start();	//system("pause");	return 0;}