-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
51 lines (38 loc) · 1.64 KB
/
main.py
File metadata and controls
51 lines (38 loc) · 1.64 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import tkinter as tk
import time
from grid_cell import GridCell
from turmite_factory import TurmiteFactory
from random_turmite_factory import RandomTurmiteFactory
from input_turmite_factory import InputTurmiteFactory
from sequence_turmite_factory import SequenceTurmiteFactory
from turmite_from_number_factory import TurmiteFromNumberFactory
def main() -> None:
canvas_height: int = 2000
canvas_width: int = 2000
canvas: tk.Canvas = tk.Canvas(width=canvas_width, height=canvas_height, background='white')
canvas.pack()
squares_width: int = 100
squares_height: int = 100
width: int = canvas_width // squares_width
height: int = canvas_height // squares_height
grid: list[list[GridCell]] = []
for i in range(squares_width):
grid.append([])
for j in range(squares_height):
grid[i].append(GridCell(canvas, width * i, height * j, width, height, 0, 2))
turmite_factory: TurmiteFactory
turmite_type = input("Insert turmite type: ")
if turmite_type.upper() == "SEQ":
turmite_factory = SequenceTurmiteFactory(int(input("Insert maximum number of colours: ")))
elif turmite_type.upper() == "RAND":
turmite_factory = RandomTurmiteFactory(int(input("Insert maximum number of colours: ")))
elif turmite_type.upper() == "NUM":
turmite_factory = TurmiteFromNumberFactory(int(input("Insert your number: ")))
else:
turmite_factory = InputTurmiteFactory(int(input("Insert maximum number of colours: ")))
turmite = turmite_factory.create_turmite(grid)
while True:
turmite.move(canvas)
canvas.update()
# time.sleep(0.01)
main()