Exemple #1
0
    def __init__(self,size = (800, 600)):
        pg.init()
        self.screen = pg.display.set_mode(size,pg.HWSURFACE|pg.DOUBLEBUF)
        self.size = size
        pg.display.set_caption("Pong.py")
        
        pg.key.set_repeat(1,10)
        
        self.up_wall_img = self.load_image("wall.png")
        self.down_wall_img = self.load_image("wall.png")
        self.up_wall_rect = self.up_wall_img.get_rect()
        self.down_wall_rect = self.down_wall_img.get_rect()
        self.net_img = self.load_image("net.png")
        self.net_rect = self.net_img.get_rect()

        self.ball_img = self.load_image("ball.gif")
        
        pg.display.set_icon(self.ball_img)
        self.ball_rect = self.ball_img.get_rect()
        self.ball_speed = Vector(0,0)
        
        self.player1 = Player(self.load_image("player1.png"))
        self.player2 = Player(self.load_image("player2.png"))
        self.p_speed_down = Vector(0,15)
        self.p_speed_up = Vector(0,-15)

        pg.font.init()
        self.font = pg.font.Font("score_font.ttf",80)

        pg.mixer.init()
        self.hit = pg.mixer.Sound("hit.wav")
        self.clock = pg.time.Clock()
        
        self.running = True
    def setup(self):
        # Main variables
        self.width = BOARD_WIDTH * (TILE_DIMENSION + SEPARATION) + 2 * PADDING
        self.height = BOARD_HEIGHT * (TILE_DIMENSION +
                                      SEPARATION) + 2 * PADDING

        pygame_sdl2.init()
        pygame_sdl2.mixer.init()
        self.window = pygame_sdl2.display.set_mode(
            (self.height, self.width), pygame_sdl2.WINDOW_ALLOW_HIGHDPI)
        pygame_sdl2.display.set_caption(APP_NAME)

        self.board = Board(BOARD_WIDTH, BOARD_HEIGHT, NUMBER_OF_MINES,
                           self.window)
        self.center = (self.width // 2, self.height // 2)

        self.reload_button_image = pygame_sdl2.transform.smoothscale(
            pygame_sdl2.image.load(os.path.join("assets", "reload.png")),
            (24, 24))
        self.rect = self.reload_button_image.get_rect().move(
            SEPARATION, SEPARATION)
        self.font = pygame_sdl2.font.SysFont("Arial", 40)

        self.audio_mine = pygame_sdl2.mixer.Sound(
            os.path.join("assets", "audio", "mine.wav"))
        self.audio_tile = pygame_sdl2.mixer.Sound(
            os.path.join("assets", "audio", "tile.wav"))

        self.main_func()
Exemple #3
0
    def __init__(self, resolution, framerate):
        pygame.init()
        pygame.display.set_caption("Pong")

        self.screen = pygame.display.set_mode(resolution)
        self.__framerate = framerate
        self.__clock = pygame.time.Clock()
 def run(self):
     pygame.init()
     pygame.display.set_caption('Space Invaders')
     self.screen = pygame.display.set_mode(GAME_CONFIG['DISPLAY_SIZE'],
                                           pygame.DOUBLEBUF, 32)
     flags = pygame.SRCALPHA if USING_SDL2 else 0
     self.background = pygame.Surface(GAME_CONFIG['DISPLAY_SIZE'], flags)
     self.background.fill(pygame.Color(GAME_CONFIG['BACKGROUND_COLOR']))
Exemple #5
0
def initscr(name=None, icon=None):
    if icon:
        icon = pygame.image.load(icon)
        pygame.display.set_icon(icon)
    if name:
        pygame.display.set_caption(name)
    pygame.init()
    return Screen()
Exemple #6
0
    def __init__(self):
        pygame_sdl2.init()
        pygame_sdl2.key.set_repeat(1, 10)
        self.windowSurface = pygame_sdl2.display.set_mode((500, 400), 0, 32)

        pygame_sdl2.display.set_caption('Swing Proto')
        clock = pygame_sdl2.time.Clock()
        clock.tick(self.FRAMES_PER_SECOND)
        self.running = False
        self.world = b2World(gravity=(0, -10), doSleep=True)
        self.player = Player(self.world)
Exemple #7
0
 def __init__(self):
     pygame_sdl2.init()
     pygame_sdl2.key.set_repeat(1, 10)
     self.windowSurface = pygame_sdl2.display.set_mode((500, 400), 0, 32)
     
     pygame_sdl2.display.set_caption('Swing Proto')
     clock = pygame_sdl2.time.Clock()
     clock.tick(self.FRAMES_PER_SECOND)
     self.running = False
     self.world = b2World(gravity=(0, -10), doSleep=True)
     self.player = Player(self.world)
Exemple #8
0
    def __init__(self, width=640, height=512):
        pygame.init()

        self.width = width
        self.height = height
        self.grid = [[0 for x in range(int(self.width / GRID_SPACING))]
                     for y in range(int(self.height / GRID_SPACING))]

        # Create the screen
        # set_mode(resolution=(0,0), flags=0, depth=0) -> Surface
        self.screen = pygame.display.set_mode((self.width, self.height))

        self.snake = Snake()
Exemple #9
0
    def __init__(self, websocket):

        self.websocket = websocket

        pygame.init()
        pygame.font.init()

        self.screen = pygame.display.set_mode((600, 480))
        self.background = pygame.Surface((600, 480))
        self.background.fill(pygame.Color('#111111'))
        pygame.display.set_caption('Authorization')

        self.create_objects()
    def __init__(self, provider):
        self.provider = provider
        pygame.init()
        pygame.joystick.init()
        joystick_count = pygame.joystick.get_count()
        if joystick_count < 1:
            raise Exception("No gamepad detected my dude")

        if joystick_count > 1:
            print(
                "More then one joystick detected, please select the one you want to use"
            )
            for i in range(joystick_count):
                self.joystick = pygame.joystick.Joystick(i)
                print("id: {}, name: {}".format(i, self.joystick.get_name()))
            self.joystick = pygame.joystick.Joystick(
                int(input("Joystick id: ")))
        else:
            self.joystick = pygame.joystick.Joystick(0)

        self.joystick.init()
Exemple #11
0
COL_NEW = (127,255,127)
COL_NOT = (255,127,127)

sym = {}
for line in open(SYM_PATH, "r"):
    pars = line.split(";")[0].split(" ")
    if len(pars) < 2:
        continue
    # ignore bank for now
    ofs = int(pars[0][3:], 16) - 0xa000
    if ofs < 0 or ofs >= 0x6000:
        continue
    sym[pars[1].strip()] = ofs

init = True
pygame.init()
screen = pygame.display.set_mode((WIDTH * SCALE, HEIGHT * SCALE))

last_dump = None

vert_tab = None
stroke_tab = [0]*128*16
render_buf = [0]*128*16

def read_dump():
    global init
    surf = pygame.Surface(SIZE)
    dump = open(DUMP_PATH, "rb").read(0x6000)
    base_x, base_y = sym["wVertArrayX"], sym["wVertArrayY"]
    vert_tab = [(dump[i + base_x], dump[i + base_y]) for i in range(256)]
    # verts
def start():
    pg.init()
    main()
    pg.quit()
Exemple #13
0
def main():
    pygame_sdl2.init()
    pp.pprint(pygame_sdl2.render.get_drivers())
    pygame_sdl2.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT), OPENGL)
    pygame_sdl2.display.set_caption("SDL2 render test")
    r = pygame_sdl2.render.Renderer(vsync=False)
    pp.pprint(r.info())

    bg = r.load_texture('paper.jpg')

    # A sprite sheet generated from RLTiles.
    atlas = r.load_atlas('rlplayer.json')

    tile_size = 32 * SPRITE_SCALE

    parts = {}

    for k in atlas.keys():
        cat = k.split("/")[1]
        try:
            parts[cat].append(atlas[k])
        except KeyError:
            parts[cat] = [atlas[k]]

    sprites = []
    x = 0
    y = 0
    while y < SCREEN_HEIGHT:
        while x < SCREEN_WIDTH:
            sprite_parts = []
            for ptype in ["base", "leg", "boot", "body", "hair", "hand1"]:
                sprite_parts.append(random.choice(parts[ptype]))
            s = pygame_sdl2.render.Sprite(sprite_parts)
            s.pos = (x,y)
            s.scale = SPRITE_SCALE
            sprites.append(s)

            x += tile_size
        y += tile_size
        x = 0

    clock = pygame_sdl2.time.Clock()

    sprites[0].color = (255,0,0)
    sprites[1].color = (100,100,255)

    con = pygame_sdl2.render.Container((-64,-64,32*10,32*10))
    for s in sprites:
        con.add(s)

    running = True
    while running:
        sprites[0].rotation += 1
        if sprites[0].alpha > 0:
            sprites[0].alpha -= 1

        sprites[1].rotation -=1

        sprites[2].scale += 0.01
        if sprites[2].collides(sprites[4]):
            print "COLLISION"

        con.pos = con.pos[0] + 1, con.pos[1] + 1

        events = pygame_sdl2.event.get()
        for e in events:
            if e.type == QUIT:
                running = False
            elif e.type == KEYDOWN and e.key == K_ESCAPE:
                running = False

        r.clear((0,0,0))
        bg.render()
        con.render()
        r.render_present()
        clock.tick()

    print clock.get_fps()
Exemple #14
0
def main():
    pygame_sdl2.init()
    pp.pprint(pygame_sdl2.render.get_drivers())
    pygame_sdl2.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT), OPENGL)
    pygame_sdl2.display.set_caption("SDL2 render test")
    r = pygame_sdl2.render.Renderer(vsync=False)
    pp.pprint(r.info())

    bg = r.load_texture('paper.jpg')

    # A sprite sheet generated from RLTiles.
    atlas = r.load_atlas('rlplayer.json')

    tile_size = 32 * SPRITE_SCALE

    parts = {}

    for k in list(atlas.keys()):
        cat = k.split("/")[1]
        try:
            parts[cat].append(atlas[k])
        except KeyError:
            parts[cat] = [atlas[k]]

    sprites = []
    x = 0
    y = 0
    while y < SCREEN_HEIGHT:
        while x < SCREEN_WIDTH:
            sprite_parts = []
            for ptype in ["base", "leg", "boot", "body", "hair", "hand1"]:
                sprite_parts.append(random.choice(parts[ptype]))
            s = pygame_sdl2.render.Sprite(sprite_parts)
            s.pos = (x, y)
            s.scale = SPRITE_SCALE
            sprites.append(s)

            x += tile_size
        y += tile_size
        x = 0

    clock = pygame_sdl2.time.Clock()

    sprites[0].color = (255, 0, 0)
    sprites[1].color = (100, 100, 255)

    con = pygame_sdl2.render.Container((-64, -64, 32 * 10, 32 * 10))
    for s in sprites:
        con.add(s)

    running = True
    while running:
        sprites[0].rotation += 1
        if sprites[0].alpha > 0:
            sprites[0].alpha -= 1

        sprites[1].rotation -= 1

        sprites[2].scale += 0.01
        if sprites[2].collides(sprites[4]):
            print("COLLISION")

        con.pos = con.pos[0] + 1, con.pos[1] + 1

        events = pygame_sdl2.event.get()
        for e in events:
            if e.type == QUIT:
                running = False
            elif e.type == KEYDOWN and e.key == K_ESCAPE:
                running = False

        r.clear((0, 0, 0))
        bg.render()
        con.render()
        r.render_present()
        clock.tick()

    print(clock.get_fps())
Exemple #15
0
import pygame_sdl2
pygame_sdl2.init()
pygame_sdl2.mixer.music.load("alan.mp3")
pygame_sdl2.mixer.music.play()
pygame_sdl2.event.wait()
Exemple #16
0
#!/usr/bin/env python3

import pygame_sdl2 as pygame
import math
from pygame_sdl2.locals import *
from lhpFunctions import *

pygame.init()

#scale and display resolution
display_scale_factor_x = 1 #display scale factor becouse original resolution is 160x90
display_scale_factor_y = 1 #display scale factor becouse original resolution is 160x90
display_width = 1200*display_scale_factor_x #this is graphics resolution, hardcoded
display_height = 600*display_scale_factor_y #this is graphics resolution, hardcoded
#zoom_factor = 1
listZoomFactor = [math.exp(i*0.1) for i in range(1, 40)]
listZoomFactor.reverse()
#listZoomFactor = [i*i-0.1 for i in range(1, 20)]
zoom_factor = listZoomFactor[-2]
zoom_x = int(208/zoom_factor)
zoom_y = int(31)
bar = 25
shift = 0
ctrl = 0
bg_scroll_x = 0

undoList = []

#listZoomFactor = [32, 16, 8, 4, 2, 1, 1/2, 1/4, 1/8, 1/16]
#listZoomFactor = [math.log(i*0.1+0.1) for i in range(1, 100)]
#listZoomFactor = [i*0.1 for i in range(1, 100)]
                    all_sprites.add(asteroids)

        # gameover
        # nave acertou asteroide?
        # for asteroid in asteroids:
        #     if ship.collision(asteroid):
        #         ship.kill()
        #         ship = Ship('img/ship.png', angle=0)
        #         all_sprites.add ( ship )

        if len(asteroids.sprites()) == 0:
            asteroids.add(Asteroid.create_asteroids())
            all_sprites.add(asteroids)
        # colisao

        caption = "Angle %d FPS %d/%d Q%d" % (ship.angle, clock.get_fps(), FPS,
                                              ship.get_quadrant())
        # text = font.render("by Humberto Lino", 1, Color.WHITE)
        text = font.render(caption, 1, Color.WHITE)
        screen.blit(text, (0, 0))
        pg.display.set_caption(caption)

        touch_buttons.draw()

        pg.display.flip()

if __name__ == "__main__":
    pg.init()
    main()
    pg.quit()
        # nave acertou asteroide?
        # for asteroid in asteroids:
        #     if ship.collision(asteroid):
        #         ship.kill()
        #         ship = Ship('img/ship.png', angle=0)
        #         all_sprites.add ( ship )

        if len(asteroids.sprites()) == 0 :
            asteroids.add ( Asteroid.create_asteroids() )
            all_sprites.add( asteroids )
        # colisao



        caption = "Angle %d FPS %d/%d Q%d" % (ship.angle, clock.get_fps(), FPS, ship.get_quadrant())
        # text = font.render("by Humberto Lino", 1, Color.WHITE)
        text = font.render(caption, 1, Color.WHITE)
        screen.blit(text, (0,0))
        pg.display.set_caption(caption)


        touch_buttons.draw()

        pg.display.flip()


if __name__ == "__main__":
    pg.init()
    main()
    pg.quit()
Exemple #19
0
	def run_game(self):
		# Game parameters
		self.SCREEN_WIDTH = conf.SCREEN_WIDTH
		self.SCREEN_HEIGHT = conf.SCREEN_HEIGHT
		BG_COLOR = conf.BG_COLOR
		self.BLOCKSIZE = conf.BLOCKSIZE
		self.SNACKS = conf.SNACKS
		self.gameSpeed = 250
		self.gameSpeedFactors = range(0, 400, 25)
		self.gameSpeedFactor = 0
		pygame.init()

		self.REST_WITH = self.SCREEN_WIDTH % self.BLOCKSIZE
		self.REST_HEIGHT = self.SCREEN_HEIGHT % self.BLOCKSIZE
		self.DRAW_RECT = pygame.Rect(0, 0, self.SCREEN_WIDTH - self.REST_WITH, self.SCREEN_HEIGHT - self.REST_HEIGHT)
		# do fancy window stuff
		pygame.display.set_caption("pySnake")
		#pygame.display.set_icon(pygame.image.load('imgs/bandit.jpg'))
		pygame.mouse.set_visible(False)

		if not conf.FULLSCREEN:
			os.environ['SDL_VIDEO_WINDOW_POS'] = "%d,%d" % (conf.WINDOW_POSITION_X, conf.WINDOW_POSITION_Y)
			if not conf.WINDOW_BORDER:
				self.screen = pygame.display.set_mode((self.SCREEN_WIDTH, self.SCREEN_HEIGHT), pygame.NOFRAME, 32)

		if self.screen is None:
			self.screen = pygame.display.set_mode((self.SCREEN_WIDTH, self.SCREEN_HEIGHT), 0, 32)

		if conf.FULLSCREEN:
			pygame.display.toggle_fullscreen()

		clock = pygame.time.Clock()
		redrawCount = 0
		
		# init the menu, add stuff later
		self.iUi = ui(self.screen)
		self.popUp = popUp(self.screen)
		self.popUp.color = conf.FONT_COLOR
		self.touchScreen = touchScreen(self.SCREEN_WIDTH, self.SCREEN_HEIGHT)
		
		pygame.joystick.init()
		self.joystickInteract = joystick()

		keymap = {pygame.K_UP: 1, pygame.K_RIGHT: 2, pygame.K_DOWN: 3, pygame.K_LEFT: 4}

		self.playerBox = None
		self.elements = []
		self.haveToAdd = []

		# The main game loop
		#
		gameOver = False
		doMove = -1
		while True:
			if self.playerBox is None:
				self.resetGame()
			
			# Limit frame speed to 50 FPS
			#
			time_passed = clock.tick(50)
			redrawCount += time_passed

			if self.joystickInteract.joystickAvailable():
				joyAction = self.joystickInteract.getAction()
				if joyAction == "move":
					doMove = self.joystickInteract.getMoveAction()
				elif joyAction == "speedUp":
					self.gameSpeedUp()
				elif joyAction == "speedDown":
					self.gameSpeedDown()
				elif joyAction == "restart":
					self.resetGame()
					gameOver = False
				elif joyAction == 'quit':
					self.exit_game()

			for event in pygame.event.get():
				if event.type == pygame.QUIT:
					self.exit_game()
				elif event.type == pygame.KEYDOWN:
					if event.key in keymap:
						doMove = keymap[event.key]
					elif event.key == pygame.K_2:  # speed up game
						self.gameSpeedUp()
					elif event.key == pygame.K_1:  # slow down up game
						self.gameSpeedDown()
					elif event.key == pygame.K_r:  # restart game
						self.resetGame()
						gameOver = False
					elif event.key == pygame.K_q:
						self.exit_game()
					else:
						print "event.key:", event.key
					#if event.key == pygame.K_UP:
					#	self.move(1)
				else:
					pass
					#print event

			if conf.TOUCH_SCREEN:
				mouseAction = self.touchScreen.getEventBoxes()
				if mouseAction > 0:
					if gameOver:
						self.resetGame()
						gameOver = False
					else:
						doMove = mouseAction

			if gameOver is False and redrawCount >= (self.gameSpeed - self.gameSpeedFactors[self.gameSpeedFactor]):
				# ONLY move, when the timer elapses!
				# otherwise you could change the direction multiple times before the scenery changes and upates
				# strange shit goes on!
				if doMove != -1:
					self.move(doMove)
					doMove = -1
					
				redrawCount = 0

				self.screen.fill(BG_COLOR, self.DRAW_RECT)
				
				# move the elements
				for elem in reversed(self.elements):
					elem.update()
				
				# add elements BEFORE blit is called and they change direction!
				# WEIRD stuff would happen otherwise!!!1!!!!!!!!
				if len(self.haveToAdd) > 0:
					for i in range(len(self.haveToAdd)):
						coords = self.haveToAdd[i]
						if self.fieldContainsBox(self.elements, coords[0], coords[1]) is False:
							lastElem = self.getLastElement()
							lastElem.back = box(self.screen, self.BLOCKSIZE, coords[0], coords[1])
							lastElem.back.setDirection(lastElem.getDirection())
							self.elements.append(self.getLastElement())
							self.haveToAdd.pop(i)
							break
				else:
					# if there is NOTHING to add to the Snake, add a new snak, if needed
					# preventing from spawning a snack inside the "new" tail of the snake and shit
					self.addSnack(self.elements)
				
				# update elements
				for elem in reversed(self.elements):
					elem.blit()

				# draw touchscreen
				# TODO: draw touch areas

				# draw pop ups
				self.popUp.drawPopUps()

				# if a snack has been eaten, add it to the to add list
				snackEaten = self.eatSnack(self.elements)
				if snackEaten is not None:
					self.haveToAdd.append(snackEaten)
					self.popUp.singlePopUp(str(self.getBodyLen()))
				
				# collision!
				if self.headDied(self.elements):
					gameOver = True

				pygame.display.flip()