예제 #1
0
 def rotateRightOn(self):
   self.rotateRight = True
   rotateEvent = createNamedEvent(
     self.name,
     Event.PLAYER_ROTATE_RIGHT_ON
   )
   messenger.send(rotateEvent)
예제 #2
0
 def rotateRightOff(self):
   self.rotateRight = False
   rotateEvent = createNamedEvent(
     self.name,
     Event.PLAYER_ROTATE_RIGHT_OFF
   )
   messenger.send(rotateEvent)
예제 #3
0
 def rotateLeftOff(self):
   self.rotateLeft = False
   rotateEvent = createNamedEvent(
     self.name,
     Event.PLAYER_ROTATE_LEFT_OFF
   )
   messenger.send(rotateEvent)
예제 #4
0
 def rotateLeftOn(self):
   self.rotateLeft = True
   rotateEvent = createNamedEvent(
     self.name,
     Event.PLAYER_ROTATE_LEFT_ON
   )
   messenger.send(rotateEvent)
예제 #5
0
파일: Player.py 프로젝트: PlumpMath/tsaap
 def rotateLeftOn(self):
     self.rotateLeft = True
     rotateEvent = createNamedEvent(self.name, Event.PLAYER_ROTATE_LEFT_ON)
     messenger.send(rotateEvent)
예제 #6
0
파일: Player.py 프로젝트: PlumpMath/tsaap
 def moveForwardOff(self):
     self.forward = False
     moveEvent = createNamedEvent(self.name, Event.PLAYER_MOVE_FORWARD_OFF)
     messenger.send(moveEvent)
예제 #7
0
파일: Player.py 프로젝트: PlumpMath/tsaap
 def moveForwardOn(self):
     self.forward = True
     moveEvent = createNamedEvent(self.name, Event.PLAYER_MOVE_FORWARD_ON)
     messenger.send(moveEvent)
예제 #8
0
파일: Player.py 프로젝트: PlumpMath/tsaap
 def shoot(self):
     shootEvent = createNamedEvent(self.name, Event.PLAYER_SHOOT)
     messenger.send(shootEvent)
예제 #9
0
    def registerListeners(self):
        playerOne = self.getPlayers()[0]
        playerTwo = self.getPlayers()[1]
        shipOne = self.getShips()[0]
        shipTwo = self.getShips()[1]
        # Player one events
        playerOneMoveForwardOn = createNamedEvent(playerOne.name,
                                                  Event.PLAYER_MOVE_FORWARD_ON)
        playerOneMoveForwardOff = createNamedEvent(
            playerOne.name, Event.PLAYER_MOVE_FORWARD_OFF)
        playerOneRotateLeftOn = createNamedEvent(playerOne.name,
                                                 Event.PLAYER_ROTATE_LEFT_ON)
        playerOneRotateLeftOff = createNamedEvent(playerOne.name,
                                                  Event.PLAYER_ROTATE_LEFT_OFF)
        playerOneRotateRightOn = createNamedEvent(playerOne.name,
                                                  Event.PLAYER_ROTATE_RIGHT_ON)
        playerOneRotateRightOff = createNamedEvent(
            playerOne.name, Event.PLAYER_ROTATE_RIGHT_OFF)
        playerOneShoot = createNamedEvent(playerOne.name, Event.PLAYER_SHOOT)
        base.accept(playerOneMoveForwardOn, shipOne.thrustOn)
        base.accept(playerOneMoveForwardOff, shipOne.thrustOff)
        base.accept(playerOneRotateLeftOn, shipOne.rotateLeftOn)
        base.accept(playerOneRotateLeftOff, shipOne.rotateLeftOff)
        base.accept(playerOneRotateRightOn, shipOne.rotateRightOn)
        base.accept(playerOneRotateRightOff, shipOne.rotateRightOff)
        base.accept(playerOneShoot, shipOne.shoot)

        # Player two events
        playerTwoMoveForwardOn = createNamedEvent(playerTwo.name,
                                                  Event.PLAYER_MOVE_FORWARD_ON)
        playerTwoMoveForwardOff = createNamedEvent(
            playerTwo.name, Event.PLAYER_MOVE_FORWARD_OFF)
        playerTwoRotateLeftOn = createNamedEvent(playerTwo.name,
                                                 Event.PLAYER_ROTATE_LEFT_ON)
        playerTwoRotateLeftOff = createNamedEvent(playerTwo.name,
                                                  Event.PLAYER_ROTATE_LEFT_OFF)
        playerTwoRotateRightOn = createNamedEvent(playerTwo.name,
                                                  Event.PLAYER_ROTATE_RIGHT_ON)
        playerTwoRotateRightOff = createNamedEvent(
            playerTwo.name, Event.PLAYER_ROTATE_RIGHT_OFF)
        playerTwoShoot = createNamedEvent(playerTwo.name, Event.PLAYER_SHOOT)
        base.accept(playerTwoMoveForwardOn, shipTwo.thrustOn)
        base.accept(playerTwoMoveForwardOff, shipTwo.thrustOff)
        base.accept(playerTwoRotateLeftOn, shipTwo.rotateLeftOn)
        base.accept(playerTwoRotateLeftOff, shipTwo.rotateLeftOff)
        base.accept(playerTwoRotateRightOn, shipTwo.rotateRightOn)
        base.accept(playerTwoRotateRightOff, shipTwo.rotateRightOff)
        base.accept(playerTwoShoot, shipTwo.shoot)

        # Player one key mapping
        base.accept(Game.PLAYER_ONE_FORWARD_KEY, playerOne.moveForwardOn)
        base.accept("control-" + Game.PLAYER_ONE_FORWARD_KEY,
                    playerOne.moveForwardOn)
        base.accept(Game.PLAYER_ONE_FORWARD_KEY + "-up",
                    playerOne.moveForwardOff)
        base.accept(Game.PLAYER_ONE_ROTATE_LEFT_KEY, playerOne.rotateLeftOn)
        base.accept("control-" + Game.PLAYER_ONE_ROTATE_LEFT_KEY,
                    playerOne.rotateLeftOn)
        base.accept(Game.PLAYER_ONE_ROTATE_LEFT_KEY + "-up",
                    playerOne.rotateLeftOff)
        base.accept(Game.PLAYER_ONE_ROTATE_RIGHT_KEY, playerOne.rotateRightOn)
        base.accept("control-" + Game.PLAYER_ONE_ROTATE_RIGHT_KEY,
                    playerOne.rotateRightOn)
        base.accept(Game.PLAYER_ONE_ROTATE_RIGHT_KEY + "-up",
                    playerOne.rotateRightOff)
        base.accept(Game.PLAYER_ONE_SHOOT, playerOne.shoot)

        # Player two key mapping
        base.accept(Game.PLAYER_TWO_FORWARD_KEY, playerTwo.moveForwardOn)
        base.accept("control-" + Game.PLAYER_TWO_FORWARD_KEY,
                    playerTwo.moveForwardOn)
        base.accept(Game.PLAYER_TWO_FORWARD_KEY + "-up",
                    playerTwo.moveForwardOff)
        base.accept(Game.PLAYER_TWO_ROTATE_LEFT_KEY, playerTwo.rotateLeftOn)
        base.accept("control-" + Game.PLAYER_TWO_ROTATE_LEFT_KEY,
                    playerTwo.rotateLeftOn)
        base.accept(Game.PLAYER_TWO_ROTATE_LEFT_KEY + "-up",
                    playerTwo.rotateLeftOff)
        base.accept(Game.PLAYER_TWO_ROTATE_RIGHT_KEY, playerTwo.rotateRightOn)
        base.accept("control-" + Game.PLAYER_TWO_ROTATE_RIGHT_KEY,
                    playerTwo.rotateRightOn)
        base.accept(Game.PLAYER_TWO_ROTATE_RIGHT_KEY + "-up",
                    playerTwo.rotateRightOff)
        base.accept(Game.PLAYER_TWO_SHOOT, playerTwo.shoot)

        # Game specific key mapping
        base.accept("escape", sys.exit)
        base.accept("f1", self.switchCameraMode, [Game.CAMERA_MODE_FPS_ONE])
        base.accept("f2", self.switchCameraMode, [Game.CAMERA_MODE_FPS_TWO])
        base.accept("f3", self.switchCameraMode, [Game.CAMERA_MODE_GAME])
        base.accept("f4", self.switchCameraMode, [Game.CAMERA_MODE_STILL])
        base.accept("p", self.togglePause)

        # The game is now listening to all the necessary events
        self.isListening = True
예제 #10
0
 def moveForwardOn(self):
   self.forward = True
   moveEvent = createNamedEvent(self.name, Event.PLAYER_MOVE_FORWARD_ON)
   messenger.send(moveEvent)
예제 #11
0
파일: Player.py 프로젝트: PlumpMath/tsaap
 def rotateRightOff(self):
     self.rotateRight = False
     rotateEvent = createNamedEvent(self.name,
                                    Event.PLAYER_ROTATE_RIGHT_OFF)
     messenger.send(rotateEvent)
예제 #12
0
파일: Game.py 프로젝트: vesanieminen/tsaap
  def registerListeners(self):
    playerOne = self.getPlayers()[0]
    playerTwo = self.getPlayers()[1]
    shipOne = self.getShips()[0]
    shipTwo = self.getShips()[1]
    # Player one events
    playerOneMoveForwardOn = createNamedEvent(
      playerOne.name, Event.PLAYER_MOVE_FORWARD_ON
    )
    playerOneMoveForwardOff = createNamedEvent(
      playerOne.name, Event.PLAYER_MOVE_FORWARD_OFF
    )
    playerOneRotateLeftOn = createNamedEvent(
      playerOne.name, Event.PLAYER_ROTATE_LEFT_ON
    )
    playerOneRotateLeftOff = createNamedEvent(
      playerOne.name, Event.PLAYER_ROTATE_LEFT_OFF
    )
    playerOneRotateRightOn = createNamedEvent(
      playerOne.name, Event.PLAYER_ROTATE_RIGHT_ON
    )
    playerOneRotateRightOff = createNamedEvent(
      playerOne.name, Event.PLAYER_ROTATE_RIGHT_OFF
    )
    playerOneShoot = createNamedEvent(
      playerOne.name, Event.PLAYER_SHOOT
    )
    base.accept(playerOneMoveForwardOn, shipOne.thrustOn)
    base.accept(playerOneMoveForwardOff, shipOne.thrustOff)
    base.accept(playerOneRotateLeftOn, shipOne.rotateLeftOn)
    base.accept(playerOneRotateLeftOff, shipOne.rotateLeftOff)
    base.accept(playerOneRotateRightOn, shipOne.rotateRightOn)
    base.accept(playerOneRotateRightOff, shipOne.rotateRightOff)
    base.accept(playerOneShoot, shipOne.shoot)

    # Player two events
    playerTwoMoveForwardOn = createNamedEvent(
      playerTwo.name, Event.PLAYER_MOVE_FORWARD_ON
    )
    playerTwoMoveForwardOff = createNamedEvent(
      playerTwo.name, Event.PLAYER_MOVE_FORWARD_OFF
    )
    playerTwoRotateLeftOn = createNamedEvent(
      playerTwo.name, Event.PLAYER_ROTATE_LEFT_ON
    )
    playerTwoRotateLeftOff = createNamedEvent(
      playerTwo.name, Event.PLAYER_ROTATE_LEFT_OFF
    )
    playerTwoRotateRightOn = createNamedEvent(
      playerTwo.name, Event.PLAYER_ROTATE_RIGHT_ON
    )
    playerTwoRotateRightOff = createNamedEvent(
      playerTwo.name, Event.PLAYER_ROTATE_RIGHT_OFF
    )
    playerTwoShoot = createNamedEvent(
      playerTwo.name, Event.PLAYER_SHOOT
    )
    base.accept(playerTwoMoveForwardOn, shipTwo.thrustOn)
    base.accept(playerTwoMoveForwardOff, shipTwo.thrustOff)
    base.accept(playerTwoRotateLeftOn, shipTwo.rotateLeftOn)
    base.accept(playerTwoRotateLeftOff, shipTwo.rotateLeftOff)
    base.accept(playerTwoRotateRightOn, shipTwo.rotateRightOn)
    base.accept(playerTwoRotateRightOff, shipTwo.rotateRightOff)
    base.accept(playerTwoShoot, shipTwo.shoot)

    # Player one key mapping
    base.accept(Game.PLAYER_ONE_FORWARD_KEY, playerOne.moveForwardOn)
    base.accept("control-" + Game.PLAYER_ONE_FORWARD_KEY, playerOne.moveForwardOn)
    base.accept(Game.PLAYER_ONE_FORWARD_KEY + "-up", playerOne.moveForwardOff)
    base.accept(Game.PLAYER_ONE_ROTATE_LEFT_KEY, playerOne.rotateLeftOn)
    base.accept("control-" + Game.PLAYER_ONE_ROTATE_LEFT_KEY, playerOne.rotateLeftOn)
    base.accept(Game.PLAYER_ONE_ROTATE_LEFT_KEY + "-up", playerOne.rotateLeftOff)
    base.accept(Game.PLAYER_ONE_ROTATE_RIGHT_KEY, playerOne.rotateRightOn)
    base.accept("control-" + Game.PLAYER_ONE_ROTATE_RIGHT_KEY, playerOne.rotateRightOn)
    base.accept(Game.PLAYER_ONE_ROTATE_RIGHT_KEY + "-up", playerOne.rotateRightOff)
    base.accept(Game.PLAYER_ONE_SHOOT, playerOne.shoot)

    # Player two key mapping
    base.accept(Game.PLAYER_TWO_FORWARD_KEY, playerTwo.moveForwardOn)
    base.accept("control-" + Game.PLAYER_TWO_FORWARD_KEY, playerTwo.moveForwardOn)
    base.accept(Game.PLAYER_TWO_FORWARD_KEY + "-up", playerTwo.moveForwardOff)
    base.accept(Game.PLAYER_TWO_ROTATE_LEFT_KEY, playerTwo.rotateLeftOn)
    base.accept("control-" + Game.PLAYER_TWO_ROTATE_LEFT_KEY, playerTwo.rotateLeftOn)
    base.accept(Game.PLAYER_TWO_ROTATE_LEFT_KEY + "-up", playerTwo.rotateLeftOff)
    base.accept(Game.PLAYER_TWO_ROTATE_RIGHT_KEY, playerTwo.rotateRightOn)
    base.accept("control-" + Game.PLAYER_TWO_ROTATE_RIGHT_KEY, playerTwo.rotateRightOn)
    base.accept(Game.PLAYER_TWO_ROTATE_RIGHT_KEY + "-up", playerTwo.rotateRightOff)
    base.accept(Game.PLAYER_TWO_SHOOT, playerTwo.shoot)

    # Game specific key mapping
    base.accept("escape", sys.exit)
    base.accept( "f1", self.switchCameraMode, [Game.CAMERA_MODE_FPS_ONE] )
    base.accept( "f2", self.switchCameraMode, [Game.CAMERA_MODE_FPS_TWO] )
    base.accept( "f3", self.switchCameraMode, [Game.CAMERA_MODE_GAME] )
    base.accept( "f4", self.switchCameraMode, [Game.CAMERA_MODE_STILL] )
    base.accept( "p", self.togglePause )

    # The game is now listening to all the necessary events
    self.isListening = True
예제 #13
0
 def moveForwardOff(self):
   self.forward = False
   moveEvent = createNamedEvent(self.name, Event.PLAYER_MOVE_FORWARD_OFF)
   messenger.send(moveEvent)
예제 #14
0
파일: Player.py 프로젝트: PlumpMath/tsaap
 def rotateLeftOff(self):
     self.rotateLeft = False
     rotateEvent = createNamedEvent(self.name, Event.PLAYER_ROTATE_LEFT_OFF)
     messenger.send(rotateEvent)
예제 #15
0
 def testCreateNamedEvent(self):
   playerOne = Player()
   playerOneMoveEvent = createNamedEvent(
     playerOne.name, Event.PLAYER_MOVE_FORWARD_ON
   )
   self.failUnless(playerOneMoveEvent)
예제 #16
0
파일: Player.py 프로젝트: PlumpMath/tsaap
 def rotateRightOn(self):
     self.rotateRight = True
     rotateEvent = createNamedEvent(self.name, Event.PLAYER_ROTATE_RIGHT_ON)
     messenger.send(rotateEvent)
예제 #17
0
  def testRegisterListeners(self):
    self.game.start()
    players = self.game.getPlayers()
    playerOne = players[0]
    self.game.registerListeners()
    playerOneMoveForwardOnEvent = createNamedEvent(
      playerOne.name, Event.PLAYER_MOVE_FORWARD_ON
    )
    ships = self.game.getShips()
    shipOne = ships[0]
    shipTwo = ships[1]

    # Test that the player can move the ship forward
    pos1 = shipOne.getPos()
    vel1 = shipOne.getVel()
    acc1 = shipOne.getAcc()
    messenger.send(playerOneMoveForwardOnEvent)
    taskMgr.step()
    pos2 = shipOne.getPos()
    vel2 = shipOne.getVel()
    acc2 = shipOne.getAcc()
    self.failIf(pos1 == pos2)
    self.failIf(vel1 == vel2)
    self.failIf(acc1 == acc2)

    # Test that the move forward off event is handled properly
    playerOneMoveForwardOffEvent = createNamedEvent(
      playerOne.name, Event.PLAYER_MOVE_FORWARD_OFF
    )
    acc1 = shipOne.getAcc()
    messenger.send(playerOneMoveForwardOffEvent)
    taskMgr.step()
    acc2 = shipOne.getAcc()
    self.failIf(acc1 == acc2)
    
    # Test that the players' keys are set
    # Player one forward key on:
    pos1 = shipOne.getPos()
    vel1 = shipOne.getVel()
    acc1 = shipOne.getAcc()
    messenger.send(Game.PLAYER_ONE_FORWARD_KEY)
    taskMgr.step()
    pos2 = shipOne.getPos()
    vel2 = shipOne.getVel()
    acc2 = shipOne.getAcc()
    self.failIf(pos1 == pos2)
    self.failIf(vel1 == vel2)
    self.failIf(acc1 == acc2)
    # Player one forward key off:
    acc1 = shipOne.getAcc()
    vel1 = shipOne.getVel()
    messenger.send(Game.PLAYER_ONE_FORWARD_KEY + "-up")
    taskMgr.step()
    acc2 = shipOne.getAcc()
    vel2 = shipOne.getVel()
    self.failIf(acc1 == acc2)
    self.failUnless(vel1 == vel2)
    # Player one rotate left key on:
    headingBefore = shipOne.heading
    messenger.send(Game.PLAYER_ONE_ROTATE_LEFT_KEY)
    taskMgr.step()
    headingAfter = shipOne.heading
    self.failIf(headingBefore == headingAfter)
    # Player one rotate left key off:
    headingBefore = shipOne.heading
    messenger.send(Game.PLAYER_ONE_ROTATE_LEFT_KEY + "-up")
    taskMgr.step()
    headingAfter = shipOne.heading
    self.failUnless(headingBefore == headingAfter)
    # Player one rotate right key on:
    headingBefore = shipOne.heading
    messenger.send(Game.PLAYER_ONE_ROTATE_RIGHT_KEY)
    taskMgr.step()
    headingAfter = shipOne.heading
    self.failIf(headingBefore == headingAfter)
    # Player one rotate right key off:
    headingBefore = shipOne.heading
    messenger.send(Game.PLAYER_ONE_ROTATE_RIGHT_KEY + "-up")
    taskMgr.step()
    headingAfter = shipOne.heading
    self.failUnless(headingBefore == headingAfter)
    # Player one shoot:
    bullets = self.game.getBullets()
    bulletsBefore = len(bullets[0])
    messenger.send(Game.PLAYER_ONE_SHOOT)
    taskMgr.step()
    bulletsAfter = len(bullets[0])
    self.failUnless(bulletsBefore < bulletsAfter)
    # Player two forward key on:
    pos1 = shipTwo.getPos()
    vel1 = shipTwo.getVel()
    acc1 = shipTwo.getAcc()
    messenger.send(Game.PLAYER_TWO_FORWARD_KEY)
    taskMgr.step()
    pos2 = shipTwo.getPos()
    vel2 = shipTwo.getVel()
    acc2 = shipTwo.getAcc()
    self.failIf(pos1 == pos2)
    self.failIf(vel1 == vel2)
    self.failIf(acc1 == acc2)
    # Player two forward key off:
    acc1 = shipTwo.getAcc()
    messenger.send(Game.PLAYER_TWO_FORWARD_KEY + "-up")
    taskMgr.step()
    acc2 = shipTwo.getAcc()
    self.failIf(acc1 == acc2)
    # Player two rotate left key on:
    headingBefore = shipTwo.heading
    messenger.send(Game.PLAYER_TWO_ROTATE_LEFT_KEY)
    taskMgr.step()
    headingAfter = shipTwo.heading
    self.failIf(headingBefore == headingAfter)
    # Player two rotate left key off:
    headingBefore = shipTwo.heading
    messenger.send(Game.PLAYER_TWO_ROTATE_LEFT_KEY + "-up")
    taskMgr.step()
    headingAfter = shipTwo.heading
    self.failUnless(headingBefore == headingAfter)
    # Player two rotate right key on:
    headingBefore = shipTwo.heading
    messenger.send(Game.PLAYER_TWO_ROTATE_RIGHT_KEY)
    taskMgr.step()
    headingAfter = shipTwo.heading
    self.failIf(headingBefore == headingAfter)
    # Player two rotate right key off:
    headingBefore = shipTwo.heading
    messenger.send(Game.PLAYER_TWO_ROTATE_RIGHT_KEY + "-up")
    taskMgr.step()
    headingAfter = shipTwo.heading
    self.failUnless(headingBefore == headingAfter)
    # Player two shoot:
    bullets = self.game.getBullets()
    bulletsBefore = len(bullets[1])
    messenger.send(Game.PLAYER_TWO_SHOOT)
    taskMgr.step()
    bulletsAfter = len(bullets[1])
    self.failUnless(bulletsBefore < bulletsAfter)
    
    # Check that the game is actually listening to events
    self.failUnless(self.game.isListening)
예제 #18
0
    def testRegisterListeners(self):
        self.game.start()
        players = self.game.getPlayers()
        playerOne = players[0]
        self.game.registerListeners()
        playerOneMoveForwardOnEvent = createNamedEvent(
            playerOne.name, Event.PLAYER_MOVE_FORWARD_ON)
        ships = self.game.getShips()
        shipOne = ships[0]
        shipTwo = ships[1]

        # Test that the player can move the ship forward
        pos1 = shipOne.getPos()
        vel1 = shipOne.getVel()
        acc1 = shipOne.getAcc()
        messenger.send(playerOneMoveForwardOnEvent)
        taskMgr.step()
        pos2 = shipOne.getPos()
        vel2 = shipOne.getVel()
        acc2 = shipOne.getAcc()
        self.failIf(pos1 == pos2)
        self.failIf(vel1 == vel2)
        self.failIf(acc1 == acc2)

        # Test that the move forward off event is handled properly
        playerOneMoveForwardOffEvent = createNamedEvent(
            playerOne.name, Event.PLAYER_MOVE_FORWARD_OFF)
        acc1 = shipOne.getAcc()
        messenger.send(playerOneMoveForwardOffEvent)
        taskMgr.step()
        acc2 = shipOne.getAcc()
        self.failIf(acc1 == acc2)

        # Test that the players' keys are set
        # Player one forward key on:
        pos1 = shipOne.getPos()
        vel1 = shipOne.getVel()
        acc1 = shipOne.getAcc()
        messenger.send(Game.PLAYER_ONE_FORWARD_KEY)
        taskMgr.step()
        pos2 = shipOne.getPos()
        vel2 = shipOne.getVel()
        acc2 = shipOne.getAcc()
        self.failIf(pos1 == pos2)
        self.failIf(vel1 == vel2)
        self.failIf(acc1 == acc2)
        # Player one forward key off:
        acc1 = shipOne.getAcc()
        vel1 = shipOne.getVel()
        messenger.send(Game.PLAYER_ONE_FORWARD_KEY + "-up")
        taskMgr.step()
        acc2 = shipOne.getAcc()
        vel2 = shipOne.getVel()
        self.failIf(acc1 == acc2)
        self.failUnless(vel1 == vel2)
        # Player one rotate left key on:
        headingBefore = shipOne.heading
        messenger.send(Game.PLAYER_ONE_ROTATE_LEFT_KEY)
        taskMgr.step()
        headingAfter = shipOne.heading
        self.failIf(headingBefore == headingAfter)
        # Player one rotate left key off:
        headingBefore = shipOne.heading
        messenger.send(Game.PLAYER_ONE_ROTATE_LEFT_KEY + "-up")
        taskMgr.step()
        headingAfter = shipOne.heading
        self.failUnless(headingBefore == headingAfter)
        # Player one rotate right key on:
        headingBefore = shipOne.heading
        messenger.send(Game.PLAYER_ONE_ROTATE_RIGHT_KEY)
        taskMgr.step()
        headingAfter = shipOne.heading
        self.failIf(headingBefore == headingAfter)
        # Player one rotate right key off:
        headingBefore = shipOne.heading
        messenger.send(Game.PLAYER_ONE_ROTATE_RIGHT_KEY + "-up")
        taskMgr.step()
        headingAfter = shipOne.heading
        self.failUnless(headingBefore == headingAfter)
        # Player one shoot:
        bullets = self.game.getBullets()
        bulletsBefore = len(bullets[0])
        messenger.send(Game.PLAYER_ONE_SHOOT)
        taskMgr.step()
        bulletsAfter = len(bullets[0])
        self.failUnless(bulletsBefore < bulletsAfter)
        # Player two forward key on:
        pos1 = shipTwo.getPos()
        vel1 = shipTwo.getVel()
        acc1 = shipTwo.getAcc()
        messenger.send(Game.PLAYER_TWO_FORWARD_KEY)
        taskMgr.step()
        pos2 = shipTwo.getPos()
        vel2 = shipTwo.getVel()
        acc2 = shipTwo.getAcc()
        self.failIf(pos1 == pos2)
        self.failIf(vel1 == vel2)
        self.failIf(acc1 == acc2)
        # Player two forward key off:
        acc1 = shipTwo.getAcc()
        messenger.send(Game.PLAYER_TWO_FORWARD_KEY + "-up")
        taskMgr.step()
        acc2 = shipTwo.getAcc()
        self.failIf(acc1 == acc2)
        # Player two rotate left key on:
        headingBefore = shipTwo.heading
        messenger.send(Game.PLAYER_TWO_ROTATE_LEFT_KEY)
        taskMgr.step()
        headingAfter = shipTwo.heading
        self.failIf(headingBefore == headingAfter)
        # Player two rotate left key off:
        headingBefore = shipTwo.heading
        messenger.send(Game.PLAYER_TWO_ROTATE_LEFT_KEY + "-up")
        taskMgr.step()
        headingAfter = shipTwo.heading
        self.failUnless(headingBefore == headingAfter)
        # Player two rotate right key on:
        headingBefore = shipTwo.heading
        messenger.send(Game.PLAYER_TWO_ROTATE_RIGHT_KEY)
        taskMgr.step()
        headingAfter = shipTwo.heading
        self.failIf(headingBefore == headingAfter)
        # Player two rotate right key off:
        headingBefore = shipTwo.heading
        messenger.send(Game.PLAYER_TWO_ROTATE_RIGHT_KEY + "-up")
        taskMgr.step()
        headingAfter = shipTwo.heading
        self.failUnless(headingBefore == headingAfter)
        # Player two shoot:
        bullets = self.game.getBullets()
        bulletsBefore = len(bullets[1])
        messenger.send(Game.PLAYER_TWO_SHOOT)
        taskMgr.step()
        bulletsAfter = len(bullets[1])
        self.failUnless(bulletsBefore < bulletsAfter)

        # Check that the game is actually listening to events
        self.failUnless(self.game.isListening)
예제 #19
0
 def shoot(self):
   shootEvent = createNamedEvent(self.name, Event.PLAYER_SHOOT)
   messenger.send(shootEvent)