Cześć, mam problem z pewnym elementem programu. Wyświetla on planszę do gry w a'la warcaby o wymiarach 10x10. Jest 20 pionków które poruszają się do przodu o jedno pole na skos i nie mogą się cofać. Jednak jeśli pionek dojdzie do przeciwnego końca planszy, zmienia kierunek ruchu - porusza się tylko w drugą stronę, jednak nadal o jedno pole na skos. Nie mam pojęcia jakie warunki zapisać w kodzie. Proszę o pomoc.
- Rejestracja:około 19 lat
- Ostatnio:prawie 6 lat
- Lokalizacja:Lublin
Jeżeli pytasz o warunki rozpoczęcia chodzenia w drugą stronę to tylko:
kierunek = 1;
while(gramy) {
//pozostałe zasady gry
if(doszedłeś do końca planszy) kierunek = 1 - kierunek;
}
i od wartości zmiennej kierunek zależy w którą stronę możesz się ruszać.
- Rejestracja:ponad 7 lat
- Ostatnio:około 7 lat
- Postów:7
Tulio napisał(a):
Jeżeli pytasz o warunki rozpoczęcia chodzenia w drugą stronę to tylko:
kierunek = 1; while(gramy) { //pozostałe zasady gry if(doszedłeś do końca planszy) kierunek = 1 - kierunek; }
i
Jeśli dojdę do końca planszy i chcę wybrać pole w przeciwnym kierunku, to nadal wykonują się instrukcje dla pionka bez zmiany kierunku :/
- Rejestracja:ponad 7 lat
- Ostatnio:około 7 lat
- Postów:7
Damek akurat w tej grze nie ma, bo to nie są czyste warcaby, ale jeśli chodzi o warunki poruszania się pionków to podaję ich pola: najpierw pole, z którego chcę się ruszyć, potem pole, na które chcę się przenieść.
Warunki: v>x || v>9 || v<0 || G[v][z].pionek != spacja || z>9 || z<0 || v>x+1 || z>y+1 || z<y-1 || v<x-1 || x == v || y == z ,
gdzie x to nr wiersza, a y to nr kolumny przed przeniesieniem, a v i z analogicznie. Ostatnie dwa warunki są na to żeby pionek poruszał się tylko po skosie, no i G[v][z].pionek != spacja, czyli pionka nie można postawić na innym miejscu niż puste pole.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.