Hra Kostky ve Scheme

Hra simulující házení dvěma kostkami. Dva generátory náhodných čísel simulují hodnoty na dvojici šestistěnných hracích kostek. Hráči hádají součet hodnot jenž padne na kostkách.


Pravidla hry:

Hráči sázejí a hádají součet čísel na dvojici kostek která padnou:

Čísla 2 až 12: Hráč se snaží uhodnout součet hodnot kostek od 2 do 12. Pouze tady lze vsadit na dvě šestky (12). Výhra je 10* vklad. 

Sudá nebo Lichá čísla: Hráč se snaží uhodnout jestli padne součet hodnot kostek od 2 do 11 jako sudý nebo lichý.  Dvě šestky (12) značí prohru. Výhra je 2* vklad.

Čísla 2až6 nebo 7až11: Hráč se snaží uhodnout rozsah ve kterém padne součet hodnot kostek. Rozsah je 2 až 6 nebo 7 až 11. Dvě šestky (12) značí prohru. Výhra je 2* vklad.

Před začátkem hry je vhodné stanovit min. a max. výši sázky (vkladu).

Před začátkem hry je třeba dát do Banku odpovídající částku dle počtu hráčů (pro každého hráče alespoň 10ti násobek max. vkladu).

Před začátkem hry dostanou všichni hráči stejný obnos (alespoň 5ti násobek max. vkladu).

Je třeba se domluvit, zda-li může mít hráč pro dané kolo jednu nebo více sázek.

Po vsazení je vklad majetkem Banku a Banku také propadá. Z banku se však vyplácí udávaný násobek případné výhry.

Při výhře se vyplácí násobek vkladu z Banku. Nikoliv násobek + vklad.

Pokud na jedné nebo obou kostkách padne 0, opakuje se hra – vklady a sázky zůstávají.

Hraje se tak dlouho, dokud má Bank na vyplácení výher, dokud mají hráči na sázky a dokud to hráče baví.


Hra je postavena tak, aby byla vždy větší šance na straně Banku. U hádání čísel je šance na výhru 1:11, vyplácí se však max. desetinásobek výhry. U kombinací tvářících se jako 50:50, 1:1 je určena hodnota 12 zajištující výhodu pro Bank. Čím větší násobek max. vkladu je při zahájení hry uložen v Banku i u hráčů, tím je hra delší.

Ke hře používejte herní peníze či žetony. Nehrajte o skutečné peníze. Můžete si vytisknout na A4 sázecí plán.

Ty, co omrzí Scheme, můžou použít dvě hrací kostky.


(define R1(random 7))
(define R2(random 7))
(define Suda "Suda")
(define Licha "Licha")
(define 2az6 "2az6")
(define 7az11 "7az11")

(define Padne
  (lambda (Vstup)
    (if (number? Vstup)
 
        (cond
           ((>= 1 (+ R1 R2)) (display " Kostky spadly na zem! ") (+ R1 R2))
           ((= Vstup (+ R1 R2)) (display "Vyhra! Vklad *10. Padlo: ") (+ R1 R2))
           ((< Vstup (+ R1 R2)) (display " Prohra! Vklad propadá do Banku. Padlo: ") (+ R1 R2))
           ((> Vstup (+ R1 R2)) (display " Prohra! Vklad propadá do Banku. Padlo: ") (+ R1 R2))
           )
 
        (cond
           ((string=? Vstup "Suda")
            (if (>= 1 (+ R1 R2))
                (display " Kostky spadly na zem! ") 
                (if (even? (+ R1 R2))
                    (if (= 12 (+ R1 R2))
                        (display " Prohra! Vklad propadá do Banku. Padlo: ") 
                        (display "Vyhra! Vklad *2. Padlo: ")
                )
                (display " Prohra! Vklad propadá do Banku. Padlo: ")
                )) (+ R1 R2))
 
          ((string=? Vstup "Licha")
           (if (>= 1 (+ R1 R2))
               (display " Kostky spadly na zem! ") 
               (if (odd? (+ R1 R2))
                   (display "Vyhra! Vklad *2 Padlo: ") 
                   (display " Prohra! Vklad propadá do Banku. Padlo: ")
                   )) (+ R1 R2))
 
         ((string=? Vstup "2az6")
          (if (>= 1 (+ R1 R2))
              (display " Kostky spadly na zem! ") 
              (if (and (>= (+ R1 R2) 2) (<= (+ R1 R2) 6)) 
                  (display "Vyhra! Vklad *2 Padlo: ") 
                  (display " Prohra! Vklad propadá do Banku. Padlo: ")
                  )) (+ R1 R2))
 
         ((string=? Vstup "7az11")
          (if (>= 1 (+ R1 R2))
              (display " Kostky spadly na zem! ") 
              (if (and (>= (+ R1 R2) 7) (<= (+ R1 R2) 11)) 
                  (display "Vyhra! Vklad *2 Padlo: ") 
                  (display " Prohra! Vklad propadá do Banku. Padlo: ")
                  )) (+ R1 R2))
 )))) 

#| ------------------------------------------------------------------------------------------) |#
#| ----------------------------------- TIPY HRACU -------------------------------------------) |#

(Padne Licha)
(Padne Suda)
(Padne 6)
(Padne 3)
(Padne 7)
(Padne 12)
(Padne 2az6)
(Padne 7az11)

retzh98x5

Kostka