Beispiel #1
0
 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
Beispiel #2
0
 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();
Beispiel #3
0
    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()
Beispiel #4
0
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)
Beispiel #5
0
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)
Beispiel #7
0
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')])
Beispiel #8
0
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;
Beispiel #9
0
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)"""
Beispiel #10
0
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

Beispiel #11
0
 def record(self):
     name = self.textinput.result
     score = self.scene.score
     Scores.addScore(name, score)
     self.scene.mode = "LOBBY"
Beispiel #12
0
    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)