Zapamiętanie pozycji znaku
Ostatnio zmodyfikowano 2013-11-18 15:02
Grafer Temat założony przez niniejszego użytkownika |
Zapamiętanie pozycji znaku » 2013-11-18 10:10:59 Witam. Mam do zrobienia mały projekt na studia. Chodzi się po konsoli znakiem "@" i należy zbierać "~", aby zdobyć energię na następne rundy. Pojawianie się "~" na ekranie wykonałem losowo w ten sposób l = rand() % 100; if( l > 0 && l < 6 ) { la = rand() % 80; lb = rand() % 25; k->putxy( la, lb, r, FOREGROUND_GREEN ); }
Następnie chciałem zrobić, aby "@" po najechaniu na "~" zdobywał 10 pkt energii. Wykonałem to w ten sposób (x oraz y to obecne położenie "@"): if( x == la && y == lb ) energia = energia + 10;
Niestety działa to tylko dla ostatniego "~" jakie się pojawiło na ekranie, a nie dla wszystkich poprzednich, które już na nim sa. I tu moje pytanie do Was. Jak mogę zrobić, aby program zapamiętywał wszystkie położenia "~" na ekranie, a nie tylko to ostatnie? |
|
bnk120 |
» 2013-11-18 11:41:17 Jeżeli chcesz żeby program zapamiętywał pozycję "~" to zapisuj te pozycje do tablicy. |
|
Grafer Temat założony przez niniejszego użytkownika |
» 2013-11-18 11:45:07 Nie wiem czy w taki sposób miałem to zrobić, ale zdefiniowałem tablicę int o 2 kolumnach i przykładowo 80 wierszach. Następnie chciałem zrobić, aby po pokazaniu się ~ na ekranie zapisało tę pozycję w pierwszym wierszu i przeszło do następnego wiersza. pol[ o, 2 ] = { la, lb }; o++;
Ale niestety kompilator mi wysypuje błędy na tę linijkę (o brakujących ";"). Poza tym gdyby udało mi się to zmusić do działania to czy wtedy położenie @ też bym musiał zrobić za pomocą tablicy, aby następnie porównać ze sobą wartosci położenia @ oraz ~? |
|
pekfos |
» 2013-11-18 15:02:25 pol[ o, 2 ] = { la, lb };
|
Wiesz w ogóle, jak używa się tablic? czy wtedy położenie @ też bym musiał zrobić za pomocą tablicy, aby następnie porównać ze sobą wartosci położenia @ oraz ~? |
Po co? Co ma piernik do wiatraka? |
|
« 1 » |