Wpis z mikrobloga

Programiści. Powiedzcie mi. Co mogę dodać do zwykłego programu BlackJack w kości?

Taką oto wiadomość dostałem:

Aby program spełniał kryteria projektu zaliczeniowego niezbędne jest dodanie funkcjonalności związanej z analizą i ustalaniem strategii gracza oraz komputera. Przede wszystkim strategie powinny być konfigurowalne. Niedopuszczalne jest rozwiązanie, w którym decyzje są częścią kodu źródłowego. Ponadto dla każdej z dostępnych strategii powinny być prowadzone statystyki, które pozwalałyby komputerowi dostosowywać się do wyborów gracza na podstawie historii (parametry strategii + prawdopodobieństwo wygranej).


Dobra. Jaka jest strategia gry gracza oraz komputera? Jak oni przyciskają tylko T i N? o_0

Może jakoś zaimplementować, że gracz jak ma min 18 pkt to odpuszcza? Ale nie wiem, co z tym fantem zrobić...

#programowanie #cpp #pomocyludzie
  • 20
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@GrabkaMan: no właśnie u Ciebie gracz właściwie nie ma wpływu na przebieg gry. Po prostu przy każdym rzucie kostką pytaj się użytkownika czy grać dalej czy nie, a w przypadku komputera, raczej nie możesz ustalać na sztywno granicy na podstawie ilości punktów, zrób to tak jak radzi gościu na podstawie prawdopodobieństwa.
  • Odpowiedz
@Nadrill: (#) Nie. Polecenie Pisał mi na maila po polsku.

@vokus: (#) Ale użytkownik za każdym razem jest pytany.

Generalnie zdaje mi się, że on ma na myśli to, że mają być np. 3 poziomy trudności. Każdy na podstawie poprzednich rozgrywek. Ale jak ja to mam niby zrobić to nie wiem..
  • Odpowiedz
@GrabkaMan: fakt, dość mylący komunikat ""Would you like to play?", powinno być raczej ""Would you like to toss a dice?" czy coś takiego.

@Kamdz Jeśli nie jest to przedmiot "sztuczna inteligencja to wątpię, żeby ktoś wymagał od niego implementacji AI :D Tym bardziej w C++... może jeszcze bez zewnętrznych bibliotek :D
  • Odpowiedz
@GrabkaMan: chociaż nie, źle napisałem. Nie możliwe kombinacje punktów, a możliwe kombinacje ruchów. Czyli np użytkownik 2 razy T raz N i raz T i wygrał ze strategią 4 razy T... i wygrał tak 7/10 razy, więc dla strategii TTNT strategia TTTT jest zła. Oczywiście nie wiemy jaki będzie następny ruch przeciwnika, więc strategie muszą być dopasowywane po każdym ruchu. Po pierwszym ruchu musi być strategia dla TT TN NT
  • Odpowiedz
m. Nie możliw


@vokus: (#) Ale to nic nie zmienia, bo Przy TTNT dostał łącznie 20 pkt. A przy następnym razie dostał 10 - bo źle rzucał na przykład.

Więc taka teoria to chyba nic nie da. :<
  • Odpowiedz
@GrabkaMan: no jak nic nie da. Jasne, że jest to gra losowa, ale jest coś takiego jak prawdopodobieństwo łączne i wypadnięcie 20 i 10 dla takiej samej kombinacji ruchów ma inne prawdopodobieństwo zdarzenia. I bez porównywania prawdopodobieństw masz możliwość ustalenia, która strategia jest najskuteczniejsza. Jeśli chcesz opracować uniwersalną strategie wygrywania w grze losowej, to powodzenia i daj znać jak się uda, to pójdę przetestować w kasynie :D
  • Odpowiedz
@vokus: (#) Niee. Poczekam, co on mi napisze. Zaproponowałem, iż napiszę ten program jako gra w karty, bo już nie wiem, co mogę zrobić jeszcze. Naprawdę. Nie wiem, jak mogę zmienić ten program tak, by zawierał on jakieś zmiany w algorytmie w trakcie grania.... No idea..
  • Odpowiedz
@GrabkaMan: co "niee" :D ? co do zmian no to właśnie piszę co możesz zrobić. No ale jak wiesz lepiej, albo zapytasz się gościa to po co pytasz na mirko :D ? Jak dla mnie to koleś napisał dość jasno co masz zrobić. gracz sam ustala strategie przy każdym ruchu, komputer na podstawie historycznych danych określa czy lepiej jest wybrać ruch T lub N ( przykładowo TTN miało 60 %
  • Odpowiedz