Ejemplo n.º 1
0
 def randomizePosition(self,maxlimit):
     self.cells = []
     self.startCell = Utils.getRandomPosition(maxlimit)
     self.orientation = Utils.getRandomOrientation()
     for i in range(self.size):
         relativePosition = self.startCell.getRelativePosition(i, self.orientation)
         cell = BoardCell.BoardCell(relativePosition.getRow(), relativePosition.getColumn(), True)
         self.cells.append(cell)
Ejemplo n.º 2
0
    def testGameLogic(self):
            
        userA = User.User("testUserA")
    
        userB = User.User("testUserB")
           
        while(1):
            rocketPositionA=Utils.getRandomPosition(Utils.BOARDSIZE)
            userA.sendRocket(rocketPositionA, userB)
            if(userB.isDefeated()):
                break
            
            rocketPositionB=Utils.getRandomPosition(Utils.BOARDSIZE)
            userB.sendRocket(rocketPositionB, userA)

            if(userA.isDefeated()):
                break
        self.assertTrue(userA.isDefeated() or userB.isDefeated(), 'Game should have finished now')
Ejemplo n.º 3
0
def getUserCoordinate(user, coordinateName):
    response = None
    while 1:
        sendMessageToUser(user.clientSocket, "send a rocket to which " + coordinateName)
        response = getMessageFromUser(user.clientSocket)
        if response.isdigit():
            if Utils.isValidCoordinate(int(response), Utils.BOARDSIZE):
                break
        sendMessageToUser(
            user.clientSocket, "Invalid input, please enter a positive number between 0 and " + str(Utils.BOARDSIZE - 1)
        )
    return int(response)
Ejemplo n.º 4
0
 def isValidPosition(self, position):
     if Utils.isValidCoordinate(position.getRow(), self.size) and Utils.isValidCoordinate(position.getColumn(), self.size):
         if not self.grid[position.getRow()][position.getColumn()].getIsBoat():
             return True
     return False