Пример #1
0
 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)
Пример #2
0
 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)
Пример #3
0
    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)
Пример #4
0
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
Пример #5
0
# 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
Пример #6
0
"""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: