def main(): winX = 440 winY = 660 winCenter = graphics.Point(winX / 2, winY / 2) winName = "| bullet.heck |" menu = engine.Menu() hud = engine.Hud() player = engine.Player() window = graphics.GraphWin(winName, winX, winY, autoflush=False) wallpaper = graphics.Image(winCenter, "assets/space.gif") window.setBackground("black") wallpaper.draw(window) while (window): menu.main(window) player.score = 0 player.lives = 4 patternNumber = 0 nextSpawn = randint(125, 160) player = engine.Player() patternList = list() player.draw(window) hud.draw(window) hud.update_bar(window, player) hud.update_score(window, player.score) while (player.lives > 0): # Game loop starts here. press = window.checkKey() if (player.score % nextSpawn == 0): nextSpawn = randint(125, 160) patternList.append(engine.build_attack()) player.hit = False player.move(press) for i in range (len(patternList)): patternList[i].fire(window) patternList[i].move() if (patternList[i].detect_hit(player)): player.hit = True player.score = player.score + 1 player.update_hitframes() player.update_lives() player.update_shield(window) hud.update_bar(window, player) hud.update_score(window, player.score) hud.pause(press, window) if (player.lives == 0): for i in range (len(patternList)): patternList[i].undraw() player.undraw() hud.undraw(window) menu.game_over(window, player.score) sleep(.03) graphics.update(30) # Game loop ends here. return
def setUp(self): self.p1 = engine.Player('Player One') self.p2 = engine.Player('Player Two') self.p2_grid = self.p2.battle_grid self.p2_submarine = engine.Ship.submarine() self.p2_destroyer = engine.Ship.destroyer() self.p2_grid.place_ship(self.p2_submarine, 'A1', engine.Orientation.LANDSCAPE) self.p2_grid.place_ship(self.p2_destroyer, 'C7', engine.Orientation.PORTRAIT) self.game = engine.Game(self.p1, self.p2)
def connect(self,event): c = Connection() c.connect(self.IPAddress,int(self.Port)) if c.Connected: self.Connection = c game = engine.Engine("play_with_friend",600,300,self.Master.winfo_screenwidth()/2-300,self.Master.winfo_screenheight()/2-150) game.Player1 = engine.Player(self.Username) c.send('PLAYER:%s'%self.Username) recv = c.receive().split(':') if recv[0] == 'PLAYER': game.Player2 = engine.Player(recv[1]) else: raise Exception('there is a problem during the connection\nCONNECTION IP ADDRESS: %s\nCONNECTION PORT: %d'%(c.RemoteIPAddress,c.Port)) self.root.withdraw() game.render(self.Master,c)
def generate_map(self, stage_path): level_map = read_csv(stage_path) self.player = {} tiles = [] self.tile_rects = [] y = 0 for row in level_map: x = 0 for tile in row: if tile == '6': self.player = engine.Player("assets/player/left/l", "assets/player/right/r", 7, x * 32, y * 32, 1, 3, 0.3, self.tile_rects, self.enemy_group) self.player_group.add(self.player) elif tile == '7': enemy = engine.Enemy("assets/enemy/class3/l", "assets/enemy/class3/r", 3, x * 32, y * 32, 1, 0.07, self.tile_rects, self.player_group, 3) self.enemy_group.add(enemy) elif tile == '8': enemy = engine.Enemy("assets/enemy/class2/l", "assets/enemy/class2/r", 3, x * 32, y * 32, 1, 0.07, self.tile_rects, self.player_group, 2) self.enemy_group.add(enemy) elif tile == '9': enemy = engine.Enemy("assets/enemy/class1/l", "assets/enemy/class1/r", 3, x * 32, y * 32, 1, 0.07, self.tile_rects, self.player_group, 1) self.enemy_group.add(enemy) elif tile != '-1': new_tile = engine.Tile('./assets/tiles/tile' + tile + '.png', x * 32, y * 32) tiles.append(new_tile) self.tile_rects.append(pygame.Rect(x * 32, y * 32, 32, 32)) x += 1 y += 1 self.tile_map = engine.TileMap(tiles, self.tile_rects)
def datagramReceived(self, line, address): if len(self.factory.clients) >= self.factory.max_clients: self.maxClients() else: if not self.factory.clients.get(address): client = engine.Player(network=self) self.factory.clients[client.net.transport] = client self.factory.activeConnections += 1 try: line = self.factory.decryption(line) header, payload = self.packetParser(line) except: # if we get a malformed packet, close the connection. self.badPacket(line) header = None self.transport.loseConnection() # ensure we have a handle to this header. if header is not None: header = header.lower() command = self.headers.get(header) if command is not None: try: command(payload) except: print "[Error on handle: {0}. Payload: {1}]".format( header, payload, ) print str(sys.exc_info())
def connectionMade(self): client = engine.Player(network=self) # create a temporary Player() instance. self.clientConnected(client or self.transport.getPeer()) if len(self.factory.clients) >= self.factory.max_clients: self.maxClients() else: self.factory.clients[client.net.transport] = client #log.msg("Updated client hash-table: %s" %self.factory.clients.keys()) self.factory.activeConnections += 1
def restart(self): engine.world = engine.World() engine.player = engine.Player() self.soundtrack = QtMultimedia.QSound('sounds/soundtrack.wav') self.soundtrack.setLoops(self.soundtrack.Infinite) self.soundtrack.play() #os.startfile('soundtrack.mp3') #s = subprocess.Popen(r'start soundtrack.mp3', stdin=subprocess.PIPE) self.timerEngine.start(self.timerPeriod, self) self.timerCounter = 0
def test_pickup_prop(): treasure_map = engine.Prop('a treasure map', my_map.scenes['cave_outside']) me = engine.Player(my_map.start_scene) me.pickup_prop(treasure_map) assert treasure_map in me.inventory assert treasure_map.location == me.inventory
def test_move_player(): me = engine.Player(my_map.start_scene) me.move(my_map.scenes['cave_entrance']) assert me.location == my_map.scenes['cave_entrance']
def test_start_player(): me = engine.Player(my_map.start_scene) assert me.location == my_map.start_scene
import engine import pyglet playerImage = pyglet.image.load('resources/player.png') window = pyglet.window.Window(640,480) world = engine.World(640,480) player = engine.Player(10,500,playerImage) window.push_handlers(player.key_handler) @window.event def on_draw(): window.clear() player.draw() def update(dt): player.update() pyglet.clock.schedule_interval(update,1.0/120.0) pyglet.app.run()
def setUp(self): self.player = engine.Player('Testy') self.grid = self.player.battle_grid self.carrier = engine.Ship.carrier()
def setUp(self): self.player = engine.Player('Testy', self.grid)
for item in pieces: position = item.getPos() index = position[0] + position[1] * len(BOUNDS_X) rect = self.rect_array[index] image = pygame.image.load(item.getIcon()) image = pygame.transform.scale(image, tuple(rect)[2:]) self.window.blit(image, rect) if(__name__ == '__main__'): colour1 = config.TILE_COLOUR_1 colour2 = config.TILE_COLOUR_2 display = Display(WINDOW_X, WINDOW_Y) display.initializeWindow() player1 = engine.Player() player2 = engine.Player() game_board = engine.GameBoard() game_board.initalizeDefaultBoard(player1, player2) player2.reversePossibleMoves() currentTurn = player1 piece_draging = False while True: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit(0) elif event.type == pygame.MOUSEBUTTONDOWN: if event.button == 1: mouse_x, mouse_y = event.pos pos_on_board = (int(mouse_x//(WINDOW_X/len(BOUNDS_X))), int(mouse_y//(WINDOW_Y/len(BOUNDS_Y))))
def centreImage(image): image.anchor_x = image.width / 2 image.anchor_y = image.height / 2 window = pyglet.window.Window(1300, 600) playerImage = pyglet.image.load("resources" + simpleLibrary.SEPARATOR + "playerImage.png") centreImage(playerImage) batch1 = pyglet.graphics.Batch() player1 = engine.Player(window.width / 5, window.height / 2, playerImage, batch1, engine.Size(window.width, window.height)) window.push_handlers(player1.key_handler) weaponLabel = pyglet.text.Label(color=(0, 255, 0, 255), batch=batch1) weaponLabel.text = player1.weaponList[player1.equippedWeapon] @window.event def on_draw(): window.clear() batch1.draw() def update(dt): player1.update(dt)
def readPlayerData(self): playerFile = open("playerdata.txt", "r") for line in playerFile: playerData = line.split("|") self.players.append(engine.Player(int(playerData[0]), playerData[1], playerData[2], int(playerData[3]), int(playerData[4]))) playerFile.close()