def main():
    file3 = open("advent3.txt", "r")
    houseList = {}
    santa = Santa(houseList)

    for ch in iter(lambda: file3.read(1), ''):
        santa.move(ch)

    print(len(houseList))
def main():
    file3 = open("advent3.txt", "r")
    houseList = {}

    santa = Santa(houseList)
    roboSanta = Santa(houseList)

    for ch in iter(lambda: file3.read(2), ''):
        santa.move(ch[0])
        if(len(ch) > 1):
            roboSanta.move(ch[1])

    print(len(houseList))
    def __init__(self):
        pygame.init()
        
        # screen size
        root = tk.Tk()
        self.WIDTH = int(root.winfo_screenwidth()*0.58565)
        self.HEIGHT = int(root.winfo_screenheight()*0.78125)
        
        # movement booleans
        self.up_pressed = False
        self.down_pressed = False
        self.left_pressed = False
        self.right_pressed = False
        
        # pygame inits
        self.game_display = pygame.display.set_mode((self.WIDTH, self.HEIGHT))
        pygame.display.set_caption('Sneaky Santa')
        self.clock = pygame.time.Clock()
        self.gameExit = False

        # init santa
        self.santa = Santa(50, 50)
class Game:
    def __init__(self):
        pygame.init()
        
        # screen size
        root = tk.Tk()
        self.WIDTH = int(root.winfo_screenwidth()*0.58565)
        self.HEIGHT = int(root.winfo_screenheight()*0.78125)
        
        # movement booleans
        self.up_pressed = False
        self.down_pressed = False
        self.left_pressed = False
        self.right_pressed = False
        
        # pygame inits
        self.game_display = pygame.display.set_mode((self.WIDTH, self.HEIGHT))
        pygame.display.set_caption('Sneaky Santa')
        self.clock = pygame.time.Clock()
        self.gameExit = False

        # init game objects
        self.santa = Santa(50, 50)
        self.obstacles = [Obstacle(100, 100)]
        self.room = Room(self.obstacles, self.santa)

    def game_loop(self):
        stop = False
        while not self.gameExit:
            self.game_display.fill( (255, 255, 255) )
            self.game_display.blit(self.room.getimg(), (0, 0))
            for o in self.obstacles:
                self.game_display.blit(o.getimg(), o.getpos())
            self.game_display.blit(self.santa.getimg(), self.santa.getpos())
            if stop == False:
                count = 0 
                self.controls()
                self.santa.setvel(self.up_pressed, self.down_pressed, self.left_pressed, self.right_pressed)
                collision_status = self.room.check_collision(self.santa)
                stop = self.collision_handler(collision_status)
            
            count = count + 1
            if count == 15:
                stop = False

            self.santa.update()
            pygame.display.update()

    def controls(self):
        for event in pygame.event.get():
                                    
            if event.type == pygame.QUIT:
                self.gameExit = True

            # key pressed
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_UP:
                    self.up_pressed = True
                
                if event.key == pygame.K_DOWN:
                    self.down_pressed = True
                
                if event.key == pygame.K_LEFT:
                    self.left_pressed = True
                    
                if event.key == pygame.K_RIGHT:
                    self.right_pressed = True

            # key released
            elif event.type == pygame.KEYUP:
                if event.key == pygame.K_UP:
                    self.up_pressed = False
                
                if event.key == pygame.K_DOWN:
                    self.down_pressed = False
                
                if event.key == pygame.K_LEFT:
                    self.left_pressed = False
                    
                if event.key == pygame.K_RIGHT:
                    self.right_pressed = False

    def collision_handler(self, status):
        if status == "NO_COLLISION":
            return False
        elif status == "HARD_OBJECT":
            stop = self.santa.hard_object()
Beispiel #5
0
from Game import Game
from Santa import Santa
from Room import Room
from Obstacle import Obstacle
from Roamer import Roamer
from random import randint
import Menu

while True:
    Menu.display_menu()
    game = Game()
    while True:
        game.santa = Santa()
        obstacles = []
        roamer = Roamer(200, 150, 5, 72)
        roamer.settarget()
        game.room = Room(obstacles, [roamer])
        game.santa.setpos(
            game.room.gen_positions(game.santa.width, game.santa.height))

        for i in range(20):
            validpos = True
            while validpos:
                posx = randint(96, 528)
                posy = randint(0, 528)
                for o in obstacles:
                    distsquared = ((posx - o.getx())**2) + (
                        (posy - o.gety())**2)
                    if distsquared < 15000:
                        validpos = False
                        break
class Game:
    def __init__(self):
        pygame.init()
        
        # screen size
        root = tk.Tk()
        self.WIDTH = int(root.winfo_screenwidth()*0.58565)
        self.HEIGHT = int(root.winfo_screenheight()*0.78125)
        
        # movement booleans
        self.up_pressed = False
        self.down_pressed = False
        self.left_pressed = False
        self.right_pressed = False
        
        # pygame inits
        self.game_display = pygame.display.set_mode((self.WIDTH, self.HEIGHT))
        pygame.display.set_caption('Sneaky Santa')
        self.clock = pygame.time.Clock()
        self.gameExit = False

        # init santa
        self.santa = Santa(50, 50)

    def game_loop(self):

        while not self.gameExit:
            self.game_display.fill( (255, 255, 255) )
            self.game_display.blit(self.santa.getimg(), self.santa.getpos())
            self.controls()
            print
            self.santa.setvel(self.up_pressed, self.down_pressed, self.left_pressed, self.right_pressed)
            self.santa.update()
            pygame.display.update()
            self.clock.tick(60)

    def controls(self):
        for event in pygame.event.get():
                                    
            if event.type == pygame.QUIT:
                self.gameExit = True

            # key pressed
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_UP:
                    self.up_pressed = True
                
                if event.key == pygame.K_DOWN:
                    self.down_pressed = True
                
                if event.key == pygame.K_LEFT:
                    self.left_pressed = True
                    
                if event.key == pygame.K_RIGHT:
                    self.right_pressed = True

            # key released
            elif event.type == pygame.KEYUP:
                if event.key == pygame.K_UP:
                    self.up_pressed = False
                
                if event.key == pygame.K_DOWN:
                    self.down_pressed = False
                
                if event.key == pygame.K_LEFT:
                    self.left_pressed = False
                    
                if event.key == pygame.K_RIGHT:
                    print("!")
                    self.right_pressed = False