def __init__(self): pg.init() self.RES = self.WIDTH, self.HEIGHT = 1600, 900 self.FPS = 60 self.screen = pg.display.set_mode(self.RES) self.clock = pg.time.Clock() self.camera = cam.Camera(self.screen, self.HEIGHT, self.WIDTH) pg.display.set_caption('Main') pg.font.init() self.font = pg.font.SysFont('Hack', 24)
def __init__(self): pg.init() self.res = self.width, self.height = 1600, 900 self.fps = 60 self.screen = pg.display.set_mode(self.res) self.clock = pg.time.Clock() self.camera = cam.Camera(self.screen, self.height, self.width) pg.display.set_caption('Main') pg.font.init() self.font = pg.font.SysFont('Hack', 24)
def __init__(self, isdebug): pygame.init() pygame.font.init() pygame.mixer.init() self.is_running = False self.to_move = [0, 0, 0] self.isdebug = isdebug '''GameInit''' frame_size = (gui.card_size[0] * 3, gui.card_size[1] * 2 + gui.height_interface_bottom + gui.height_interface_top ) # init frame print(frame_size) if os.uname().nodename == 'raspberrypi' and not self.isdebug: self.screen = pygame.display.set_mode( frame_size, pygame.FULLSCREEN | pygame.HWSURFACE | pygame.DOUBLEBUF) # display frame ,pygame.FULLSCREEN else: self.screen = pygame.display.set_mode( frame_size) # display frame ,pygame.FULLSCREEN self.clock = pygame.time.Clock() self.sound_no_money = pygame.mixer.Sound("../sounds/error0.wav") self.sound_chatter = pygame.mixer.Sound( "../sounds/chattering_teeth.wav") self.sound_win = pygame.mixer.Sound( "../sounds/win.wav") # init all sound effects self.interface = gui.GUI(self) # init GUI reel_rect = pygame.Rect(0, gui.height_interface_top, gui.card_size[0] * 3, gui.card_size[1] * 2) self.reel_screen = self.screen.subsurface( reel_rect) # define reel subsurface self.reel = [ model.Reel(self.reel_screen, 0), model.Reel(self.reel_screen, gui.card_size[0]), model.Reel(self.reel_screen, gui.card_size[0] * 2) ] # init all reels self.roll = [0, 0, 0] self.roll_speed = [0, 0, 0] self.result = [NO_RESULT, NO_RESULT, NO_RESULT] self.extra_rolls = 50 self.coinLock = Lock() self.coins = 0 pygame.mouse.set_visible(False) self.photo_seconds = 0 self.camera = cam.Camera() if os.uname( ).nodename == 'raspberrypi': # first check if the os is windows(windows doesn't provide uname) | os.name is not 'nt' and print('CoinThread started') from coins import CoinThread from trigger import TriggerThread self.triggerThread = TriggerThread(self) self.coinThread = CoinThread(self)
def mainloop(): global START_TIME, VIEW_WIDTH, VIEW_HEIGHT, RUN_PLAYER_UPDATE, RUN_PLAYER_PHY, RUN_SIDESCROLL, GAMEMODE, FLAGS global resizablesurface, screen, clock, imageSprite, terrainImage, rawbg, cloudSprite, birdSprite, terrain, background, player, Terrain global image_rect, surf, spawn_freq, FULLSCREEN camera = cam.Camera(VW = VIEW_WIDTH, VH = VIEW_HEIGHT, player = player) # surf.blit(background, image_rect) for event in pygame.event.get(): keydown=mousedown=False if event.type == pygame.QUIT: print('Window closed, quitting game...') quit() if event.type==pygame.KEYDOWN: keydown=True if event.type==pygame.MOUSEBUTTONDOWN: mousedown=True if keydown: if event.key == pygame.K_ESCAPE: print('Escape key pressed, quitting game...') quit() elif event.key == pygame.K_F11: if FULLSCREEN == False: FLAGS = pygame.RESIZABLE | pygame.DOUBLEBUF | pygame.SHOWN | pygame.FULLSCREEN resizablesurface = pygame.display.set_mode(resizablesurface.get_size(), FLAGS) else: FLAGS = pygame.RESIZABLE | pygame.DOUBLEBUF | pygame.SHOWN resizablesurface = pygame.display.set_mode((VIEW_WIDTH, VIEW_HEIGHT), FLAGS) FULLSCREEN = not FULLSCREEN if mousedown: if GAMEMODE == 'Menu': if event.button == 1: gamemenu.restart_program() player.RESTART_NEEDED = False if keydown or mousedown: if GAMEMODE == 'Starting': GAMEMODE = 'Running' START_TIME = pygame.time.get_ticks() if event.type == pygame.VIDEORESIZE: screen = pygame.display.set_mode(event.size, FLAGS) VIEW_HEIGHT, VIEW_WIDTH = event.h, event.w if START_TIME: gametime = (pygame.time.get_ticks() - START_TIME)/1000 if GAMEMODE == 'Running': camera.CameraClip(surf) surf.blit(background, camera.rect, camera.rect) surf.blit(terrain, camera.rect, camera.rect) phy.PlanePhy(self=player) keys = pygame.key.get_pressed() player.render(surf) player.update(keys, KEYMAP, surf, RUN_PLAYER_UPDATE,3) if spawn_freq%30==0: game_sprites.Cloud.cloudspawn(camera, 50, Terrain, cloudSprite, 150, 40) game_sprites.Bird.birdspawn(camera, 50, Terrain, birdSprite, 50, 20) game_sprites.Bird.birdupdate(surf = surf) game_sprites.Cloud.cloudupdate(surf = surf, player = player) screen.blit(surf, (0,0), camera) gamemenu.flightscore(screen, gametime) fps_rn = clock.get_fps() gamemenu.showfps(screen, fps_rn) gamemenu.showThrust(screen, player.thrust.magnitude, player.max_thrust_mag) if player.RESTART_NEEDED: GAMEMODE = 'Menu' elif GAMEMODE == 'Menu': if player.RESTART_NEEDED: gamemenu.play_game(screen) player.RESTART_NEEDED = False elif GAMEMODE == 'Starting': screen.blit(surf, (0,0) ) gamemenu.newgame(screen) try: resizablesurface.blit(pygame.transform.scale(screen, resizablesurface.get_rect().size), (0, 0)) except: resizablesurface.blit(screen, (0,0) ) pygame.display.update() pygame.event.pump() clock.tick(60) spawn_freq += 1
# for cloudnum in range(4): # path = ("images/cloud{}.png".format(cloudnum)) # cloud%d.format(cloudnum) = pygame.image.load(path).convert_alpha() terrainImage = pygame.image.load("images/terrain_final4000dpi.png").convert_alpha() rawbg = pygame.image.load("images/bg_trans_2000dpi.png").convert() cloudSprite = pygame.image.load("images/clouds_trans.png").convert_alpha() birdSprite = pygame.image.load("images/bird.png").convert_alpha() terrain = pygame.transform.scale(terrainImage, (SCREEN_WIDTH, SCREEN_HEIGHT)) background = pygame.transform.scale(rawbg, (SCREEN_WIDTH, SCREEN_HEIGHT)) player = game_sprites.Sprite(imageSprite, **PLAYER_ARGS) camera = cam.Camera(VW = VIEW_WIDTH, VH = VIEW_HEIGHT, player = player) Terrain = game_sprites.Terrain(terrain, surface=background) # Pre-spawn some clouds and birds for i in range(50): game_sprites.Cloud.cloudspawn(camera, 50, Terrain, cloudSprite, 150, 40) game_sprites.Bird.birdspawn(camera, 50, Terrain, birdSprite, 50, 3) image_rect = background.get_rect() surf = pygame.Surface((image_rect.width, image_rect.height)) surf.blit(background, image_rect) RunAgain = False FULLSCREEN= False
"""Main control loop""" import socket import struct from subprocess import call import cam import led from options import C_PORT, IP, LEDS, OPS # encoding >B sock = socket.socket() sock.bind((IP, C_PORT)) c = cam.Camera() l = led.LED() #try: while True: sock.listen(0) con = sock.accept()[0] op = int(struct.unpack('>B', con.recv(1))[0]) print("OP: " + OPS(op).name) if op == OPS.PI_OFF.value: c.stop() l.set_level(0) print("Turning off") break #call("poweroff", shell=True) elif op == OPS.CAM_OFF.value: c.stop() l.set_level(0) elif op == OPS.CAM_ON.value: