All Downloads are FREE. Search and download functionalities are using the official Maven repository.

APT.all-test.dice-model-bot-new.bid.soar Maven / Gradle / Ivy


sp {propose*bid*last-bid-not-one-next-bid-not-one
   (state  ^io.input-link 
              ^dice-data.next-bid 
              ^true-dice-counts.dice-counted true
              ^last-bid )
   ( ^current-face 
         ^new-face 
         ^increment-multiplier )
   ( ^affordances.action 
         ^state.special false)
   ( ^name bid
        ^available true)
   ( ^face 
               ^count )
-->
   ( ^operator )
   ( ^name bid
        ^face 
        ^multiplier (+  ))}

sp {propose*bid*last-bid-not-one-next-bid-not-one*push*face*not-one
   (state  ^io.input-link 
              ^dice-data.next-bid 
              ^true-dice-counts.dice-counted true
              ^last-bid )
   ( ^current-face 
         ^new-face 
         ^increment-multiplier )
   ( ^affordances.action 
        -^state.last-bid nil
         ^state.special false
         ^players.me.cup )
   ( ^name bid
        ^available true)
   ( ^face 
               ^count )
   ( ^count > 1
          ^ > 0
         -^1 > 0)
-->
   #Also propose bid that pushes 1's and face being bid
   ( ^operator )
   ( ^name bid
         ^face 
         ^push-face-count 1
         ^push-face 
         ^multiplier (+  ))
#   (write (crlf) |-Propose bid with push. Bid: | (+  ) | |  |'s. Push: | )
#   (write (crlf) |-Last bid: |  | |  |'s|)
}

sp {propose*bid*last-bid-not-one-next-bid-not-one*push*face*one
   (state  ^io.input-link 
              ^dice-data.next-bid 
              ^true-dice-counts.dice-counted true
              ^last-bid )
   ( ^current-face 
         ^new-face 
         ^increment-multiplier )
   ( ^affordances.action 
        -^state.last-bid nil
         ^state.special false
         ^players.me.cup )
   ( ^name bid
        ^available true)
   ( ^face 
               ^count )
   ( ^count > 2
          ^ > 0
          ^1 > 0)
-->
   #Also propose bid that pushes 1's and face being bid
   ( ^operator )
   ( ^name bid
         ^face 
         ^push-face-count 2
         ^push-face 
         ^push-face 1
         ^multiplier (+  ))
#   (write (crlf) |-Propose bid with push. Bid: | (+  ) | |  |'s. Push: |  | & 1|)
#   (write (crlf) |-Last bid: |  | |  |'s|)
}
 

sp {propose*bid*last-bid-not-one-next-bid-not-one*push*one
   (state  ^io.input-link 
              ^dice-data.next-bid 
              ^true-dice-counts.dice-counted true
              ^last-bid )
   ( ^current-face 
         ^new-face 
         ^increment-multiplier )
   ( ^affordances.action 
        -^state.last-bid nil
         ^state.special false
         ^players.me.cup )
   ( ^name bid
        ^available true)
   ( ^face 
               ^count )
   ( ^count > 1
         -^ > 0
          ^1 > 0)
-->
   #Also propose bid that pushes 1's and face being bid
   ( ^operator )
   ( ^name bid
         ^face 
         ^push-face-count 1
         ^push-face 1
         ^multiplier (+  ))
#   (write (crlf) |-Propose bid with push. Bid: | (+  ) | |  |'s. Push: |  | & 1|)
#   (write (crlf) |-Last bid: |  | |  |'s|)
}
 
## Increment 1 bid to new 1 bid
sp {propose*bid*last-bid-one-next-bid-one
   (state  ^io.input-link 
              ^true-dice-counts.dice-counted true
              ^last-bid )
   ( ^affordances.action 
         ^state.special false)
   ( ^name bid
        ^available true)
   ( ^face 1
               ^count )
-->
   ( ^operator )
   ( ^name bid
        ^face 1
        ^multiplier (+ 1 ))
}


## Increment 1 bid to new 1 bid * and push
sp {propose*bid*last-bid-one-next-bid-one*push*1
   (state  ^io.input-link 
              ^true-dice-counts.dice-counted true
              ^last-bid )
   ( ^affordances.action 
        -^state.last-bid nil
         ^state.special false
         ^players.me.cup )
   ( ^1 > 0
          ^count > 1)
   ( ^name bid
        ^available true)
   ( ^face 1
               ^count )
-->
   #Also propose bid that pushes 1's
   ( ^operator )
   ( ^name bid
         ^face 1
         ^push-face-count 1
         ^push-face 1
         ^multiplier (+ 1 ))
}

# Make 1 bid after non-one bid
sp {propose*bid*last-bid-not-one-next-bid-one
   (state  ^io.input-link 
              ^true-dice-counts.dice-counted true
              ^last-bid )
   ( ^state.special false
         ^affordances.action )
   ( ^name bid
        ^available true)
   ( ^face <> 1
               ^count )
-->
   ( ^operator )
   ( ^name bid
        ^face 1
        ^multiplier (div (+ 1 ) 2))
}


sp {propose*bid*last-bid-not-one-next-bid-one*push*1
   (state  ^io.input-link 
              ^true-dice-counts.dice-counted true
              ^last-bid )
   ( ^state.special false
        -^state.last-bid nil
         ^affordances.action 
         ^players.me.cup )
   ( ^count > 1
          ^1 > 0)
   ( ^name bid
        ^available true)
   ( ^face <> 1
               ^count )
-->
   ( ^operator )
   ( ^name bid
         ^face 1
         ^push-face-count 1
         ^push-face 1
         ^multiplier (div (+ 1 ) 2))
}

## Last bid was a 1 bid

sp {elaborate*last-one-bid*lower*multiplier
   (state  ^true-dice-counts.dice-counted true
              ^last-bid )
   ( ^face 1
               ^count )
-->
   ( ^last-bid-1-lower-multiplier (* 2 ))
}
sp {propose*bid*last-bid-one-next-bid-not-one
   (state  ^io.input-link 
              ^last-bid-1-lower-multiplier 
              ^dice-data.next-bid 
              ^true-dice-counts.dice-counted true
              ^last-bid.face 1)
   ( ^current-face 6
         ^new-face 
         ^increment-multiplier )
   ( ^state.special false
         ^affordances.action )
   ( ^name bid
        ^available true)
-->
   ( ^operator )
   ( ^name bid
        ^face 
        ^multiplier (+  ))
}

sp {propose*bid*last-bid-one-next-bid-not-one*push2
   (state  ^io.input-link 
              ^last-bid-1-lower-multiplier 
              ^dice-data.next-bid 
              ^true-dice-counts.dice-counted true
              ^last-bid.face 1)
   ( ^current-face 6
         ^new-face 
         ^increment-multiplier )
   ( ^state.special false
        -^state.last-bid nil
         ^affordances.action 
         ^players.me.cup )
   ( ^count > 2
          ^ > 0
          ^1 > 0)
   ( ^name bid
        ^available true)
-->
   ( ^operator )
   ( ^name bid
         ^push-face-count 2
         ^push-face 
         ^push-face 1
         ^face 
         ^multiplier (+  ))
}

sp {propose*bid*last-bid-one-next-bid-not-one*push*face
   (state  ^io.input-link 
              ^last-bid-1-lower-multiplier 
              ^dice-data.next-bid 
              ^true-dice-counts.dice-counted true
              ^last-bid.face 1)
   ( ^current-face 6
         ^new-face 
         ^increment-multiplier )
   ( ^state.special false
        -^state.last-bid nil
         ^affordances.action 
         ^players.me.cup )
   ( ^count > 1
          ^ > 0
         -^1 > 0)
   ( ^name bid
        ^available true)
-->
#   ( ^operator )
#   ( ^name bid
#        ^face 
#        ^multiplier (+  ))
   ( ^operator )
   ( ^name bid
         ^push-face-count 1
         ^push-face 
         ^face 
         ^multiplier (+  ))
}

sp {propose*bid*last-bid-one-next-bid-not-one*push1
   (state  ^io.input-link 
              ^last-bid-1-lower-multiplier 
              ^dice-data.next-bid 
              ^true-dice-counts.dice-counted true
              ^last-bid.face 1)
   ( ^current-face 6
         ^new-face 
         ^increment-multiplier )
   ( ^state.special false
        -^state.last-bid nil
         ^affordances.action 
         ^players.me.cup )
   ( ^count > 1
         -^ > 0
          ^1 > 0)
   ( ^name bid
        ^available true)
-->
   ( ^operator )
   ( ^name bid
         ^push-face-count 1
         ^push-face 1
         ^face 
         ^multiplier (+  ))
}

##################################
sp {apply*bid
   (state  ^operator 
              ^io.output-link 
    ) ( ^name bid ^face ^multiplier ) --> # (interrupt) (write (crlf) |Bid: | |'s | ) (
      ^bid ) ( ^face ^multiplier ) } sp {apply*bid*push (state ^operator ) ( ^io.input-link.players.me.cup.die ) ( ^face ) ( ^name bid ^push-face ) --> (write (crlf) |Push: | ) ( ^push-bid.die ) }