/* ..................................................................,$77777$:..... .................................................................7777777777$.... .,MM...MMM..MMM....MMMMMMMMMM....MMM......... MMM...............7,.........~7... .,MM...MMM..MMM....MMD.....MMM ..MMM..........MMM..............$7...7777777$7$.. .,MM...MMM..MMM. MMN?????MMM...MMM..........MMM.........MMM..77. ........777.. .,MM...MMM..MMM. ..MMMMMMMMMMM .MMM..........MMM..........8...77...7777777$77.. .,MMMMMMMMMMMMM....MMD.. MMM MMMMMMMMMMM .MMMMMMMMMM$......:7.. ......~7~.. ................................... ... ... ........... ...777777777777~... ................. ...........................$7777777$..... .............. ................. ... .............. ........ ................................ ....... ..... ...... .. ..... ..... ...... ........:=,:~+...... .. ......=+++I?O$8D8DZ$ON~..... ... ....77?I77888OO?NNNI8NDMZN7.... .. ..IIIZIDZZI8ODNMMN8N8ONMMM7OM.... ...DDD8O887=ZMMDNNNMONMMDDNM=?N.... ....8DND8DD$?+DNMNDOONN8NNN87=?N.... ...$MDDDD7==+7DOZDNNNNO7I+==+N.... ...:?DDDD7IZ+I8Z..+DDDDZI7ID... .......I8DO8Z8O......... ... . ...........?8D8............ ............ZDOOO~........... .. ..... .............DDMOD............ .... .. ..... ..+=~,..... ...7ZZD~.............. ....... .... ..~~:~~,?7MND+?Z$O8ZDIZZZZ~==IO,........... ......... .... .:::::~~=I$OON$~::~=7DD8OZOOO88OOOO77$$Z$77I7........... .... .~::~:::~~?=~=~:::~::::I7Z$ODZ7+I+7+??+++=$=:: .......... .... .$O7??~~+=,?::~::::::,:?I$:I+DZ=~I+Z=$O8??$7O8~............ .... Z7777777$Z?+=::~:=,,,,,77,~+DDZ=788OD8DZ88O7I8=+8I?=....... .... .ZZ$$O$7777II$7I$Z,,..,,::::$8O=IN8DDDNN88D8887?8?+8OI?++:.. .... .OZZ$Z$$$$777II77I::,,,,:,,:,?88=Z~?$I8OZ?II$7O+8Z+87ODD8??.. .... .,$ZZ$ZZ$$$$$7I$$7I,,,,,,,..,,~8O??7$?+$77O$8ZOONZ..=OO8DD8+.. .......$ZZZZZ$$Z$$$$$$$$~,:,,:,,,,,,:ZZI?I+I+7$8ZO$I7DNI....NDONN8O. ......7OZZOZOO$$$$$$$$$$~,,:,,.,,,,:$Z87++II7$77IZI778N?....DDD~8O:. ......NZOOZZZZZZZZZ$$$7~,:,:,::,,,,,O878N$7?++???7???ON$...I888IOI . ......OOOOODZZZZZZ$Z$$?I~,,,,,,::,,ZZD7$7===+++++I+==ZD7.......:O... ... ..D88OOOOO88ZZZ$II?I+=:==,:::ZID$7II=7788O$D8$OZO8$............ .... ....:DD8OOZOZZ8II?IIZI?=~~~+8DOO7=I+7O8MO778DDD$OZO........... .... .. .=ND88OO77$IIII?III??88NDZI~I+ZO8DODZO7DND8DO$.......... .... 8DN8DD8DD88$$Z$IIII?OO88DD$D8DD8ONOMD88ZOOONN$O+........ .DDDDON8DOOONN88O$$$7MDZINNOO8D88N8O8DONN88ZDMDMND8....... .DD8DDDD8ON8DD8MDM8DDNNNNN88DNN88N88ZOZDDNON8N$?7NNO...... ..D8ND8D8ODNDDD8NDND8DNNNN8NMMNNO$NNNOD8OONMMMNOZ88DDO. ..MDDODDDMMDNMNDNNNDMNMNNN.,,,NN88O888D8$D..O8D8OZ7ONN+ .DD8NNNNMNNNNNNMMNMNMND$II?Z8O8ND8NMDD?8OD8DNNDM?ONND. ~==?NNNDNNNNNNNMNNND8OOZ$$77O$Z8N888D88$ZND8DNDZ$O$88N~. ..=+?I77$ODDNND88OOOOOZZZZ$$$8DNDDODZD87$$ODZDMN87ZNDDD: ,===+??III77$$$$$ZZZZZZ$$$$$$D88O888DD8O$Z88OOZ8MD8NN8DN.. .~==+??III777777$$$$$$$$$$$$$$DNNDDN8OZZ888DOOON8MMDDDN. .... . ,~+??IIIIII777777777777777IDNDNDDDDDDDDN8O888MDND8N~..... .... .....,,,,~????IIIIIIIIII=,,,,.~IINDDDNNDONN8DOMN888DNI,,,,.... .... ........,,,,,:+???+~,,,,,,,,,,+??IIOMNNDDNON8N888N=:,,,,,,,.... .... ..... ,,,,,,,,,,,,,,,,,,,,,,,,~???III7$8NNDNDNI,,,,,.,.,,,.. .... .......,,,,,,,,,,.,,..,,,,,,,,,,,,,:=????III,,..,,,,,,.,,,,. .,,,,,,,,,,,,,,..,.........,,.,,,,,,,,,,,,,,,,,,,,,,,,.,,,,.. .,,,,,,,,,,,,,,.............,,,,,,,,,,,,,,,,,,,,,,,..,,,,,.. .,,,,,,,,,,,,,,,.,..........,,,,....,,,,,,,,.,,,.,,,..,,,. . ,,,,,,,,,,,,,,,,,,..........,,,,.....,,,,,,,,,,,,,,,,,,. .~ ++=.~=. .,,,,,,,,,,,,,,,,............,,,.....,,,,,,,,,,,,,,... . ... .. ,,,,,,,,,,,,,,,,............,,,,,,..,,,,,,,,,,,,,.... Crobot : Wall-E Type : Micro Version : 4.01 Author : Maurizio Camangi Begin : 14-02-2012 Revision : 06-03-2012 Wall-E IV eredita quasi tutto da Wall-E III, con un innesto di Lycan. Wall-E IV perde l'uso delle variabili bidimensionali (vettori): coreografiche e superflue. */ int ang, /* Angolo di scanning */ oang, /* Angolo di scanning precedente */ range, /* Gittata */ dir, /* Direzione del cammino */ posx, posy, /* Variabili temporanee ad un bit salva posizione */ flag,b, /* Flag di stato */ m, /* Flag correggi ampiezza sparo */ timer, /* Timer e numero nemici */ deg, /* Inizio scansione conta nemici */ i,a; /* Variabile temporanea */ fire(dir,v) { drive(dir,v); if (range=scan(oang=ang,10)) { if (scan(ang-8,5)) { if (scan(ang-=5,2)) ; else ang-=4; } else { if (scan(ang+8,5)) { if (scan(ang+=5,2)) ; else ang+=4; } else { if (scan(ang,1)) ; else if (scan(ang-=3,2)) ; else ang+=6; } } return(cannon(ang+m*(ang-oang),(scan(ang,10)<<1)-range)); } else { if(range=scan(ang+=20,10)) cannon(ang,range); else if(range=scan(ang-=40,10)) cannon(ang,range); else ang+=80; } } runX() { dir=180*!posx; if(posx) while(loc_x()<880) fire(dir,100); else while(loc_x()>120) fire(dir,100); fire(dir,0); } runY() { dir=270-180*posy; if(posy) while(loc_y()<880) fire(dir,100); else while(loc_y()>120) fire(dir,100); fire(dir,0); } corner() { if (flag^posx^posy) runY(runX()); else runX(runY()); } int look() { if (scan(a=deg+90*flag,10)) ang=a; return 6; } main() /* Inizializza alcune variabili ed innesca la routine principale */ { corner(posy=loc_y(posx=loc_x()>499)>499); deg=90*((posy<<1)+(posx^posy)); while (1) { while((timer<2) && (i < 140)) { timer+=(scan(deg+i,10)>0); i+=20; } if (timer<2) { m=1; while(1) { if (((posx=loc_x())%880)<120) dir=180*(posx>500); else if (((posy=loc_y())%880)<120) dir=90+180*(posy>500); else if (range>610) dir=ang+15; else if (range<180) dir=ang+180; else dir=ang+180*(b^=1); fire(dir,100); fire(dir,100); fire(dir,100); } } else timer=look(dir=(deg+(30<