-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRandomPlayer.py
More file actions
32 lines (23 loc) · 1.22 KB
/
Copy pathRandomPlayer.py
File metadata and controls
32 lines (23 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import random
from GameMove import GameMove
class RandomPlayer:
"""Submits random moves. Allows a human player to play 'against' something"""
def __init__(self, playerState, gameParameters, gameInstance):
self.playerState = playerState
self.gameParameters = gameParameters
self.gameInstance = gameInstance
def GetRandomMove(self):
attackingSoldiers = []
defendingSoldiers = []
soldiersUsed = 0
for index in range(self.gameParameters.fortCount):
numberAttacking = random.randint(0, self.playerState.soldiers - soldiersUsed)
attackingSoldiers.append(numberAttacking)
soldiersUsed = soldiersUsed + numberAttacking
numberDefending = random.randint(0, self.playerState.soldiers - soldiersUsed)
defendingSoldiers.append(numberDefending)
soldiersUsed = soldiersUsed + numberDefending
attackingTuple = tuple(sorted(attackingSoldiers, reverse=True))
defendingTuple = tuple(sorted(defendingSoldiers, reverse=True))
move = GameMove(attackingTuple, defendingTuple, self.gameParameters)
self.gameInstance.AcceptMove(self.playerState.name, move)