mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2025-12-12 15:50:20 -08:00
Python: Add types / fix type issues
This commit is contained in:
@@ -33,7 +33,7 @@ def calculate_score(rolls: List[int]) -> int:
|
||||
|
||||
|
||||
class Player:
|
||||
def __init__(self, name: str):
|
||||
def __init__(self, name: str) -> None:
|
||||
self.name = name
|
||||
self.rolls: List[int] = []
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ Converted from BASIC to Python by Trevor Hobson
|
||||
class Canvas:
|
||||
"""For drawing the cookie"""
|
||||
|
||||
def __init__(self, width=9, height=9, fill="*"):
|
||||
def __init__(self, width=9, height=9, fill="*") -> None:
|
||||
self._buffer = []
|
||||
for _ in range(height):
|
||||
line = []
|
||||
@@ -19,13 +19,13 @@ class Canvas:
|
||||
self._buffer.append(line)
|
||||
self._buffer[0][0] = "P"
|
||||
|
||||
def render(self):
|
||||
def render(self) -> str:
|
||||
lines = [" 1 2 3 4 5 6 7 8 9"]
|
||||
for row, line in enumerate(self._buffer, start=1):
|
||||
lines.append(" " + str(row) + " " * 5 + " ".join(line))
|
||||
return "\n".join(lines)
|
||||
|
||||
def chomp(self, r, c):
|
||||
def chomp(self, r, c) -> str:
|
||||
if not 1 <= r <= len(self._buffer) or not 1 <= c <= len(self._buffer[0]):
|
||||
return "Empty"
|
||||
elif self._buffer[r - 1][c - 1] == " ":
|
||||
@@ -39,7 +39,7 @@ class Canvas:
|
||||
return "Chomp"
|
||||
|
||||
|
||||
def play_game():
|
||||
def play_game() -> None:
|
||||
"""Play one round of the game"""
|
||||
players = 0
|
||||
while players == 0:
|
||||
|
||||
@@ -61,7 +61,7 @@ def print_instructions() -> None:
|
||||
print("11 (ELEVEN).\n")
|
||||
|
||||
|
||||
def main():
|
||||
def main() -> None:
|
||||
q = random.random()
|
||||
|
||||
print("HERE IS THE STARTING LINE OF X'S.\n")
|
||||
@@ -75,9 +75,9 @@ def main():
|
||||
if legal_move:
|
||||
print(" ".join([str(i) for i in range(1, 11)]))
|
||||
print(" ".join(row[1:]) + "\n")
|
||||
m = input("INPUT THE NUMBER\n")
|
||||
m_str = input("INPUT THE NUMBER\n")
|
||||
try:
|
||||
m = int(m)
|
||||
m = int(m_str)
|
||||
if m > 11 or m < 0:
|
||||
raise ValueError()
|
||||
except ValueError:
|
||||
|
||||
@@ -86,12 +86,12 @@ def show_fort_comment(which_fort):
|
||||
print()
|
||||
|
||||
|
||||
def get_yes_or_no():
|
||||
def get_yes_or_no() -> str:
|
||||
"""Prompt the player to enter 'YES' or 'NO'. Keep prompting until
|
||||
valid input is entered. Accept various spellings by only
|
||||
checking the first letter of input.
|
||||
Return a single letter 'Y' or 'N'"""
|
||||
result = 0
|
||||
result = ""
|
||||
while result not in ("Y", "N"):
|
||||
print("ANSWER YES OR NO")
|
||||
player_choice = input(">> ")
|
||||
|
||||
Reference in New Issue
Block a user