#include #include #include #include /////////////////////////// void gotoxy(const int x, const int y); int menu(); int uruchom(); int rysuj_pole(); int rysuj_glowe(); int rysuj_ogon(); int losuj_jedzenie(); int sprawdz_jedzenie(); int pisz_punkty(); /////////////////////////// using namespace std; HANDLE g_hConsol = GetStdHandle(STD_OUTPUT_HANDLE); ///////////////////// char chPob; int Kierunek; int Glowa[2]; int Dlugosc_ogon; bool Pierwszy, jPierwszy; int Jedzenie[2]; int tablica[1500][2]; int Punkty; ///////////////////// enum {gora = 1, dol, lewo, prawo }; /////////////////////////////////////////////////////// int main() { srand ((int) time(NULL)); Kierunek = 1; Pierwszy = true; jPierwszy = true; Glowa[0] = 30; Glowa[1] = 12; Dlugosc_ogon = 10; menu(); gotoxy(30, 2); cout << "Wynik: " << Punkty; getch(); return 0; } int uruchom() { rysuj_pole(); pisz_punkty(); for (int i = 0; i < Dlugosc_ogon; i++) { tablica[i][0] = Glowa[0]; tablica[i][1] = Glowa[1] + (i+1); } while(chPob != 27) { Sleep(150); while(kbhit()) chPob = getch(); switch(chPob) { case 'w':{ if(Kierunek != dol) Kierunek = gora; break; } case 's':{ if(Kierunek != gora) Kierunek = dol; break; } case 'a':{ if(Kierunek != prawo) Kierunek = lewo; break; } case 'd':{ if(Kierunek != lewo) Kierunek = prawo; break; } default: break; } sprawdz_jedzenie(); rysuj_ogon(); if(rysuj_glowe()) return 1; if(jPierwszy) { losuj_jedzenie(); jPierwszy = false; } if(sizeof(tablica)/8 == Dlugosc_ogon) return 0; } } int rysuj_ogon() { if(Pierwszy) { for(int i;i0;i--) { tablica[i][0] = tablica[i-1][0]; tablica[i][1] = tablica[i-1][1]; gotoxy(tablica[i][0], tablica[i][1]); cout << 'x'; } tablica[0][0] = Glowa[0]; tablica[0][1] = Glowa[1]; gotoxy(tablica[0][0], tablica[0][1]); cout << 'x'; } int rysuj_glowe() { switch(Kierunek) { case gora:{ Glowa[1] -= 1; break; } case dol:{ Glowa[1] += 1; break; } case lewo:{ Glowa[0] -= 1; break; } case prawo:{ Glowa[0] += 1; break; } } if(Glowa[0] == 0 || Glowa[0] == 59 || Glowa[1] == 0 || Glowa[1] == 26) return 1; for(int i=3;i> wyb; switch(wyb) { case 1:{ system("CLS"); uruchom(); break; } case 2:{ break; } default:{ menu(); break; } } } int rysuj_pole() { cout << "************************************************************" << endl << "* *" << endl << "* * Snejk " << endl << "* *" << endl << "* *" << endl << "* *" << endl << "* * Punkty:" << endl << "* *" << endl << "* *" << endl << "* *" << endl << "* *" << endl << "* *" << endl << "* *" << endl << "* *" << endl << "* *" << endl << "* *" << endl << "* *" << endl << "* *" << endl << "* *" << endl << "* *" << endl << "* *" << endl << "* *" << endl << "* *" << endl << "* *" << endl << "* *" << endl << "* *" << endl << "************************************************************" << endl; }