#include #include #include #include using namespace std; struct data { int score; int hiscore; int pX,pY; int fX,fY; int eX,eY; string hiname; }game; int random(int nMin, int nMax) { return ((rand() % (nMax - nMin)) + 1) + nMin; } bool checkBlock(int pX, int pY) { if (pX % 2 != 0 && pY % 2 != 0) return true; else return false; } int main() { //bool repeat = false; bool dead = false; bool f = false; bool first = true; string s; string name; string in = ""; game.hiscore = 0; srand(time(0)); while (1) { system("cls"); if (dead) { dead = false; cout << "You Lose!\n"; cout << "Wanna play again? (y/n) "; do { cin >> in; } while (!(in == "y" || in == "n")); if (in == "n") return 0; first = true; } system("cls"); cout << "Highscore: " << game.hiname << " (" << game.hiscore << ")" << "\n\n"; cout << "Masukkan nama player: "; cin >> name; game.score = 0; s = ""; do { game.pX = random(2,9); game.pY = random(2,9); } while ((checkBlock(game.pX,game.pY))); do { game.eX = random(2,9); game.eY = random(2,9); if (!(game.eX == game.pX && game.eY == game.pY) && !checkBlock(game.eX,game.eY)) f = true; } while (f != true); f = false; do { game.fX = random(2,9); game.fY = random(2,9); if (!(game.fX == game.pX && game.fY == game.pY) && !checkBlock(game.fX,game.fY)) f = true; } while (f != true); f = false; Sleep(100); while (dead != true) { system("cls"); cout << "Player: " << name << "\n"; cout << "Score: " << game.score << "\n"; if ((game.pX > game.eX) && game.eY % 2 == 0) { game.eX++; if ( game.pY > game.eY) { } } else if (game.pX < game.eX && game.eY % 2 == 0) { game.eX--; } if ((game.pY > game.eY) && game.eX % 2 == 0) { game.eY++; } else if (game.pY < game.eY && game.eX % 2 == 0) { game.eY--; } if (game.pX == game.fX && game.pY == game.fY) { do { game.fX = random(2,9); game.fY = random(2,9); if (!(game.fX == game.pX && game.fY == game.pY) && !checkBlock(game.fX,game.fY)) f = true; } while (f != true); f = false; game.score += 5; } if (game.eX == game.pX && game.eY == game.pY) { game.pX = -1; game.pY = -1; dead = true; } for (int i = 1; i <= 11; i++) { for (int j = 1; j <= 11; j++) { if (i == 1 || i == 11) s += "="; else if (j == 1 || j == 11) s += "|"; else if ( (i % 2 != 0 && (i != 1 || i != 11)) && (j % 2 != 0 && (j != 1 || j != 11)) ) s += "X"; else if (i == game.pX && j == game.pY) s += name[0]; else if (i == game.fX && j == game.fY) s += "*"; else if (i == game.eX && j == game.eY) s += "#"; else s += " "; } s += "\n"; } cout << s; s = ""; if (first) { first = false; Sleep(2000); } if (GetAsyncKeyState(VK_UP)) { game.pX--; if ( checkBlock(game.pX,game.pY) || game.pX == 1) game.pX++; //delay = true; } else if (GetAsyncKeyState(VK_DOWN)) { game.pX++; if ( checkBlock(game.pX,game.pY) || game.pX == 11) game.pX--; //delay = true; } else if (GetAsyncKeyState(VK_LEFT)) { game.pY--; if ( checkBlock(game.pX,game.pY) || game.pY == 1) game.pY++; //delay = true; } else if (GetAsyncKeyState(VK_RIGHT)) { game.pY++; if ( checkBlock(game.pX,game.pY) || game.pY == 11) game.pY--; } cout << "\n\n" << "Location: " << game.eX << "," << game.eY; Sleep(150); } if (game.score > game.hiscore) { game.hiscore = game.score; game.hiname = name; } } return 0; }