Example #1
0
    def test__updateCurrMove__(self):
        moveCountArray = [2, 0]
        vectorArray = [[1, 3, 0]]
        repeat = 1
        move = movement.Move(moveCountArray=moveCountArray,
                             vectorAray=vectorArray,
                             repeat=repeat)
        move.__updateCurrMove__()
        self.assertTrue(move.currMove == 2)
        self.assertTrue(move.currVector == [1, 3, 0])
        self.assertTrue(move.moveCounts == [0])
        self.assertTrue(move.repeat == 1)
        move.__updateCurrMove__()
        self.assertTrue(move.currMove == 1)
        self.assertTrue(move.currVector == [1, 3, 0])
        self.assertTrue(move.moveCounts == [0])
        self.assertTrue(move.repeat == 1)
        move.__updateCurrMove__()
        self.assertTrue(move.currMove == 0)
        self.assertTrue(move.currVector == [1, 3, 0])
        self.assertTrue(move.moveCounts == [0])
        self.assertTrue(move.repeat == 1)
        move.__updateCurrMove__()
        self.assertTrue(move.currMove == 0)  #updates to next ne MoveCounts
        self.assertTrue(move.currVector == [1, 3, 0])
        self.assertTrue(move.moveCounts ==
                        [])  #pops from moveCounts and places in currMove
        self.assertTrue(move.repeat == 1)

        self.assertTrue(
            move.__updateCurrMove__(),
            False)  #returns false when no more moveCounts and currMove==0
Example #2
0
 def __sleeper__(self):# moves down and stops for a LLLONG time =, the wiggles left and right FAST, the stops again, the dives down
     behaviorArray = ["down","stop","left","right"]
     down =["x","x",0]#comes down at spawn speed
     stop = [0,0,0]
     left = [0,3,-90]
     right = ["x","x",90]
     moveCountArray = [50,	20,	10,		10]
     vectorArray = [down,stop,left,right]
     return movement.Move(moveCountArray=moveCountArray, vectorAray=vectorArray,repeat=1)
Example #3
0
    def deselect(self, location, game):
        x, y = location
        x = (x - 40) // 100
        y = (y - 40) // 100
        piece = self.selectedPiece
        target = (x, y)
        if self.selectedPiece and self.selectedPiece.getColour(
        ) == self.colour:
            self.selectedPiece.stopMoving()
            self.selectedPiece = None

            return movement.Move(piece, target, game.board)
Example #4
0
 def __crazyReverse__(self):
     down =["x","x",0]#comes down at spawn speed
     left = ["x","x",-90]
     right = ["x","x",90]
     up = ["x","x",180]
     northWest = ["x","x",180-46]
     northEast =["x","x", 180+46]
     southWest = ["x","x",-46]
     southEast =["x","x", 46]
     
     
     moveCountArray = [25,20,5,25,20,10,10,10,25,15,5]
     vectorArray = [southWest,northEast,down,southEast,northWest,down,up,left,right,left,down]
     return movement.Move(moveCountArray=moveCountArray, vectorAray=vectorArray,repeat=3)
Example #5
0
    def generateBoards(self, board):
        boards = []
        moves = self.generateMoves(board)
        for target in moves:
            newBoard = board.clone()
            piece = self.clone()
            newBoard.replacePiece(newBoard.getPieceAt(piece.getSquare()),
                                  piece)
            move = movement.Move(piece, target, newBoard)
            if move.executable:
                move.execute()
                boards.append(newBoard)

        return boards
Example #6
0
    def __mrVectors__(self): #EXAMPLE for vector movements
        #vector = [acceleration, speed, angle] if there is an "x" 
        # you will use the entities default, which if not set is 0.

        #couple of examples
        
        southWest1 = [3,"x",-85]
        southEast1 =["x","x", 85] 
        southWest2 = ["x","x",-65]
        southEast2 =["x","x", 65] 
        southWest3 = ["x","x",-50]
        southEast3 =["x","x", 50] 
        southWest4 = ["x","x",-30]
        southEast4 =[0,"x", 30] 
        

        #fill the vector array to execute each moveCount
        vectorArray = [ southWest1, southEast1, southWest2, southEast2, southWest3,southEast3, southWest4,southEast4]
        #still uses frame count
        moveCountArray = [20,20,  15, 15,  10, 10, 5, 5]
        return movement.Move(moveCountArray=moveCountArray,vectorAray=vectorArray, repeat=3)
Example #7
0
 def __northNorthWest__(self):
     return movement.Move(moveCountArray=[800], vectorAray=[self.NNW]) 
Example #8
0
    def test__init__(self):
        goodmoveCountArray1 = [1, 2]
        goodmoveCountArray2 = [0]
        goodmoveCountArray3 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

        badmoveCountArray1 = "a"
        badmoveCountArray2 = ["a"]
        badmoveCountArray3 = 11
        badmoveCountArray4 = [1.2]
        badmoveCountArray5 = [0, 1.2]

        goodVectorArray1 = [["x", "x", "x"]]
        goodVectorArray2 = [["x", "x", 0]]
        goodVectorArray3 = [["x", "x", 100]]
        goodVectorArray4 = [["x", "x", 100.1]]
        goodVectorArray5 = [["x", 0, "x"]]
        goodVectorArray6 = [["x", 100, "x"]]
        goodVectorArray7 = [["x", 100.1, "x"]]
        goodVectorArray8 = [[0, "x", "x"]]
        goodVectorArray9 = [[100, "x", "x"]]
        goodVectorArray10 = [[100.1, "x", "x"]]
        goodVectorArray11 = [[0, 0, 0]]
        goodVectorArray12 = [[.1, .1, .1]]
        goodVectorArray13 = [[0, -1, 0]]
        goodVectorArray14 = [[0, 0, -1]]
        goodVectorArray15 = [[-1, 0, 0]]
        goodVectorArray16 = [[0, 0, 0], [0, "x", 1]]
        goodVectorArray17 = [[0, 0, 0], [0, "x", 1], ["x", "x", "x"]]

        badVectorArray1 = [0, 0, 0]
        badVectorArray2 = [["a", 0, 0]]
        badVectorArray2 = [[0, "a", 0]]
        badVectorArray2 = [[0, 0, "a"]]
        badVectorArray2 = [[0, 0, 0], ["a", 0, 0]]
        badVectorArray3 = [[0, 0, 0], "A"]
        badVectorArray4 = [[0, 0, 0], 1]
        badVectorArray5 = [[0, 0, 0], ["x", 0, [1]]]
        badVectorArray6 = [0, 0, []]

        goodrepeat1 = 0
        goodrepeat2 = 1
        goodrepeat3 = 10000
        goodrepeat4 = -1

        badrepeat1 = [1]
        badrepeat2 = "a"

        ####valid tests###
        flag = False
        try:
            movement.Move(moveCountArray=goodmoveCountArray1)
            movement.Move(moveCountArray=goodmoveCountArray2)
            movement.Move(moveCountArray=goodmoveCountArray3)
        except RuntimeError as rte:
            flag = True
        finally:
            self.assertFalse(flag)

        flag = False
        try:
            movement.Move(vectorAray=goodVectorArray1)
            movement.Move(vectorAray=goodVectorArray2)
            movement.Move(vectorAray=goodVectorArray3)
            movement.Move(vectorAray=goodVectorArray4)
            movement.Move(vectorAray=goodVectorArray5)
            movement.Move(vectorAray=goodVectorArray6)
            movement.Move(vectorAray=goodVectorArray7)
            movement.Move(vectorAray=goodVectorArray8)
            movement.Move(vectorAray=goodVectorArray9)
            movement.Move(vectorAray=goodVectorArray10)
            movement.Move(vectorAray=goodVectorArray11)
            movement.Move(vectorAray=goodVectorArray12)
            movement.Move(vectorAray=goodVectorArray13)
            movement.Move(vectorAray=goodVectorArray14)
            movement.Move(vectorAray=goodVectorArray15)
            movement.Move(vectorAray=goodVectorArray16)
            movement.Move(vectorAray=goodVectorArray17)
        except RuntimeError as rte:
            flag = True
        finally:
            self.assertFalse(flag)

        flag = False
        try:
            movement.Move(repeat=goodrepeat1)
            movement.Move(repeat=goodrepeat2)
            movement.Move(repeat=goodrepeat3)
            movement.Move(repeat=goodrepeat4)
        except RuntimeError as rte:
            flag = True
        finally:
            self.assertFalse(flag)

        ####invalid tests###
        flag = False
        try:
            movement.Move(moveCountArray=badmoveCountArray1)
        except RuntimeError as rte:
            flag = True
        finally:
            self.assertTrue(flag)

        flag = False
        try:
            movement.Move(moveCountArray=badmoveCountArray2)
        except RuntimeError as rte:
            flag = True
        finally:
            self.assertTrue(flag)

        flag = False
        try:
            movement.Move(moveCountArray=badmoveCountArray3)
        except RuntimeError as rte:
            flag = True
        finally:
            self.assertTrue(flag)

        flag = False
        try:
            movement.Move(moveCountArray=badmoveCountArray4)
        except RuntimeError as rte:
            flag = True
        finally:
            self.assertTrue(flag)

        flag = False
        try:
            movement.Move(moveCountArray=badmoveCountArray5)
        except RuntimeError as rte:
            flag = True
        finally:
            self.assertTrue(flag)

        flag = False
        try:
            movement.Move(vectorAray=badVectorArray1)
        except RuntimeError as rte:
            flag = True
        finally:
            self.assertTrue(flag)

        flag = False
        try:
            movement.Move(vectorAray=badVectorArray2)
        except RuntimeError as rte:
            flag = True
        finally:
            self.assertTrue(flag)

        flag = False
        try:
            movement.Move(vectorAray=badVectorArray3)
        except RuntimeError as rte:
            flag = True
        finally:
            self.assertTrue(flag)

        flag = False
        try:
            movement.Move(vectorAray=badVectorArray4)
        except RuntimeError as rte:
            flag = True
        finally:
            self.assertTrue(flag)

        flag = False
        try:
            movement.Move(vectorAray=badVectorArray5)
        except RuntimeError as rte:
            flag = True
        finally:
            self.assertTrue(flag)

        flag = False
        try:
            movement.Move(vectorAray=badVectorArray6)
        except RuntimeError as rte:
            flag = True
        finally:
            self.assertTrue(flag)

        flag = False
        try:
            movement.Move(repeat=badrepeat1)
        except RuntimeError as rte:
            flag = True
        finally:
            self.assertTrue(flag)

        flag = False
        try:
            movement.Move(repeat=badrepeat2)
        except RuntimeError as rte:
            flag = True
        finally:
            self.assertTrue(flag)
Example #9
0
    def testUpdate(self):
        pygame.init()
        screen = pygame.display.set_mode((1, 1))
        screen.fill((0, 0, 0))
        pygame.display.set_caption('Testy mcTetsterson')
        enemy = Entity.Enemy(origin=(500, 0), speed=0, acceleration=0, angle=0)

        moveCountArray = [1]
        vectorArray = [[1, "x", "x"]]
        repeat = 1
        #accelerate enemy at 1 pixel/update,  down  at (angle =0)
        move = movement.Move(moveCountArray=moveCountArray,
                             vectorAray=vectorArray,
                             repeat=repeat)

        self.assertEqual(enemy.speedX, 0.0)
        self.assertEqual(enemy.speedY, 0.0)
        self.assertEqual(move.repeat, 1)
        self.assertEqual(enemy.rect.x, 500)
        self.assertEqual(enemy.rect.y, 0)
        move.update(enemy)

        self.assertEqual(enemy.speedX, 0.0)
        self.assertEqual(enemy.speedY, 1.0)
        self.assertEqual(move.repeat, 1)
        self.assertEqual(enemy.rect.x, 500)
        self.assertEqual(enemy.rect.y, 1)
        move.update(enemy)

        self.assertEqual(enemy.speedX, 0.0)
        self.assertEqual(enemy.speedY, 2.0)
        self.assertEqual(move.repeat, 1)
        self.assertEqual(enemy.rect.x, 500)
        self.assertEqual(enemy.rect.y, 3)
        move.update(enemy)  #reloads w/ repeat =1

        self.assertEqual(enemy.speedX, 0.0)
        self.assertEqual(enemy.speedY, 3.0)
        self.assertEqual(move.repeat, 0)
        self.assertEqual(enemy.rect.x, 500)
        self.assertEqual(enemy.rect.y, 6)
        move.update(enemy)

        self.assertEqual(enemy.speedX, 0.0)
        self.assertEqual(enemy.speedY, 4.0)
        self.assertEqual(move.repeat, 0)
        self.assertEqual(enemy.rect.x, 500)
        self.assertEqual(enemy.rect.y, 10)

        move.update(
            enemy
        )  #loads in off screen behavior continues 801 moves after second load.
        #loads in  moveCounts=[1,800] and vectors=[[2,0,0],["x","x","x"]]
        self.assertTrue(move.moveCounts == [800])
        self.assertTrue(move.vectors == [["x", "x", "x"]])
        self.assertEqual(enemy.speedX, 0.0)
        self.assertEqual(enemy.speedY, 2.0)
        self.assertEqual(move.repeat, -1)
        self.assertEqual(enemy.rect.x, 500)
        self.assertEqual(enemy.rect.y, 12)
        move.update(enemy)

        self.assertTrue(move.moveCounts == [800])
        self.assertTrue(move.vectors == [["x", "x", "x"]])
        self.assertEqual(enemy.speedX, 0.0)
        self.assertEqual(enemy.speedY, 2.0)
        self.assertEqual(move.repeat, -1)
        self.assertEqual(enemy.rect.x, 500)
        self.assertEqual(enemy.rect.y, 14)
        move.update(enemy)

        self.assertTrue(move.moveCounts == [])
        self.assertTrue(move.vectors == [])
        self.assertEqual(enemy.speedX, 0.0)
        self.assertEqual(enemy.speedY, 4.0)
        self.assertEqual(move.repeat, -1)
        self.assertEqual(enemy.rect.x, 500)
        self.assertEqual(enemy.rect.y, 18)
        move.update(enemy)

        self.assertTrue(move.moveCounts == [])
        self.assertTrue(move.vectors == [])
        self.assertEqual(enemy.speedX, 0.0)
        self.assertEqual(enemy.speedY, 6.0)
        self.assertEqual(move.repeat, -1)
        self.assertEqual(enemy.rect.x, 500)
        self.assertEqual(enemy.rect.y, 24)
Example #10
0
 def __camper__(self):
     down=["x","x",0]
     left=["x","x",-90]
     vectorArray = [down,left]
     moveCountArray = [130,50]
     return movement.Move(moveCountArray=moveCountArray,vectorAray=vectorArray, repeat=3)
Example #11
0
 def __bomb__(self):
     moveCountArray = [1,100]
     vectorArray = [[0, 15, 180],[-.18, "x", "x"]]
     return movement.Move(moveCountArray=moveCountArray,vectorAray=vectorArray, repeat=99)
Example #12
0
 def __upSlow__(self):
     moveCountArray = [3000]
     vectorArray = [[0, 2, 180]]
     return movement.Move(moveCountArray=moveCountArray,vectorAray=vectorArray, repeat=99)
Example #13
0
 def __vector__(self):
     vector = ["x",self.speed,self.angle]
     return movement.Move(moveCountArray=[1000],vectorAray=[vector])
Example #14
0
 def __down__(self):
     return movement.Move(moveCountArray=[800], vectorAray=[BULLET_VECTORS['DOWN']] ) 
Example #15
0
 def __missleLeft__(self):
     accelerateUp = [2,"x",180] #sets acceleration to 2
     moveCountArray = [5,1,800]
     return movement.Move(moveCountArray=moveCountArray, vectorAray=[[self.NW],accelerateUp,DEFAULT]) #uses "DEFAULT"to keep the missle moving
Example #16
0
 def __diver__(self):
     down=["x","x",0]
     right=["x","x",90]
     vectorArray = [down,right]
     moveCountArray = [130,50]
     return movement.Move(moveCountArray=moveCountArray,vectorAray=vectorArray, repeat=2)
Example #17
0
 def __northEast__(self):
     return movement.Move(moveCountArray=[800], vectorAray=[self.NE]) 
Example #18
0
 def __up__(self):
     return movement.Move(moveCountArray=[800], vectorAray=[BULLET_VECTORS['UP']] ) 
Example #19
0
    def __diveStrafe__(self):
    
        diveLeft=["x","x",45]
        diveRight=["x","x",-45]

        return movement.Move(moveCountArray=[25,25],vectorAray=[diveLeft,diveRight],repeat=10)
Example #20
0
 def __diveBomb__(self):
     dive=["x","x","x"]
     return movement.Move(moveCountArray=[100000],vectorAray=[dive])