Beispiel #1
0
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
Beispiel #2
0
    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)
Beispiel #3
0
 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)
Beispiel #4
0
    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)    
Beispiel #5
0
    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())
Beispiel #6
0
 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
Beispiel #7
0
 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
Beispiel #8
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
Beispiel #9
0
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']
Beispiel #10
0
def test_start_player():
    me = engine.Player(my_map.start_scene)
    assert me.location == my_map.start_scene
Beispiel #11
0
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()
Beispiel #12
0
 def setUp(self):
     self.player = engine.Player('Testy')
     self.grid = self.player.battle_grid
     self.carrier = engine.Ship.carrier()
Beispiel #13
0
 def setUp(self):
     self.player = engine.Player('Testy', self.grid)
Beispiel #14
0
        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))))
Beispiel #15
0

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)
Beispiel #16
0
 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()