PDA

Zobacz pełną wersję : Problem z c++



dark moor
19-06-07, 15:48
Witam,
od jakiegoś czasu bawię się w programowanie. Ostatnio postanowiłem napisać swoją pierwszą grę. Miał to być mały labirynt w którym przy pomocy przycisków w,a,s,d porusza się znacznik. Narysowałem labirynt przy pomocy ascii jednak po wciśnięciu przycisku ruchu(w,a,s,d) labirynt znika. (użyłem funkcja clrscr(); ponieważ nie wiem jak usunąć znacznik z poprzedniego miejsca)
Skopiowałem cały labirynt i wkleiłem go pod przyciski ruch i okazało się że gra działa ale kompilowanie trwa bardzo długo i w samym programie widać że po każdym ruchu program od nowa rysuje labirynt. Mam wobec tego pytanie czy jest jakaś funkcja która zrobiłaby z mojego labiryntu powiedzmy coś w rodzaju "tła"? Tak żeby labirynt pozostawał cały czas widoczny a usuwany był jedynie znacznik. Używam dev-C++

Proszę o odpowiedź

timi
19-06-07, 20:33
Labirynt narysuj na samym początku gry. Zapamiętaj sobie gdzieś aktualną pozycję w labiryncie (np. int x, y). Teraz przed kazdym narysowaniem znacznika wykonujesz gotoxy (tak to sie chyba nazywalo) a jako wspolrzedne podajesz punkt gdzie byl wczesniej. Zeby go zmazac, napisz w tym miejscu spacje. Teraz modyfikujesz pozycje (x,y) zaleznie od tego co uzytkownik wcisnal, przesuwasz sie w odpowiednie miejsce i rysujesz znacznik.

Pozdrawiam

dark moor
19-06-07, 22:09
Wielkie dzięki za pomoc. Teraz już działa :) No to zostało jeszcze kilka rzeczy do zrobienia ale z nimi powinienem dać sobie radę. Jeszcze raz dziękuje i pozdrawiam.