Wpis z mikrobloga

#programowanie #python #wiedzmin #wiedzmin3 #informatyka

myślał może ktoś o tym jak rozpisać np kościanego pokera w pythonie? Dzisiaj stwierdziłem że podejmie się takiego zadania, ale mam problem ze sprawdzaniem kości, tak wyglądają zasady:
Znaczenie układów kości
# Nic – pięć nie tworzących żadnego układu oczek.
# Para – dwie kości o tej samej liczbie oczek.
# Dwie Pary – dwie pary kości, o tej samej liczbie oczek.
# Trójka – trzy kości o tej samej liczbie oczek.
# Mały Strit – kości pokazujące wartości od 1 do 5, po kolei.
# Duży Strit – kości pokazujące wartości od 2 do 6, po kolei.
# Full – jedna para i trójka.
# Kareta – cztery kości o tej samej liczbie oczek.
# Poker – pięć kości o tej samej liczbie oczek.
  • 13
@croppz: Z tym match statement to tak średnio, bo z jednego rzutu kośćmi jest wiele potencjalnych trafień typu para, 2 pary, trójka i full jednocześnie. Także match statement to tylko jak jest jakieś założenie, że musisz wybrać przed rzutem co próbujesz zrobić i tylko tą figurę możesz trafić albo nie trafić.
@aseeon_: dawno w pytonie nie pisałem więc głowy nie dam, ale to nie działa tak że po prostu kolejne warianty są matchowane póki któryś nie trafi? Najpierw sprawdzasz czy jest poker, potem kareta, potem full (zakładając że taka jest kolejność od najwyżej do najniżej punktowanego).

Każdej takiej opcji możesz przypisać jakiś wynik, np. para jest warta 2 pkt. Potem już tylko porównujesz ilość punktów u graczy, i jeżeli jest taka sama
@croppz: No tak działa, ale wtedy zawsze będzie full zmatchowany (jak wyrzucisz fulla), a tobie w rozpisce brakuje trójki która mogła by być z tego samego układu zaliczona, no i nic nie zrobisz, bo match #!$%@? fulla bo więcej punktów :D
@aseeon_: no tak, ale czy jeżeli mamy fulla to obchodzi nas trójka? Ja się nie znam, prostym programistą jestem a nie profesjonalnym kościarzem. ( ͡° ͜ʖ ͡°)
@aseeon_: no czyli jakiś dict do trzymania wyników, funkcja sprawdzająca czy gra się skończyła i co rzut seria ifów wypełniających seta z dostępnymi wyborami plus jakiś input dla gracza do podjęcia decyzji. Potem do tego można dorobić jakiś system zakładów, może podpiąć pod sieć neuronową i zobaczyć jak się nauczy grać... W sumie całkiem ciekawy projekcik dla początkującego, można parę rzeczy ogarnąć.
@harnasiek: ale że tak zapytam po #!$%@?? xD Chcesz sprawdzić pary to robisz sobie countera.


Taki counter już pozwala podjąć wiele decyzji - jeżeli zawiera więcej niż dwa klucze to nie możemy mieć karety ani fulla, jeżeli dokładnie dwa to wtedy wystarczy sprawdzić czy losowa wartość jest ze zbioru (2, 3) czy (1, 4) i mamy odpowiedź. Jeżeli zawiera mniej niż 5 kluczy to nie mamy strita, i tak dalej.
nie rozumiem jak działa counter, i takie coś mam narazieDICE POKER


@harnasiek: ło panie, no ładne to to nie jest. Zrób sobie z tych kostek jakiegoś arraya, doczytaj jak działa counter i go dodaj, warunki dla poszczególnych układów wyciągnij do osobnych funkcji biorących tego arraya jako input.

No i tutaj masz rozpisany tylko pojedynczy rzut. I to nawet też nie, bo zwróci tylko najwyżej punktowany układ. Daleka droga do zrobienia z