(define betting-rules '(((forall x in other/players (poker:<= my/hand (lo-hand x))) ==> (raise max-raise)) ((forall x in other/players (poker:>= my/hand (hi-hand x))) ==> (raise max-raise)) ((poker:>= my/hand '(two-pairs)) ==> (raise (+ (random 30) 5))) ((poker:> my/hand '(high-card)) ==> (call)) (#t ==> (pass)))) (define declaration-rules '(((= num-active-players 1) ==> (declare-high)) ((forall x in other/players (poker:<= my/hand (lo-hand x))) ==> (declare-low)) ((forall x in other/players (poker:>= my/hand (hi-hand x))) ==> (declare-high)) ((poker:>= my/hand one-pair) ==> (declare-high)) ((exists x in other/players (poker:<= my/hand (lo-hand x))) ==> (declare-low)) ((exists x in other/players (poker:>= my/hand (hi-hand x))) ==> (declare-high)) (#t ==> (declare-low)))) (define poker-player (list 'studdius "V.Arvind" betting-rules declaration-rules (lambda () '()))) (define *print-to-file* '("mypoker.txt" (table-info all-cards betting declarations showdown) (state-info rule-firings predicate-matching action-execution))) (define *print-to-screen* '(predicate-matching rule-firings)) ; '(state-info predicate-matching rule-firings action-execution))