MCPcopy Create free account
hub / github.com/asweigart/PythonStdioGames / main

Function main

src/gamesbyexample/soroban.py:10–77  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

8
9
10def main():
11 print('Soroban - The Japanese Abacus')
12 print('By Al Sweigart al@inventwithpython.com')
13 print()
14
15 abacusNumber = 0 # This is the number represented on the abacus.
16
17 while True: # Main program loop.
18 displayAbacus(abacusNumber)
19 displayControls()
20
21 commands = input('> ')
22 if commands == 'quit':
23 # Quit the program:
24 break
25 elif commands.isdecimal():
26 # Set the abacus number:
27 abacusNumber = int(commands)
28 else:
29 # Handle increment/decrement commands:
30 for letter in commands:
31 if letter == 'q':
32 abacusNumber += 1000000000
33 elif letter == 'a':
34 abacusNumber -= 1000000000
35 elif letter == 'w':
36 abacusNumber += 100000000
37 elif letter == 's':
38 abacusNumber -= 100000000
39 elif letter == 'e':
40 abacusNumber += 10000000
41 elif letter == 'd':
42 abacusNumber -= 10000000
43 elif letter == 'r':
44 abacusNumber += 1000000
45 elif letter == 'f':
46 abacusNumber -= 1000000
47 elif letter == 't':
48 abacusNumber += 100000
49 elif letter == 'g':
50 abacusNumber -= 100000
51 elif letter == 'y':
52 abacusNumber += 10000
53 elif letter == 'h':
54 abacusNumber -= 10000
55 elif letter == 'u':
56 abacusNumber += 1000
57 elif letter == 'j':
58 abacusNumber -= 1000
59 elif letter == 'i':
60 abacusNumber += 100
61 elif letter == 'k':
62 abacusNumber -= 100
63 elif letter == 'o':
64 abacusNumber += 10
65 elif letter == 'l':
66 abacusNumber -= 10
67 elif letter == 'p':

Callers 1

soroban.pyFile · 0.70

Calls 2

displayAbacusFunction · 0.85
displayControlsFunction · 0.85

Tested by

no test coverage detected