#include #include #include #include "console.ddt" #include void cursoroff() //funkcja dająca znikanie kursora { CONSOLE_CURSOR_INFO ccinf; HANDLE _hcout = GetStdHandle(STD_OUTPUT_HANDLE); GetConsoleCursorInfo(_hcout,&ccinf); ccinf.bVisible = false; SetConsoleCursorInfo(_hcout,&ccinf); } using namespace std; using namespace ddt::console; /* Name: --------------------GRA DARKSPACE--------------------- Copyright: Tomasz 'Sawik' Sawicki Author: Tomasz 'Sawik' Sawicki Description: Gra, zarówno jej kod jak i plik wykonawczy są własnością w/w Autora, Zmienianie kodu(dotyczy również komentarzy) jest surowo zakazane, Pozdrawiam! */ int main(int argc, char *argv[]) { time_t sekundy; //zmienne do odliczania czasu time_t koniec; time_t czas; char napis[10] = {'D','A','R','K',' ','S','P','A','C','E'}; string imie; int wybor;//zmienna switch; int tab[80][26]; //tablica zapisujaca pozycje kursora char z; //znak-zmienna w której zapisyawany jest kod klawisza int x=1; //zmienne komendy gotoxy int y=1; int poziom; //zmienna wyboru poziomu int temp = 0; //zmienna naliczająca punkty //symulacja naciśnięcia klawisz Alt+Enter(fullscreen) keybd_event(VK_MENU,0x38,0,0); keybd_event(VK_RETURN,0x1c,0,0); keybd_event(VK_RETURN,0x1c,KEYEVENTF_KEYUP,0); keybd_event(VK_MENU,0x38,KEYEVENTF_KEYUP,0); cout<<"podaj swoje imie..."<>wybor; //początek pętli switch switch(wybor) { case 1: //wybor poziomu system("cls"); gotoxy(33,13); cout<<"wybierz pozizom"<>poziom; switch(poziom) //switch wyboru poziomu { case 1: koniec=120; break; case 2: koniec=60; break; case 3: koniec=10; break; case 4: cout<<"wpisz ilosc sekund"<>koniec; break; } system("cls"); //petla for zerująca tablice for(int a = 0; a < 80; a++) { for(int b = 0; b < 26; b++) { tab[a][b] = 0; } } // rysowaie pierwszego znaku(potrzebne żeby zadziałał późniejszy if) x=20; y=5; gotoxy(x,y); tab[x][y] =1; printf("$"); x=1; y=1; //koniec rysowania gotoxy(x,y); sekundy = time (NULL); //pobieranie czasu systemowego i zapamiętywanie go w zmiennej czas =sekundy + koniec; //dodawanie do zmiennej "sekundy" wyboru poziomu //pętla zczytująca kod wciśniętego klawisza i wykonująca odpowiednią komende do{ //sprawdzanie trafienia na znak if(tab[x][y] == 1) { int d,f; tab[x][y]=0; srand (time(NULL)); d = rand() % 23; temp++; f = rand() % 78; gotoxy(f,d); printf("$"); tab[f][d]=1; } sekundy = time (NULL); //uaktualnianie zmiennej "sekundy" z=getch(); //pobieranie kodu wciśniętego klawisza //poczatek sterowania if (z==72)gotoxy(x,y--),printf(" "),gotoxy(x,y++),printf("#"),gotoxy(x,y--); //góra if (z==80)gotoxy(x,y++),printf(" "),gotoxy(x,y--),printf("#"),gotoxy(x,y++); //dół if (z==75)gotoxy(x--,y),printf(" "),gotoxy(x++,y),printf("#"),gotoxy(x--,y); //lewo if (z==77)gotoxy(x++,y),printf(" "),gotoxy(x--,y),printf("#"),gotoxy(x++,y); //prawo //powtórne sprawdzanie trafienia na znak, eliminujące pewnien problem if(tab[x][y] == 1) { int d,f; tab[x][y]=0; srand (time(NULL)); d = rand() % 23; temp++; f = rand() % 78; gotoxy(f,d); printf("$"); tab[f][d]=1; } //koniec sterowania, komendy warunkowe sprawdzajace zderzenia ze ścianą if (y==1)gotoxy(x,y++),printf(" "),y=24,gotoxy(x,y); //górna ściana if (y==25)gotoxy(x,y--),printf(" "),y=2,gotoxy(x,y); //dolna ściana if (x==0)gotoxy(x+2,y),printf(" "),x=79,gotoxy(x,y); //lewa ściana if (x==80)gotoxy(x--,y),printf(" "),x=1,gotoxy(x,y); //prawa ściana //if sprawdzajcy czy czas upłyną if(sekundy>=czas) { system("cls"); gotoxy(29,11); cout<<"koniec czasu. twoj wynik to "<