Snake czy ... wirus?
Ostatnio zmodyfikowano 2013-03-01 23:04
Berux Temat założony przez niniejszego użytkownika |
Snake czy ... wirus? » 2013-03-01 22:38:26 Witam drogich forumowiczów. Zacząłem pisać sobie snake. Napisałem sobie pętlę wypisującą mapkę i uruchomiłem aplikację, aby sprawdzić czy działa poprawnie. Co zobaczyłem? Ujrzałem w konsoli różne "krzaczki", które wypisywały się na ekran bez końca. Przy tym jeszcze zaczął "piszczeć" komputer. Próbowałem przerwać proces przez menadżer zadań, ale nie udało mi się :(. W końcu zdecydowałem się wyłączyć komputer w sposób taki sam jak się go włącza. Gdy komputer się uruchamiał bałem się czy się uruchomi (trochę bez sensu to zdanie). Na szczęście wszystko się udało(uff...co za ulga...). Oto kod mojego snake'owego wirusa: #include <iostream> #include <cstdlib> #include <conio.h> #include <ctime>
using namespace std;
int x = 50; int y = 50;
class OBIEKT { public: int x; int y; };
int main() { srand( time( NULL ) ); char znak; char mapa[ y ][ x ]; OBIEKT waz; waz.y =( rand() % 10 ); waz.x =( rand() % 10 ); mapa[ waz.y ][ waz.x ] = 'N'; OBIEKT dodatek; dodatek.y =( rand() % 10 ); dodatek.x =( rand() % 10 ); mapa[ dodatek.y ][ dodatek.x ] = '$'; while( znak != 27 ) { for( int i = 0; i < 50; i++ ) { for( int j = 0; j < 50; j++ ) { if(( i % 9 ) == 0 ) cout << mapa[ i ][ j ] << endl; else cout << mapa[ i ][ j ]; } } if( kbhit() ) { znak = getch(); } } return 0; } Jeśli ktoś to coś skompiluje i uruchomi oraz zepsuje mu się komputer - nie odpowiadam za to :) - to tak w razie czego Proszę jedynie o wytłumaczenie, dlaczego kod nie działa jak powinien. Snake to, czy wirus? |
|
DejaVu |
» 2013-03-01 22:40:08 zamień na char na int lub wyczyść tablicę spacjami. |
|
Berux Temat założony przez niniejszego użytkownika |
» 2013-03-01 22:42:22 @DejaVu
Ale przecież ta tablica nie przechowuje liczb całkowitych, tylko znaki ('N', '$').
/edit: Rzeczywiście. Całkiem zapomniałem o "czyszczeniu" tablicy , mimo tego, że ostatnio tak robiłem. Dzięki :)
@down: Problem już rozwiązałem. A jeśli chodzi o minimalną wartość, to zdaje mi się, że domyślna jest 0, a o taką mi właśnie chodzi. |
|
megatron |
» 2013-03-01 23:04:05 Mi sie wydaje ze to dla tego ze nie masz minimalnej wartosci podanej w losowaniu |
|
« 1 » |