Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Warcaby c++ | drzewo |

Ostatnio zmodyfikowano 2019-01-02 22:38
Autor Wiadomość
Vennyn
Temat założony przez niniejszego użytkownika
Warcaby c++ | drzewo |
» 2019-01-02 20:45:03
Witam, aktualnie pisze projekt warcabów w języku c++. Do przeprowadzenia projektu muszę wykorzystać drzewo, w którym przechowywane są trzy ruchy do przodu.
Brakuje mi wiedzy i materiałów do zrobienia tego. Jakieś rady? Całą logikę warcabów już mam napisaną łącznie z funkcją oceniającą. Pytanie tylko jak zabrać się za drzewo.
P-173399
jankowalski25
» 2019-01-02 21:20:40
W korzeniu umieszczasz stan szachownicy na początku gry. Następnie doczepiasz do niego wszystkie możliwe ruchy pierwszego gracza. Do każdego z nich dołączasz wszystkie możliwe reakcje drugiego gracza na każde z tych posunięć. Ostatecznie drzewo ma mieć trzy poziomy, więc do każdego z tych ruchów dołączasz możliwe ruchy pierwszego gracza. Na końcu wywołujesz funkcję oceniającą na każdym stanie planszy po tych trzech ruchach (czyli na wszystkich liściach).
Początek gry
├── a3-b4
│   ├── b6-a5
│   │   └── ...  
│   ├── b6-c5
│   ├── d6-c5
│   ├── d6-e5
│   ├── f6-e5
│   ├── f6-g5
│   └── h6-g5
├── c3-b4
├── c3-d4
├── e3-d4
├── e3-f4
├── g3-f4
└── g3-h4
P-173400
pekfos
» 2019-01-02 21:33:33
Niech zbicie pionka wroga ma jakąś dodatnią ilość punktów, a strata pionka ujemną. Potem Alfa-beta.
P-173401
Vennyn
Temat założony przez niniejszego użytkownika
» 2019-01-02 21:47:14
tą część z dołączaniem rozumiem, sam myślałem o czymś podobnym tylko nie mam pojęcia jak to wprowadzić w życie. Znasz jakieś materiały gdzie mógłbym się dokształcić w tej dziedzinie, bo wydaje mi się że czegos mi brakuje. Jak do tej pory mialem styczność tylko z drzewami binarnymi.
P-173403
pekfos
» 2019-01-02 21:51:00
Drzewa niebinarne nie są wcale trudniejsze. Po prostu masz N węzłów potomnych, a nie 2. Do tego celu dobrze jakbyś wymyślił sposób na reprezentację ruchu i sposób na przechowywanie informacji o węzłach. To drugie to może być po prostu wektor par std::vector<std::pair<Ruch, Poddrzewo>>.
P-173404
Vennyn
Temat założony przez niniejszego użytkownika
» 2019-01-02 21:56:35
Za użycie vector lista mój projekt jest uwalany :/
P-173406
pekfos
» 2019-01-02 22:32:55
To zrób sobie listę jednokierunkową.
P-173407
Vennyn
Temat założony przez niniejszego użytkownika
» 2019-01-02 22:38:06
Ok, pokombinuje. A co do reprezentacji ruchu, co miałeś na myśli. Moja koncepcja wykonywanych ruchów to swap. Plansze mam zadeklarowana jako tablice dwuwymiarową,  a do tego enuma na pola puste i bierki biale czarne i damki.
P-173408
« 1 »
  Strona 1 z 1