From news-rocq.inria.fr!univ-lyon1.fr!fdn.fr!jussieu.fr!oleane!plug.news.pipex.net!pipex!dish.news.pipex.net!pipex!europa.chnt.gtegsc.com!news.kreonet.re.kr!news.dacom.co.kr!newsfeed.internetmci.com!chi-news.cic.net!news.wctc.net!spcuna!news.stormking.c Wed Nov 15 16:28:42 1995 Article: 2909 of rec.games.corewar Path: news-rocq.inria.fr!univ-lyon1.fr!fdn.fr!jussieu.fr!oleane!plug.news.pipex.net!pipex!dish.news.pipex.net!pipex!europa.chnt.gtegsc.com!news.kreonet.re.kr!news.dacom.co.kr!newsfeed.internetmci.com!chi-news.cic.net!news.wctc.net!spcuna!news.stormking.com!sieben@IMAP1.ASU.EDU From: sieben@IMAP1.ASU.EDU Newsgroups: rec.games.corewar Subject: NSFCWT round 6 tester Date: 14 Nov 1995 17:49:07 -0500 Organization: Storm King Ind. Inc. Lines: 59 Sender: server@news.stormking.com Distribution: world Message-ID: Reply-To: sieben@IMAP1.ASU.EDU NNTP-Posting-Host: valhalla.stormking.com Originator: corewar-l@stormking.com Karl Lewin sent me a tester program that implement my cheating idea. Please test your warriros against this tester. Your warrior should lose against it 100 % . We are going to test all submissions with this so now it's an official requirement to pass this test. There is one more thing. You shouldn't look at your enemy's code. I think would only be usefull against the whites anyway. Nandor. ;redcode-94 ;name Test for Timeouts ;author Karl Lewin ;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 he ; B-field of instruction 'my_hand'. ;---BEGIN-VARIABLE-PART----------------------------------------------------- start jmz.b start, your_hand sne.ab STONE, your_hand mov.ab PAPER, my_hand sne.ab SCISSORS,your_hand mov.ab STONE, my_hand sne.ab PAPER, your_hand mov.ab 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