a'la warcaby C++

a'la warcaby C++
AL
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 7 lat
  • Postów:7
0

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.

TU
  • Rejestracja:około 19 lat
  • Ostatnio:prawie 6 lat
  • Lokalizacja:Lublin
0

Jeżeli pytasz o warunki rozpoczęcia chodzenia w drugą stronę to tylko:

Kopiuj
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ć.

AL
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 7 lat
  • Postów:7
0
Tulio napisał(a):

Jeżeli pytasz o warunki rozpoczęcia chodzenia w drugą stronę to tylko:

Kopiuj
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 :/

0

Konsolowa gra?

Bo jak masz myszkę, to masz 4 kombinacje, ale przy krawędzi możesz tylko w przeciwnym kierunku, ale na środku masz wszystkie kombinacje czyli 4.

AL
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 7 lat
  • Postów:7
0

Tak, konsolowa

0

masz góra w lewo i góra w prawo po przekątnej.

A także dół w lewo i góra w prawo po przekątnej, oczywiście jak pionek dostanie awans na damkę.

Jak to implementujesz?

AL
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 7 lat
  • Postów:7
0

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.