a'la warcaby C++

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.

0

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

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

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.

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?

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1