Jak zrobic warcaby

0

Witam!!!
Mam bardzo duzy problem... chodzi mianowice o to ze musze zrobic gre warcaby w pascalu... i nie ma co ukrywac nie wiem w ogóle jak sie do tego zabrac. Z rzeczami jakie robilismy na lekcjach jakos sobie radzilem ale to zadanie za bardzo mnie przerasta.
Dziekuje z gory za jakolkolwiek pomoc :-)

0

Sam się ograniczasz, pomyśl trochę... Jeśli będziesz już pisał program i będziesz miał jakieś trudności to zapytaj... chyba wiesz jak się gra w warcaby ??

0

na początek musisz się zastanowić jak będziesz przedstawiał całe pole do gry... Czy to będzie zbudowane ze znaków i co przesunięcie odświeżane, czy może skorzystasz z graph i np. trybu 13h...
Potem zastanów się jak zrobisz sobie sterowanie... Czy spróbujesz pokazać myszkę, czy może cała obsługa z klawiatury...
Właśnie jeśli chodzi o sterowanie to może być największy problem... Bo przecież jak wybrać pionka którym ruszyć? I do tego gdzie? Jeśli byś miał sterowanie myszą to to taki problem nie jest, ale klawiaturą? Hmmm... Chociaż jednak można sobie na dole pod planszą oczekiwać jakichś danych... Możesz sobie zrobić, że zawsze będziesz oczekiwał stringa (w postaci 11 22)... Wystarczy tylko jak podzielisz to sobie na 4 liczby(x1,y1,x2,y2). Niech wtedy 11 oznacza współrzędne pionka którego ruszyć(1,1), a 22 współrzędne na jakie pole ruszyć(2,2)... Oczywiście musisz sprawdzać czy na tym polu stoi twój pionek, oraz szereg innych warunków... Musisz dodać zabezpieczenie na wypadek gdyby gracz się pomylił ;-P

Jak już te kwestie będziesz miał rozpatrzone, zrobione, musisz pomyśleć o mechanizmie... Radzę utworzyć sobie dwuwymiarową tablicę( array[1..8] of array[1..8] of byte; ) I puste pole przedstawiać jako 0, pionka gracza pierwszego jako 1, a pionka gracza drugiego jako 2... Dodatkowo jak będą damki to musisz dać jeszcze odpowiednio 3 i 4... Dlaczego właśnie tak? Ponieważ będzie Ci się łatwiej wszytko obliczać... Zauważ, że jeśli zrobisz procedurę rysującą całe pole i pionki według tablicy, to wystarczy tylko po każdym ruchu ją wywoływać...

Mam nadzieję, że już mniej więcej wiesz za co się zabrać. Zadanie jest faktycznie nie łatwe, mimo wszystko życzę powodzenia.

0
lewymati napisał(a)

na początek musisz się zastanowić jak będziesz przedstawiał całe pole do gry...

a ja zawsze robię odwrotnie i najpierw robię procedury i funkcje odpowiadające za działanie programu a dopiero potem zajmuje się reprezentacją :) może to dlatego, że często się biorę za dziwne projekty i nie wiem czy w rezultacie to będzie działać więc nie chce marnować czasu na tworzenie sposobu wyświetlania skoro program w ogóle może nie działać :D
Tak czy inaczej, które z tych dwóch niezbędnych elementów zrobisz jako pierwsze jest bez różnicy bo i tak musisz je zrobić ;P
z Tablicą jak najbardziej popieram, w zasadzie wystarczy tablica 4 na 4 bo po połowie pól i tak pionki się nie poruszają, ale to by trza było myśleć trochę abstrakcyjnie :d

0

ja bym zrobil plansze z naprzemian ulozonych spacji z backgroundcolor = bialy i czarny
pionki powiedzmy zaznaczal jakas literka np 'X' (np zolty i czerwony - zeby sie z polami nie zlewalo)

poruszanie sie po planszy proponuje zrobic strzalkami:
zaznaczasz aktualnie aktywne pole zmieniajac kolor tla (np backgroundcolor = niebieski)
jak sie przesowasz na inne pole to poprzedniemu przywracasz odpowiedni kolor i nastepne podswietlasz na niebiesko.

po nacisnieciu np ENTER wybiera sie pionek ktory stoi na zaznaczonym polu
i znowu wybierasz pole i po kolejnym ENTER pionek przeskakuje na nowe pole.

wszystko trzymaj oczywiscie w tablicy 8x8
(lub 4x4 jesli lubisz sie bawic w kombinowanie

  • jesli facet od informatyki jest dobry to mu sie to na pewno spodoba:D )

no i duzo roboty bedzie z rgulami
kiedy i gdzie mozna sie ruszyc jak zbijac i takie tam
ale na pewno sobie z tym poradzisz

dobra metoda jest podzielic problem na mniejsze czesci i wtedy juz nie jest taki straszny:D

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