Skal vi se. Skrev en AI til TG2013 på under en uke. Havna i finalen (kjeppjagaren) men den faila siste runde fordi A* algoen min bare sjekke et området på 15x15, og jeg spawna på noe 15,20 ellerno. Litt trist, men har hvertfall en god del morsom kode.
Planen var å skrive en POC i Python og etterpå skrive det i Clojure. Men tiden gikk litt for fort og jeg endte opp med ravioli og spagetti kode.
spaghetti
https://github.com/Foxboron/AI_Progr...r/src/stuff.py
Skal nevnes at det var null tid for refaktorering
Så dette er et mer eller mindre sammen hacket prosjekt som egentlig ikke skulle se dagenslys.
Kode
while len(choose_weps) != 2:
asdasd = ["droid", "mortar", "laser"]
fghfgh = random.choice(asdasd)
if fghfgh not in choose_weps:
choose_weps.append(fghfgh)
Kode
def error(arg):
"""Error dude....."""
print arg
Hva var det PEP sa om global vars?
Kode
global resources_mined
global laser_level
global droid_level
global mortar_level
global player
global turns
global enemies
global player_pos
global mine_n
global l_enemy_pos
global attack_info
global rest_walks
Kode
def next_move(player_pos, l):
if l == "left-up":
ret = (player_pos[0],player_pos[1]-1)
elif l == "right-up":
ret = (player_pos[0]-1,player_pos[1])
elif l == "up":
ret = (player_pos[0]-1,player_pos[1]-1)
elif l == "left-down":
ret = (player_pos[0]+1,player_pos[1])
elif l == "down":
ret = (player_pos[0]+1,player_pos[1]+1)
elif l == "right-down":
ret = (player_pos[0],player_pos[1]+1)
return ret
Kode
class AStar(object):
def __init__(self, board, start, end, cant_move, enemy=None):
...
self.gridHeight = 15
self.gridWidth = 15
Jeg holdt også en Lightning Talk på PilsProg i Bergen hvor jeg gikk igjennom koden og forklarte hvor jævlig den er. Har i ettertid ikke gjort noe med den.
Sist endret av Foxboron; 3. august 2013 kl. 22:19.