Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement