MCPcopy Index your code
hub / github.com/python/cpython / NimView

Class NimView

Lib/turtledemo/nim.py:114–179  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

112
113
114class NimView(object):
115 def __init__(self, game):
116 self.game = game
117 self.screen = game.screen
118 self.model = game.model
119 self.screen.colormode(255)
120 self.screen.tracer(False)
121 self.screen.bgcolor((240, 240, 255))
122 self.writer = turtle.Turtle(visible=False)
123 self.writer.pu()
124 self.writer.speed(0)
125 self.sticks = {}
126 for row in range(3):
127 for col in range(MAXSTICKS):
128 self.sticks[(row, col)] = Stick(row, col, game)
129 self.display("... a moment please ...")
130 self.screen.tracer(True)
131
132 def display(self, msg1, msg2=None):
133 self.screen.tracer(False)
134 self.writer.clear()
135 if msg2 is not None:
136 self.writer.goto(0, - SCREENHEIGHT // 2 + 48)
137 self.writer.pencolor("red")
138 self.writer.write(msg2, align="center", font=("Courier",18,"bold"))
139 self.writer.goto(0, - SCREENHEIGHT // 2 + 20)
140 self.writer.pencolor("black")
141 self.writer.write(msg1, align="center", font=("Courier",14,"bold"))
142 self.screen.tracer(True)
143
144 def setup(self):
145 self.screen.tracer(False)
146 for row in range(3):
147 for col in range(self.model.sticks[row]):
148 self.sticks[(row, col)].color(SCOLOR)
149 for row in range(3):
150 for col in range(self.model.sticks[row], MAXSTICKS):
151 self.sticks[(row, col)].color("white")
152 self.display("Your turn! Click leftmost stick to remove.")
153 self.screen.tracer(True)
154
155 def notify_move(self, row, col, maxspalte, player):
156 if player == 0:
157 farbe = HCOLOR
158 for s in range(col, maxspalte):
159 self.sticks[(row, s)].color(farbe)
160 else:
161 self.display(" ... thinking ... ")
162 time.sleep(0.5)
163 self.display(" ... thinking ... aaah ...")
164 farbe = COLOR
165 for s in range(maxspalte-1, col-1, -1):
166 time.sleep(0.2)
167 self.sticks[(row, s)].color(farbe)
168 self.display("Your turn! Click leftmost stick to remove.")
169
170 def notify_over(self):
171 if self.game.model.winner == 0:

Callers 1

__init__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…