from PersonClass import * from HTMLTemplates import * import time ''' Created on Oct 18, 2011 @author: Trevor Coleman ''' class Battle(object): ''' classdocs ''' def __init__(self, numberOfPlayers): self.players = {} self.timeline = {} for i in range(numberOfPlayers): self.players[i] = Person() self.timeline = {} for y in self.players: firstAction = self.players[y].ticks if firstAction in self.timeline: self.timeline[firstAction].append(self.players[y]) else: self.timeline[firstAction] = [self.players[y]] ###################################################### #OLD TEXT-BASED TIMELINE GENERATOR def showTimeline(self): for i in range(11): if i in self.timeline: print str(i) + ": ", actingPlayers = self.timeline[i] for player in actingPlayers: print player.name + " (" + str(player.dv_penalty) + ")", else: print str(i) + ": ", print "\n", ###################################################### def updateTimeline(self): self.timeline = {} for y in self.players: firstAction = self.players[y].ticks if firstAction in self.timeline: self.timeline[firstAction].append(self.players[y]) else: self.timeline[firstAction] = [self.players[y]] def createHTMLTimeline(self): #self.updateTimeline() HTMLTimeline = {} for i in range(11): if i in self.timeline: actingPlayers = self.timeline[i] for player in actingPlayers: if str(i) in HTMLTimeline: HTMLTimeline[str(i)] = HTMLTimeline[str(i)] + ", " + player.name else: HTMLTimeline[str(i)] = player.name else: HTMLTimeline[str(i)] = "---" print "BEFORE FILE CREATE" f = open('/sdcard/sl4a/scripts/ExaltedCombatManager/html/timeline.html', 'w') f.write(timelineHTML % HTMLTimeline) f.close() print "AFTER FILE CREATE" def updateTimeline(self): self.timeline = {} for y in self.players: firstAction = self.players[y].ticks if firstAction in self.timeline: self.timeline[firstAction].append(self.players[y]) else: self.timeline[firstAction] = [self.players[y]] def tick(self): for y in self.players: if self.players[y].ticks == 0: self.players[y].turn() else: self.players[y].ticks = self.players[y].ticks - 1 self.createHTMLTimeline() def editPlayers(self): #WRITE THIS BIT! #Generate Edit Players Javascript GUI #Display Edit Players Screen #Recieve Data from Screen #Parse data & update players print "not ready yet" def generateEditPlayersScreen(self): # holds the HTML for all of the rows in the edit players table playerRows = "" # Create dict with the following STRINGS for players[i] # playerNumber : i # name : players[i].name # ticks : players[i].ticks # dv_penalty : players[i].dv_penalty for i in self.players: playerDict = {} playerDict["name"] = self.players[i].name playerDict["ticks"] = self.players[i].ticks playerDict["dv_penalty"] = self.players[i].dv_penalty playerDict["playerNumber"] = i # add each player's row playerRows = playerRows + (editPlayersRow % playerDict) f = open('/sdcard/sl4a/scripts/ExaltedCombatManager/editPlayers.html', 'w') f.write(editPlayersScreen % playerRows) f.close() def addPlayer(self): newPlayer = max(self.players.iterkeys()) + 1 self.players[newPlayer] = Person()