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()
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']))
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()
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)
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()
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()
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()
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()
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())
import pygame_sdl2 pygame_sdl2.init() pygame_sdl2.mixer.music.load("alan.mp3") pygame_sdl2.mixer.music.play() pygame_sdl2.event.wait()
#!/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()
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()