Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const FALSE = 0
- const TRUE = 1
- range BOOLEAN = FALSE..TRUE
- //ogni giocatore ha 3 carte iniziali
- GIOCATORE = GIOCATORE[TRUE][TRUE][TRUE],
- GIOCATORE[c1:BOOLEAN][c2:BOOLEAN][c3:BOOLEAN] = (
- when (c1==TRUE) gioca[1] -> ATTENDIRISULTATO[FALSE][c2][c3] |
- when (c2==TRUE) gioca[2] -> ATTENDIRISULTATO[c1][FALSE][c3] |
- when (c3==TRUE) gioca[3] -> ATTENDIRISULTATO[c1][c2][FALSE] |
- hoVinto -> GIOCATORE |
- nonHoVinto -> GIOCATORE
- ),
- ATTENDIRISULTATO[c1:BOOLEAN][c2:BOOLEAN][c3:BOOLEAN] = (
- preso -> GIOCATORE[c1][c2][c3] |
- nonPreso -> GIOCATORE[c1][c2][c3] |
- nullo -> GIOCATORE[c1][c2][c3]
- ).
- ARBITRO = ARBITRO[0][0][0],
- ARBITRO[preseMarco:0..3][preseAnna:0..3][giocate:0..3]=(
- when(giocate < 3) marco.gioca[valCartaMarco:1..3] -> anna.gioca[valCartaAnna:1..3] -> DECIDI[preseMarco][preseAnna][giocate][valCartaMarco][valCartaAnna] |
- when(giocate == 3) finePartita -> DECIDIVINCITORE[preseMarco][preseAnna]
- ),
- DECIDI[preseMarco:0..3][preseAnna:0..3][giocate:0..3][valCartaMarco:1..3][valCartaAnna:1..3] = (
- when(valCartaMarco>valCartaAnna) marco.preso -> anna.nonPreso -> ARBITRO[preseMarco+1][preseAnna][giocate+1] |
- when(valCartaMarco<valCartaAnna) marco.nonPreso -> anna.preso -> ARBITRO[preseMarco][preseAnna+1][giocate+1] |
- when(valCartaMarco==valCartaAnna) marco.nullo -> anna.nullo -> ARBITRO[preseMarco][preseAnna][giocate+1]
- ),
- DECIDIVINCITORE[preseMarco:0..3][preseAnna:0..3] = (
- when(preseMarco>preseAnna) marco.hoVinto -> anna.nonHoVinto -> ARBITRO |
- when(preseMarco<preseAnna) marco.nonHoVinto -> anna.hoVinto -> ARBITRO |
- when(preseMarco==preseAnna) marco.nonHoVinto -> anna.nonHoVinto -> ARBITRO
- ).
- ||SYS = (marco:GIOCATORE || anna:GIOCATORE || ARBITRO).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement