-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathplay.py
executable file
·57 lines (49 loc) · 1.54 KB
/
play.py
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/usr/bin/env python
from sys import exit, stdout
from mille.sampleais import *
from mille.game import Game
from mille.cards import Cards
from mille.transcript import TranscriptReader, TranscriptWriter
# Begin configurable parameters
competitors = [BasicAI, ManualAI]
numPlayers = 2
games = 1
debug = False
readTranscript = None
writeTranscript = None
#readTranscript = "/tmp/millegame"
#writeTranscript = "/tmp/millegame"
# End configurable parameters
if readTranscript:
reader = TranscriptReader(
readTranscript,
lambda *args: stdout.write("Transcript game start!\n"),
lambda *args: stdout.write("Transcript hand start!\n"),
lambda game, player, drawnCard, move: stdout.write(
"Transcript move: %d drew %s %s\n" % (
player, Cards.cardToString(drawnCard) if drawnCard else "nothing", move)),
lambda *args: stdout.write("Transcript hand end!\n"),
lambda game: stdout.write("Transcript game end! Scores: %s\n" % (
" ".join(map(lambda team: "%d" % team.totalScore,
game.teams)))))
reader.read(debug = True)
exit(0)
players = []
competitor = 0
for i in range(numPlayers):
players.append(competitors[competitor]())
competitor += 1
if competitor >= len(competitors):
competitor = 0
scores = {}
transcriptWriter = None
for i in range(games):
g = Game(players, debug)
if writeTranscript:
transcriptWriter = TranscriptWriter(writeTranscript, g)
winners = g.play()
for winner in winners:
if not scores.has_key(winner):
scores[winner] = 0
scores[winner] += 1
print scores