| summaryrefslogtreecommitdiff | 
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2021-09-04 22:26:09 +0200 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2021-09-04 22:26:09 +0200 | 
| commit | 050e329f2a2e2367c2e4f1965190b0f6a5addf29 (patch) | |
| tree | b6bf78443e11abda7c41375ee89831bbe0032edb /data/examples/blackjack | |
| parent | 235dc12bf63220371f2ef4defb1f563830e6719a (diff) | |
The blackjack example works again.parser_rework
Diffstat (limited to 'data/examples/blackjack')
| -rw-r--r-- | data/examples/blackjack/cards.fate | 14 | ||||
| -rw-r--r-- | data/examples/blackjack/global.fate | 10 | ||||
| -rw-r--r-- | data/examples/blackjack/play.fate | 32 | 
3 files changed, 33 insertions, 23 deletions
| diff --git a/data/examples/blackjack/cards.fate b/data/examples/blackjack/cards.fate index 6868650..7245436 100644 --- a/data/examples/blackjack/cards.fate +++ b/data/examples/blackjack/cards.fate @@ -10,13 +10,13 @@  (set! card_generator     (lambda ( (string family) ) -      (map +      (list:map           (lambda              (                 (int number)                 (string family)              ) -            (set_fields (default card) +            (struct:set_fields (default card)                 (number (var number))                 (name                    (text @@ -33,7 +33,7 @@                 (score (clamp 1 number 10))              )           ) -         (range 1 13 1) +         (list:range 1 13 1)           (var family)        )     ) @@ -41,10 +41,10 @@  (global (list card) deck_template) -(add_all! (eval card_generator Hearts) deck_template) -(add_all! (eval card_generator Spades) deck_template) -(add_all! (eval card_generator Diamonds) deck_template) -(add_all! (eval card_generator Clubs) deck_template) +(list:add_all! (eval card_generator Hearts) deck_template) +(list:add_all! (eval card_generator Spades) deck_template) +(list:add_all! (eval card_generator Diamonds) deck_template) +(list:add_all! (eval card_generator Clubs) deck_template)  (define_sequence compute_score (((ptr (list card)) deck) ((ptr int) result))     (local int aces_count) diff --git a/data/examples/blackjack/global.fate b/data/examples/blackjack/global.fate index d08706b..acf054e 100644 --- a/data/examples/blackjack/global.fate +++ b/data/examples/blackjack/global.fate @@ -15,8 +15,12 @@     )  ) +(global int marker_0) +  (declare_text_effect action_description) +(global int marker_1) +  (define_sequence money_acquisition ((int amount))     (set! player.money (+ player.money amount))     (if (> amount 0) @@ -26,6 +30,8 @@     )  ) +(global int marker_2) +  (define_sequence money_loss ((int amount))     (set! player.money (- player.money amount))     (if (> amount 0) @@ -35,4 +41,8 @@     )  ) +(global int marker_3) +  (declare_input_event escape) + +(global int marker_4) diff --git a/data/examples/blackjack/play.fate b/data/examples/blackjack/play.fate index c914b8f..fd4d65c 100644 --- a/data/examples/blackjack/play.fate +++ b/data/examples/blackjack/play.fate @@ -38,26 +38,26 @@     (newline) -   (set! current_deck (shuffle deck_template)) +   (set! current_deck (list:shuffle deck_template)) -   (pop_left! current_deck (ptr new_card)) -   (add! (var new_card) player.hand) +   (list:pop_left! current_deck new_card) +   (list:add! (var new_card) player.hand)     (text_effect action_description        You have been dealt the (var new_card.name).        (newline)     ) -   (pop_left! current_deck (ptr new_card)) -   (add! (var new_card) dealer_hand) +   (list:pop_left! current_deck new_card) +   (list:add! (var new_card) dealer_hand)     (text_effect action_description        The dealer has drawn the (var new_card.name).        (newline)     ) -   (pop_left! current_deck (ptr new_card)) -   (add! (var new_card) player.hand) +   (list:pop_left! current_deck new_card) +   (list:add! (var new_card) player.hand)     (text_effect action_description        You have been dealt the (var new_card.name). @@ -66,8 +66,8 @@     (newline) -   (pop_left! current_deck (ptr new_card)) -   (add! (var new_card) dealer_hand) +   (list:pop_left! current_deck new_card) +   (list:add! (var new_card) dealer_hand)     (text_effect action_description        The dealer has drawn a card, face down. @@ -76,8 +76,8 @@     (visit! initial_draw) -   (clear! dealer_hand) -   (clear! player.hand) +   (list:clear! dealer_hand) +   (list:clear! player.hand)     (newline)     Interesting. Would you like to go again? @@ -177,8 +177,8 @@     (local card new_card)     (local int player_score) -   (pop_left! current_deck (ptr new_card)) -   (add! (var new_card) player.hand) +   (list:pop_left! current_deck new_card) +   (list:add! (var new_card) player.hand)     (visit! compute_score (ptr player.hand) (ptr player_score)) @@ -207,7 +207,7 @@        A bust! What a shame...        (newline)        (visit! money_loss (var bet)) -      (done) +      (done!)     )     (if (var has_doubled) @@ -253,8 +253,8 @@     (while (< dealer_score 17)        (local card new_card) -      (pop_left! current_deck (ptr new_card)) -      (add! (var new_card) dealer_hand) +      (list:pop_left! current_deck new_card) +      (list:add! (var new_card) dealer_hand)        (text_effect action_description           The dealer has drawn the (var new_card.name). | 


