def __init__(self, str1, str2, scores): self.str1 = str1 self.str2 = str2 if (type(scores) is Scores): self.scores = scores else: self.scores = Scores(-2, 1, -1) # Default values
def __init__(self, size=(800,800), objectsize=20): """Initialize the class.""" if(not isinstance(size, tuple)): raise TypeError('size is not a tuple'); if(not isinstance(objectsize, int)): raise TypeError('objectsize is not an int'); pygame.init(); pygame.mixer.init(); pygame.display.set_caption("Logans Run"); pygame.display.set_mode(size); self.screen = pygame.display.get_surface(); self.objectsize = objectsize; self.clock = pygame.time.Clock(); self.background = pygame.Surface(self.screen.get_rect().size); self.background.fill((0,0,0)); self.level = GameLevel(); self.centeroffset = 0.4; pygame.event.set_allowed(None); self.walls = pygame.sprite.RenderPlain(); self.badwalls = pygame.sprite.RenderPlain(); self.hero = pygame.sprite.GroupSingle(Hero(pygame.Rect((100,100),(self.objectsize, self.objectsize)))); self.map = None; self.name = None; self.scores = Scores(); pygame.mixer.init(); self.music = Music();
def draw(self): self.win.fill(COLORS["BACKGROUND_COLOR"]) drawButton(GO_HOME_BUTTON_COORDS, goHomeButtonSize, "Go home", self.win) scores = Scores.getScores()[:10] for index, score in enumerate(scores): write(300 + 50 * index, 50, f"{index + 1}){score[0]}, {score[1]}", "WHITE", self.win, x=0) pygame.display.update()
def load_game(): select_game() select_game_difficulty() if game_name == games_names_list[0]: if MemoryGame.play(game_difficulty): Scores.add_score(game_difficulty) elif game_name == games_names_list[1]: if GuessGame.play(game_difficulty): Scores.add_score(game_difficulty) elif game_name == games_names_list[2]: if CurrencyRouletteGame.play(game_difficulty): Scores.add_score(game_difficulty)
class LocalAlignment(): def __init__(self, str1, str2, scores): self.str1 = str1 self.str2 = str2 if (type(scores) is Scores): self.scores = scores else: self.scores = Scores(-2, 1, -1) # Default values def __str__(self): return str( self.scores) + '\n{self.str1}\n{self.str2}'.format(self=self) # Maximizing local alignment function def local_align(self): # Create the matrix matrix = createMatrix(len(self.str1) + 1, len(self.str2) + 1) bestScore = 0 maxLocation = (0, 0) # fill in matrix in the right order for i in range(1, len(self.str1) + 1): for j in range(1, len(self.str2) + 1): # the local alignment recurrance rule: matrix[i][j] = max( matrix[i][j - 1] + self.scores.gap, matrix[i - 1][j] + self.scores.gap, matrix[i - 1][j - 1] + self.scores.matchchar(self.str1[i - 1], self.str2[j - 1]), 0) # track the cell with the largest score if matrix[i][j] >= bestScore: bestScore = matrix[i][j] maxLocation = (i, j) print("Scoring: " + str(self.scores)) print("Optimal Score =", bestScore) print("Max location in matrix =", maxLocation) # Return the score and optimal location return bestScore, maxLocation
def __init__(self, height, sortsOn = False): #Make full deck deck = Deck.Deck() deck.fullDeck() #deck.shuffle() Not done because of unittesting pyramidObject = Pyramid.Pyramid(deck, height) self.pyramid = pyramidObject.getCards() #Pyramid cards in list self.deck = pyramidObject.getDeck() #Rest of cards self.trash = Deck.Deck() #Empty Deck self.sortsOn = sortsOn self.height = height self.start = time.clock() #Scores.startBonusTime() self.time = 0 #self.score = 0 self.win = False self.scoreThing = Scores.score(self)
if __name__ == "__main__": if len(sys.argv) != 3: print( "\nStruct alignment. Usage: python3 main.py pdb_file_1 pdb_file_2\n" ) exit() pdbFile1 = ph.ReadPDBAsAtomsList(sys.argv[1]) pdbFile2 = ph.ReadPDBAsAtomsList(sys.argv[2]) #pdbFile1 = ph.ReadPDBAsAtomsList("test_pdbs/1/1whiA.pdb") #pdbFile2 = ph.ReadPDBAsAtomsList("test_pdbs/2/1czbA.pdb") chain1 = ph.GetChain(pdbFile1, 'A') chain2 = ph.GetChain(pdbFile2, 'A') aminos1 = ph.Get_Aminos(chain1) aminos2 = ph.Get_Aminos(chain2) revTracePath = ph.acc.Aminos_NWAlign(aminos1, aminos2, 10, 10) res_1, res_2 = nw.TracePath2OnlyAlignedList(revTracePath, chain1.residues, chain2.residues) rotMat, transVtr, a, b = scr.TMscoreAligned(res_1, res_2, len(res_1)) theChain = ph.GetChain(pdbFile1, 'A') transAtomList = [] for residue in theChain.residues: for atom in residue.atoms.values(): transAtomList.append(atom.transform(rotMat.T, transVtr).infoList) theSaveFilename = re.findall(r"([^/]*).pdb$", sys.argv[1])[0] + "_2_" + re.findall( r"([^/]*).pdb$", sys.argv[2])[0] ph.SavePDBFile('out_pdbs/' + theSaveFilename + "_rotated.pdb", [ph.GetChain(transAtomList, 'A')])
class LogansRun(): """The game Logans Run.""" def __init__(self, size=(800,800), objectsize=20): """Initialize the class.""" if(not isinstance(size, tuple)): raise TypeError('size is not a tuple'); if(not isinstance(objectsize, int)): raise TypeError('objectsize is not an int'); pygame.init(); pygame.mixer.init(); pygame.display.set_caption("Logans Run"); pygame.display.set_mode(size); self.screen = pygame.display.get_surface(); self.objectsize = objectsize; self.clock = pygame.time.Clock(); self.background = pygame.Surface(self.screen.get_rect().size); self.background.fill((0,0,0)); self.level = GameLevel(); self.centeroffset = 0.4; pygame.event.set_allowed(None); self.walls = pygame.sprite.RenderPlain(); self.badwalls = pygame.sprite.RenderPlain(); self.hero = pygame.sprite.GroupSingle(Hero(pygame.Rect((100,100),(self.objectsize, self.objectsize)))); self.map = None; self.name = None; self.scores = Scores(); pygame.mixer.init(); self.music = Music(); def run(self): """Run the game.""" self.music.playMusic('./audio/bgmusic.mp3'); self.name = self.askUserInput('Enter your name:'); self.titleSprite = pygame.sprite.GroupSingle( Message(("Logans Run",), fontsize=140, )); self.titleSprite.sprite.image.set_alpha(255); self.menuSprite = pygame.sprite.GroupSingle( Message(("1. Play", "2. Play a Single map", "3. Score List", "4. Instructions", "5. Create Map", "6. Edit Map", "Q. Quit"), "Select a menu option:")); self.menuSprite.sprite.image.set_alpha(0); self.titleSprite.sprite.rect.midbottom = self.menuSprite.sprite.rect.midtop; pygame.event.set_allowed((KEYDOWN, pygame.QUIT)); pygame.event.clear(); ## Directs the alpha change on titleSprite alpha = True; ## Master Loop done = False; while(not done): self.screen.fill((0,0,0)); self.titleSprite.draw(self.screen); self.menuSprite.draw(self.screen); pygame.display.flip(); for event in self.getEvents(): if(event.type == KEYDOWN): if(event.key == K_1): self.playLevels(); elif(event.key == K_2): self.playSingleMap(); elif(event.key == K_3): self.scoreList(); elif(event.key == K_4): self.printInstructions(); elif(event.key == K_5): self.createMap(); elif(event.key == K_6): self.editExistingMap(); ## Lets handle som cool effects if(alpha == True): self.titleSprite.sprite.image.set_alpha(self.titleSprite.sprite.image.get_alpha()-1); self.menuSprite.sprite.image.set_alpha(self.menuSprite.sprite.image.get_alpha()+1); else: self.titleSprite.sprite.image.set_alpha(self.titleSprite.sprite.image.get_alpha()+1); self.menuSprite.sprite.image.set_alpha(self.menuSprite.sprite.image.get_alpha()-1); if(self.titleSprite.sprite.image.get_alpha() <= 1): alpha = False; elif(self.titleSprite.sprite.image.get_alpha() >= 254): alpha = True; self.clock.tick(50); def scoreList(self): """Print the scorelist of each map.""" maps = scriptutil.ffind('./maps', ('*.map',)) maps.sort(); self.screen.fill((0,0,0)); for map in maps: msgSprite = self.scores.printScores(map); msgSprite.draw(self.screen); pygame.display.flip(); done = False; while(not done): for event in self.getEvents(exitKey=None): if(event.type == KEYDOWN): if(event.key == K_RETURN or event.key == K_SPACE): done = True; elif(event.key == K_q): msgSprite.clear(self.screen, self.background); return; msgSprite.clear(self.screen, self.background); def editExistingMap(self): """Edit an existing map.""" self.selectMap(); if(self.map != None): self.loadMap(); self.editMap(); def selectMap(self, prefix=''): """Let user select a map.""" maps = scriptutil.ffind('./maps', (prefix+'*.map',)) userFil = './maps/'+self.askUserInput('Enter map name')+'.map'; if(userFil in maps): self.map = userFil; else: self.printMessageWOption(("",), title="Couldn't find the map!"); return None; def selectLevel(self): """Set diffculty. Decreases the surrounding view""" msgSprite = pygame.sprite.GroupSingle( Message((self.level.levels), "Select level", vector=(10,0))); self.screen.fill((0,0,0)); msgSprite.draw(self.screen); pygame.display.flip(); pygame.event.set_allowed((KEYDOWN, pygame.QUIT)); pygame.event.clear(); while(True): for event in self.getEvents(): if(event.type == KEYDOWN and event.key >= K_1 and event.key <= K_3): self.level.set(event.key - K_0) msgSprite.clear(self.screen, self.background); return self.clock.tick(50); def play(self): """The actual game play loop.""" pygame.event.set_allowed((KEYDOWN, pygame.QUIT)); pygame.mixer.music.fadeout(500); self.music.playMusic(); ## Save start time playTime = time.time(); done = False; while(not done): for event in self.getEvents(exitKey=None): ## Suicide option if(event.type == KEYDOWN and event.key == K_q): if(self.askQuestion(("Quitting the game! Are you sure?", "Y(es) N(o)"), (K_y, K_n)) == K_y): pygame.mixer.music.fadeout(1000); self.music.playMusic('./audio/bgmusic.mp3'); return False; ## Check keys and move Logan self.hero.update(self.clock.get_time()); keys = pygame.key.get_pressed(); if(keys[pygame.K_LEFT]): self.hero.sprite.rotate('left'); self.hero.sprite.move((-2,0), self.walls); if(keys[pygame.K_RIGHT]): self.hero.sprite.rotate('left'); self.hero.sprite.move((2,0), self.walls); if(keys[pygame.K_UP]): self.hero.sprite.rotate('up'); self.hero.sprite.move((0,-2), self.walls); if(keys[pygame.K_DOWN]): self.hero.sprite.rotate('up'); self.hero.sprite.move((0,2), self.walls); ## Find surrounding walls according to level self.hero.sprite.inflate(self.level.size, self.level.size); wallPaint = pygame.sprite.RenderPlain(pygame.sprite.spritecollide(self.hero.sprite, self.walls, False)); self.hero.sprite.deflate(); self.walls.clear(self.screen, self.background); wallPaint.draw(self.screen); self.hero.clear(self.screen, self.background); self.hero.draw(self.screen); ## Add clock in corner clockSprite = self.printClock(time.time()-playTime); clockSprite.draw(self.screen); pygame.display.flip(); self.clock.tick(50); ## End the game if Logan is outside the screen if(self.screen.get_rect().contains(self.hero.sprite.rect) == False): break; ## Calculate game duration playTime = time.time() - playTime; self.screen.fill((0,0,0)); ## Change music pygame.mixer.music.fadeout(1000); self.music.playMusic('./audio/bgmusic.mp3'); ## Save the score self.scores.addScore(self.map, self.name, playTime, self.level.text); ## Tell the player how good they are self.printMessageWOption((str.format("You helped Logan escape in {0} minutes and {1} seconds.", time.strftime("%M", time.localtime(playTime)), time.strftime("%S", time.localtime(playTime))), "What will wait for him on the other side."), str.format("Congratulations, {0}!", self.name)); ## Print scores and show the player how bad they are self.printMessageWOption(self.scores.printScores(self.map)); return True; def playLevels(self): """Play each level in turn.""" self.selectLevel(); maps = scriptutil.ffind('./maps', ('Level*.map',)) maps.sort(); for map in maps: self.map = map; self.loadMap(); self.screen.fill((0,0,0)); self.walls.draw(self.screen); pygame.event.clear(); if(self.play() == False): break; self.printEndGame(); def playSingleMap(self): """Play just a single map selected from a list.""" maps = scriptutil.ffind('./maps', ('*.map',)); maps.sort(); i = 0; ## The list lenght. Increase to show more maps on each page. listLen = 3; ## Change this to the same number as listLen. lastKey = K_3; mapNo = 0; ## Outer loop to create map lists done = False; while(not done): msg = []; lastIndex = i+listLen if(len(maps) > i+listLen) else len(maps); for j in range(i, lastIndex): msg.append(str.format("{0} - {1}", j-i+1, os.path.basename(maps[j][0:-4]))); self.screen.fill((0,0,0)); msgSprite = self.printMessage(msg, "Select map: P(revious) N(ext)", align = Message.align_left); ### Inner loop for selection doneKey = False; while(not doneKey): for event in self.getEvents(exitKey=None, allowed = (KEYDOWN, pygame.QUIT)): if(event.type == KEYDOWN): if(event.key == K_q): return; elif(event.key == K_n): i = i+listLen if(i+listLen < len(maps)) else i; doneKey = True; break; elif(event.key == K_p): i -= listLen if(i >listLen+1) else i; doneKey = True; break; elif(event.key >= K_1 and event.key <= lastKey): mapNo = i + event.key - K_0; doneKey = True; self.map = maps[mapNo-1]; self.loadMap(); self.screen.fill((0,0,0)); self.walls.draw(self.screen); pygame.event.clear(); doneKey = False; self.selectLevel(); self.play(); self.screen.fill((0,0,0)); msgSprite.draw(self.screen); pygame.display.flip(); self.clock.tick(50); msgSprite.clear(self.screen, self.background); def printEndGame(self): """Print the end message.""" self.screen.fill((0,0,0)); self.printMessageWOption(("You helped Logan escape!", "He will be a free man now, thanks to you!"), "FREEDOM at LAST!"); def printText(self, msgs, ((x,y),(z,v))): """Creates messages and print them on the screen. msgs: Message list xy,zv: start (x,y), move each msg (z,v)""" if(not isinstance(msgs, tuple)): raise TypeError('msgs is not of type tuple'); if(not isinstance(x, int) or not isinstance(y, int) or not isinstance(z, int) or not isinstance(v, int) ): raise TypeError('x,y,z or v is not of type int'); i = 0; textList = []; for msg in msgs: # Create text font = pygame.font.Font(None, 20); text = font.render(msg, True, (255,255, 255)); textRect = text.get_rect(); # Center the rectangle textRect.x = x; textRect.y = y; textRect = textRect.move((z*i,v*i)); textList.append((text,textRect)); i+=1; return textList;
import Scores, Fruit T1 = Scores.Timer(1) score = 0 def setup(): size(displayWidth, displayHeight) def draw(): if (T1.finish): global score score = score + 0.1 T1.Start() """if(Fruit.collide == true): score = score + 100 print(score)"""
from live import * from Scores import * from MainScore import * name = input("whats your name ?") welcome(name) while True: play, level = load_game() play_game(play,level) Score = Scores(name, play ,level) Score.Write_Score() want=input('do you want play again ? y/n') if want == 'n' : break
def record(self): name = self.textinput.result score = self.scene.score Scores.addScore(name, score) self.scene.mode = "LOBBY"
def lights(self): """ light processing """ self.driver = Scores.getDriver(self.team1, self.team2) #print(Scores.inGame(self.driver)) #self.score1, self.score2 = Scores.getScores(self.team1, self.team2, self.driver) #print(self.score1, self.score2) current = -2 self.score1 = 0 self.score2 = 0 try: self.score1, self.score2 = Scores.getScores(self.team1, self.team2, self.driver) except: while True: try: self.score1, self.score2 = Scores.getScores(self.team1, self.team2, self.driver) break except: pass if (self.score1 + self.line) > self.score2: if current != 1: playsound('Green.mp3') wx.CallAfter(self.green) #self.green() current = 1 elif (self.score1 + self.line) == self.score2: if current != 0: playsound('Amber.mp3') wx.CallAfter(self.amber) #self.amber() current = 0 else: if current != -1: playsound('Red.mp3') wx.CallAfter(self.red) #self.red() current = -1 try: while Scores.inGame(self.driver): for i in range(60): self.score1, self.score2 = Scores.getScores(self.team1, self.team2, self.driver) if (self.score1 + self.line) > self.score2: if current != 1: playsound('Green.mp3') wx.CallAfter(self.green) #self.green() current = 1 elif (self.score1 + self.line) == self.score2: if current != 0: playsound('Amber.mp3') wx.CallAfter(self.amber) #self.amber() current = 0 else: if current != -1: playsound('Red.mp3') wx.CallAfter(self.red) #self.red() current = -1 except: try: Scores.closeDriver(self.driver) except: pass self.lights() Scores.closeDriver(self.driver)