X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=src%2Flink%2FC%2Fc-link-lib%2Fagents%2Fc-lucifer.c;fp=src%2Flink%2FC%2Fc-link-lib%2Fagents%2Fc-lucifer.c;h=1dabc3424374d1d1357124371a9988b788667c5c;hb=e9a8105a8f22404f4ac550d79954eaa6b7f5d8ff;hp=0000000000000000000000000000000000000000;hpb=4597b27a44522a5c2785cc23029435f44f60ea55;p=progcomp10.git diff --git a/src/link/C/c-link-lib/agents/c-lucifer.c b/src/link/C/c-link-lib/agents/c-lucifer.c new file mode 100644 index 0000000..1dabc34 --- /dev/null +++ b/src/link/C/c-link-lib/agents/c-lucifer.c @@ -0,0 +1,66 @@ +/* + * c-lucifer.c + * c-link-lib + * + * Created by Daniel Axtens on 20/04/10. + * Licensed under an MIT-style license: see the LICENSE file for details. + * + */ + + +#include + +/* Implement the lucifer bot, which always lies expecting people to be good + and always goes for the kill */ + +ATTACKTYPE Attack( char * foe_name ) { + ATTACKTYPE attack; + + attack.realAttack = RandomAttack(); + + /* Here we choose the thing that will hurt them if they go for a tie */ + switch (attack.realAttack) { + case rock: + result.promisedAttack = scissors; + break; + case paper: + result.promisedAttack = rock; + break; + default: /* attack = scissors */ + result.promisedAttack = paper; + break; + } + attack.promisedAttack = result.realAttack; /* Tells the truth for its bluff */ + + return attack; +} + +/* Here we trust that they are telling the truth. And we try to kill them. */ +ITEMTYPE Defend( char * foeName, ITEMTYPE foePromisedAttack ) { + ITEMTYPE defence; + switch (foePromisedAttack) { + case rock: + defence = paper; + break; + case paper: + defence = scissors; + break; + default: + defence = rock; + break; + } +} + +/* You need to define a results function, even if it isn't used + (otherwise the linker will complain) */ +void Results( char * foeName, int isInstigatedByYou, ITEMTYPE yourItem, + ITEMTYPE theirItem, ITEMTYPE promisedItem) { + + return; /* Ignore whatever just happened. */ +} + +/* same for Cleanup() */ + +void Cleanup() { + return; +} \ No newline at end of file