-
Notifications
You must be signed in to change notification settings - Fork 0
/
program.py
60 lines (54 loc) · 2.16 KB
/
program.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
58
59
60
import pygame, sys, os
from shape import Rectangle, Container, Text, Color
# from modes import *
class Program(Container):
def __init__(self, screen_size: tuple = (720, 480), path: str = os.path.join("..", "saves", "untitled"), caption: str = "Create a Pokemon Game"):
self.size = screen_size
self.path = path
self.caption = caption
pygame.init()
self.shape_pos = None
self.buttons = []
self.screen = pygame.display.set_mode(self.size)
pygame.display.set_caption(self.caption)
super().__init__(screen_size)
button_names = ["DRAW", "EDIT", "ATTR"]
increase = 480/screen_size[1]
self.font_size = int(30*increase)
self.font = pygame.font.SysFont("Arial", self.font_size)
space = 5*increase
size = (15*increase, 40*increase)
for i, y in enumerate(range(int(space), int(space*(len(button_names)+1)), int(space))):
button = Rectangle(size, (space, y), Text(button_names[i-1], self.font), Color(0, 0, 0))
self.buttons.append(button)
self.screen.blit(self, self.position)
err_code = self.main()
self.stop(err_code)
def main(self):
while True:
for event in [pygame.event.wait()]+pygame.event.get():
if event.type == pygame.QUIT:
return 0
elif event.type == pygame.MOUSEBUTTONDOWN:
print("DOWN")
self.shape_pos = event.pos
elif event.type == pygame.MOUSEBUTTONUP:
print("UP")
x, y = event.pos
if self.shape_pos:
shape = Rectangle((abs(x-self.shape_pos[0]), abs(y-self.shape_pos[1])), self.shape_pos)
self.shapes.append(shape)
self.shape_pos = None
self.update()
def update(self):
pygame.display.update()
super().update()
for button in self.buttons:
self.draw(button)
def save(self):
pass
def stop(self, err_code: int):
print(err_code)
self.save()
pygame.exit()
sys.exit()