;redcode-94
;name Paper-Scissors-Stone #1
;author Nandor Sieben & Stefan Strack
;White warrior that plays the game of Paper-Scissors-Stone in NSFCWT round 5
;Needs to be paired with one opponent exactly half the coresize apart (-d 4000)
;assert WARRIORS==1 || (WARRIORS == 2 && MINDISTANCE == CORESIZE/2)
;assert VERSION >= 80
;my/your_hand are used to communicate between players
your_hand equ (my_hand+CORESIZE/2)
PAPER equ #1 ;some useful constants
SCISSORS equ #2
STONE equ #3
org start
my_hand dat 0,0
;
; Variable part starts here. This is were I decide what hand to
; use next. I can use the value of the RESULTS cell (0 if lost,
; 1 if won, 2 if tied last round) and any other values I chose
; to store in pspace. The hand I decide to show is stored in the
; B-field of instruction 'my_hand'.
;---BEGIN-VARIABLE-PART-----------------------------------------------------
start mov PAPER,my_hand ;play PAPER no matter what
;---END-VARIABLE PART-------------------------------------------------------
; End of variable part. I wait for the other player to show his hand.
; I then analyze the outcome of the game.
;
wait jmz.b wait,your_hand
work mov.b your_hand,#work
sub.b my_hand,work ;your_hand minus my_hand, loss=1,-2
add #2,work ;loss=3,0
mod #3,work ;loss=0
live jmn live,work ;die if lost, live if won or tied
end
=====================================================================
;redcode-94
;name Paper-Scissors-Stone #2
;author Nandor Sieben & Stefan Strack
;White warrior that plays the game of Paper-Scissors-Stone in NSFCWT round 5
;Needs to be paired with one opponent exactly half the coresize apart (-d 4000)
;assert WARRIORS==1 || (WARRIORS == 2 && MINDISTANCE == CORESIZE/2)
;assert VERSION >= 80
;my/your_hand are used to communicate between players
your_hand equ (my_hand+CORESIZE/2)
PAPER equ #1 ;some useful constants
SCISSORS equ #2
STONE equ #3
org start
my_hand dat 0,0
;
; Variable part starts here. This is were I decide what hand to
; use next. I can use the value of the RESULTS cell (0 if lost,
; 1 if won, 2 if tied last round) and any other values I chose
; to store in pspace. The hand I decide to show is stored in the
; B-field of instruction 'my_hand'.
;---BEGIN-VARIABLE-PART-----------------------------------------------------
start mov SCISSORS,my_hand ;play SCISSORS no matter what
;---END-VARIABLE PART-------------------------------------------------------
; End of variable part. I wait for the other player to show his hand.
; I then analyze the outcome of the game.
;
wait jmz.b wait,your_hand
work mov.b your_hand,#work
sub.b my_hand,work ;your_hand minus my_hand, loss=1,-2
add #2,work ;loss=3,0
mod #3,work ;loss=0
live jmn live,work ;die if lost, live if won or tied
end
=====================================================================
;redcode-94
;name Paper-Scissors-Stone #3
;author Nandor Sieben & Stefan Strack
;White warrior that plays the game of Paper-Scissors-Stone in NSFCWT round 5
;Needs to be paired with one opponent exactly half the coresize apart (-d 4000)
;assert WARRIORS==1 || (WARRIORS == 2 && MINDISTANCE == CORESIZE/2)
;assert VERSION >= 80
;my/your_hand are used to communicate between players
your_hand equ (my_hand+CORESIZE/2)
PAPER equ #1 ;some useful constants
SCISSORS equ #2
STONE equ #3
org start
my_hand dat 0,0
;
; Variable part starts here. This is were I decide what hand to
; use next. I can use the value of the RESULTS cell (0 if lost,
; 1 if won, 2 if tied last round) and any other values I chose
; to store in pspace. The hand I decide to show is stored in the
; B-field of instruction 'my_hand'.
;---BEGIN-VARIABLE-PART-----------------------------------------------------
start mov STONE,my_hand ;play STONE no matter what
;---END-VARIABLE PART-------------------------------------------------------
; End of variable part. I wait for the other player to show his hand.
; I then analyze the outcome of the game.
;
wait jmz.b wait,your_hand
work mov.b your_hand,#work
sub.b my_hand,work ;your_hand minus my_hand, loss=1,-2
add #2,work ;loss=3,0
mod #3,work ;loss=0
live jmn live,work ;die if lost, live if won or tied
end
=====================================================================
;redcode-94
;name Paper-Scissors-Stone #4
;author Nandor Sieben & Stefan Strack
;White warrior that plays the game of Paper-Scissors-Stone in NSFCWT round 5
;Needs to be paired with one opponent exactly half the coresize apart (-d 4000)
;assert WARRIORS==1 || (WARRIORS == 2 && MINDISTANCE == CORESIZE/2)
;assert VERSION >= 80
;my/your_hand are used to communicate between players
your_hand equ (my_hand+CORESIZE/2)
PAPER equ #1 ;some useful constants
SCISSORS equ #2
STONE equ #3
org start
my_hand dat 0,0
;
; Variable part starts here. This is were I decide what hand to
; use next. I can use the value of the RESULTS cell (0 if lost,
; 1 if won, 2 if tied last round) and any other values I chose
; to store in pspace. The hand I decide to show is stored in the
; B-field of instruction 'my_hand'.
;---BEGIN-VARIABLE-PART-----------------------------------------------------
RESULT equ #0 ;last result
STRAT equ #1
start
res ldp RESULT,#res
strgy ldp STRAT,#strgy
sub #1,res
jmz store,res ;win -> use last strategy
add #2,strgy ;tie,loss -> next strategy
mod #3,strgy
stp strgy,STRAT
store add.ab #1,strgy
mov.b strgy,my_hand
;---END-VARIABLE PART-------------------------------------------------------
; End of variable part. I wait for the other player to show his hand.
; I then analyze the outcome of the game.
;
wait jmz.b wait,your_hand
work mov.b your_hand,#work
sub.b my_hand,work ;your_hand minus my_hand, loss=1,-2
add #2,work ;loss=3,0
mod #3,work ;loss=0
live jmn live,work ;die if lost, live if won or tied
end
=====================================================================
;redcode-94
;name Paper-Scissors-Stone #5
;author Nandor Sieben & Stefan Strack
;White warrior that plays the game of Paper-Scissors-Stone in NSFCWT round 5
;Needs to be paired with one opponent exactly half the coresize apart (-d 4000)
;assert WARRIORS==1 || (WARRIORS == 2 && MINDISTANCE == CORESIZE/2)
;assert VERSION >= 80
;my/your_hand are used to communicate between players
your_hand equ (my_hand+CORESIZE/2)
PAPER equ #1 ;some useful constants
SCISSORS equ #2
STONE equ #3
org start
my_hand dat 0,0
;
; Variable part starts here. This is were I decide what hand to
; use next. I can use the value of the RESULTS cell (0 if lost,
; 1 if won, 2 if tied last round) and any other values I chose
; to store in pspace. The hand I decide to show is stored in the
; B-field of instruction 'my_hand'.
;---BEGIN-VARIABLE-PART-----------------------------------------------------
STRAT equ #1
start
strgy ldp STRAT,#strgy
add #1,strgy ;next strategy no matter what
mod #3,strgy ;123123..
stp strgy,STRAT
store add.ab #1,strgy
mov.b strgy,my_hand
;---END-VARIABLE PART-------------------------------------------------------
; End of variable part. I wait for the other player to show his hand.
; I then analyze the outcome of the game.
;
wait jmz.b wait,your_hand
work mov.b your_hand,#work
sub.b my_hand,work ;your_hand minus my_hand, loss=1,-2
add #2,work ;loss=3,0
mod #3,work ;loss=0
live jmn live,work ;die if lost, live if won or tied
end
=====================================================================
;redcode-94
;name Paper-Scissors-Stone #6
;author Nandor Sieben & Stefan Strack
;White warrior that plays the game of Paper-Scissors-Stone in NSFCWT round 5
;Needs to be paired with one opponent exactly half the coresize apart (-d 4000)
;assert WARRIORS==1 || (WARRIORS == 2 && MINDISTANCE == CORESIZE/2)
;assert VERSION >= 80
;my/your_hand are used to communicate between players
your_hand equ (my_hand+CORESIZE/2)
PAPER equ #1 ;some useful constants
SCISSORS equ #2
STONE equ #3
org start
my_hand dat 0,0
;
; Variable part starts here. This is were I decide what hand to
; use next. I can use the value of the RESULTS cell (0 if lost,
; 1 if won, 2 if tied last round) and any other values I chose
; to store in pspace. The hand I decide to show is stored in the
; B-field of instruction 'my_hand'.
;---BEGIN-VARIABLE-PART-----------------------------------------------------
STRAT equ #1
start
strgy ldp STRAT,#strgy
add #1,strgy ;next strategy no matter what
stp strgy,STRAT ;but slowly
div #5,strgy
mod #3,strgy ;1111222223333311111..
store add.ab #1,strgy
mov.b strgy,my_hand
;---END-VARIABLE PART-------------------------------------------------------
; End of variable part. I wait for the other player to show his hand.
; I then analyze the outcome of the game.
;
wait jmz.b wait,your_hand
work mov.b your_hand,#work
sub.b my_hand,work ;your_hand minus my_hand, loss=1,-2
add #2,work ;loss=3,0
mod #3,work ;loss=0
live jmn live,work ;die if lost, live if won or tied
end
=====================================================================
;redcode-94
;name Paper-Scissors-Stone #7
;author Nandor Sieben & Stefan Strack
;White warrior that plays the game of Paper-Scissors-Stone in NSFCWT round 5
;Needs to be paired with one opponent exactly half the coresize apart (-d 4000)
;assert WARRIORS==1 || (WARRIORS == 2 && MINDISTANCE == CORESIZE/2)
;assert VERSION >= 80
;my/your_hand are used to communicate between players
your_hand equ (my_hand+CORESIZE/2)
PAPER equ #1 ;some useful constants
SCISSORS equ #2
STONE equ #3
org start
my_hand dat 0,0
;
; Variable part starts here. This is were I decide what hand to
; use next. I can use the value of the RESULTS cell (0 if lost,
; 1 if won, 2 if tied last round) and any other values I chose
; to store in pspace. The hand I decide to show is stored in the
; B-field of instruction 'my_hand'.
;---BEGIN-VARIABLE-PART-----------------------------------------------------
COUNT1 equ #1
COUNT
start
strgy ldp STRAT,#strgy
add #1,strgy
stp strgy,STRAT
div #501,strgy
STRAT jmz store, strgy
mov PAPER,my_hand
jmp wait
store mov STONE,my_hand
;---END-VARIABLE PART-------------------------------------------------------
; End of variable part. I wait for the other player to show his hand.
; I then analyze the outcome of the game.
;
wait jmz.b wait,your_hand
work mov.b your_hand,#work
sub.b my_hand,work ;your_hand minus my_hand, loss=1,-2
add #2,work ;loss=3,0
mod #3,work ;loss=0
live jmn live,work ;die if lost, live if won or tied
end
=====================================================================
;redcode-94
;name Paper-Scissors-Stone #8
;author Nandor Sieben & Stefan Strack
;White warrior that plays the game of Paper-Scissors-Stone in NSFCWT round 5
;Needs to be paired with one opponent exactly half the coresize apart (-d 4000)
;assert WARRIORS==1 || (WARRIORS == 2 && MINDISTANCE == CORESIZE/2)
;assert VERSION >= 80
;my/your_hand are used to communicate between players
your_hand equ (my_hand+CORESIZE/2)
PAPER equ #1 ;some useful constants
SCISSORS equ #2
STONE equ #3
org start
my_hand dat 0,0
;
; Variable part starts here. This is were I decide what hand to
; use next. I can use the value of the RESULTS cell (0 if lost,
; 1 if won, 2 if tied last round) and any other values I chose
; to store in pspace. The hand I decide to show is stored in the
; B-field of instruction 'my_hand'.
;---BEGIN-VARIABLE-PART-----------------------------------------------------
COUNT1 equ #1
COUNT
start
strgy ldp STRAT,#strgy
add #1,strgy
stp strgy,STRAT
div #501,strgy
STRAT jmz store, strgy
mov STONE,my_hand
jmp wait
store mov SCISSORS,my_hand
;---END-VARIABLE PART-------------------------------------------------------
; End of variable part. I wait for the other player to show his hand.
; I then analyze the outcome of the game.
;
wait jmz.b wait,your_hand
work mov.b your_hand,#work
sub.b my_hand,work ;your_hand minus my_hand, loss=1,-2
add #2,work ;loss=3,0
mod #3,work ;loss=0
live jmn live,work ;die if lost, live if won or tied
end
=====================================================================
;redcode-94
;name Paper-Scissors-Stone #9
;author Nandor Sieben & Stefan Strack
;White warrior that plays the game of Paper-Scissors-Stone in NSFCWT round 5
;Needs to be paired with one opponent exactly half the coresize apart (-d 4000)
;assert WARRIORS==1 || (WARRIORS == 2 && MINDISTANCE == CORESIZE/2)
;assert VERSION >= 80
;my/your_hand are used to communicate between players
your_hand equ (my_hand+CORESIZE/2)
PAPER equ #1 ;some useful constants
SCISSORS equ #2
STONE equ #3
org start
my_hand dat 0,0
;
; Variable part starts here. This is were I decide what hand to
; use next. I can use the value of the RESULTS cell (0 if lost,
; 1 if won, 2 if tied last round) and any other values I chose
; to store in pspace. The hand I decide to show is stored in the
; B-field of instruction 'my_hand'.
;---BEGIN-VARIABLE-PART-----------------------------------------------------
COUNT1 equ #1
COUNT
start
strgy ldp STRAT,#strgy
add #1,strgy
stp strgy,STRAT
div #501,strgy
STRAT jmz store, strgy
mov STONE,my_hand
jmp wait
store mov PAPER,my_hand
;---END-VARIABLE PART-------------------------------------------------------
; End of variable part. I wait for the other player to show his hand.
; I then analyze the outcome of the game.
;
wait jmz.b wait,your_hand
work mov.b your_hand,#work
sub.b my_hand,work ;your_hand minus my_hand, loss=1,-2
add #2,work ;loss=3,0
mod #3,work ;loss=0
live jmn live,work ;die if lost, live if won or tied
end
=====================================================================
;redcode-94
;name Paper-Scissors-Stone #10
;author Nandor Sieben & Stefan Strack
;White warrior that plays the game of Paper-Scissors-Stone in NSFCWT round 5
;Needs to be paired with one opponent exactly half the coresize apart (-d 4000)
;assert WARRIORS==1 || (WARRIORS == 2 && MINDISTANCE == CORESIZE/2)
;assert VERSION >= 80
;my/your_hand are used to communicate between players
your_hand equ (my_hand+CORESIZE/2)
PAPER equ #1 ;some useful constants
SCISSORS equ #2
STONE equ #3
org start
my_hand dat 0,0
;
; Variable part starts here. This is were I decide what hand to
; use next. I can use the value of the RESULTS cell (0 if lost,
; 1 if won, 2 if tied last round) and any other values I chose
; to store in pspace. The hand I decide to show is stored in the
; B-field of instruction 'my_hand'.
;---BEGIN-VARIABLE-PART-----------------------------------------------------
RESULT equ #0 ;last result
STRAT equ #1
start
res ldp RESULT,#res
strgy ldp STRAT,#strgy ;paradoxical adapter
jmz store,res ;loss -> use last strategy
add #1,strgy ;tie,win -> next strategy
mod #3,strgy
stp strgy,STRAT
store add.ab #1,strgy
mov.b strgy,my_hand
;---END-VARIABLE PART-------------------------------------------------------
; End of variable part. I wait for the other player to show his hand.
; I then analyze the outcome of the game.
;
wait jmz.b wait,your_hand
work mov.b your_hand,#work
sub.b my_hand,work ;your_hand minus my_hand, loss=1,-2
add #2,work ;loss=3,0
mod #3,work ;loss=0
live jmn live,work ;die if lost, live if won or tied
end
=====================================================================