12def display(str, center=centerpos, fontsize=40):
13 font = pygame.font.Font(
None, fontsize)
14 text = font.render(str,
True, (255, 255, 255), (159, 182, 205))
15 textRect = text.get_rect()
16 textRect.centerx = center[0]
17 textRect.centery = center[1]
19 screen.blit(text, textRect)
20 pygame.display.update()
38 display(
"Press ESC to exit", center=(centerpos[0], 25))
39 display(
"Auto-Saving at 10% deviation", center=(centerpos[0], 75))
41 display(
"Minimum percent deviation between", center=(centerpos[0] + 100, 150), fontsize=30)
42 display(
"saved and current values:", center=(centerpos[0] + 100, 200), fontsize=30)
43 if len(saved_points) > 0:
46 center=(centerpos[0] + 100, 250),
51 str(data[0]) +
" " + str(data[1]), center=(centerpos[0] - 250, lines_y[n_saved % len(lines_y)]), fontsize=30
55 keys = pygame.key.get_pressed()
61 elif not len(saved_points)
or (
62 min(
percent_deviation(data, val)
for val
in saved_points) > 3
and data
not in saved_points
64 with open(filename,
"a")
as f:
65 f.write(str(data[0]) +
" " + str(data[1]) +
"\n")
66 display(
"Saved: ", center=(centerpos[0], 300), fontsize=30)
67 display(str(data[0]) +
" " + str(data[1]), center=(centerpos[0] + 100, 300), fontsize=30)
68 display(
"Number of saved points: " + str(n_saved + 1), center=(centerpos[0], 350), fontsize=30)
69 saved_points.append(data)
72 return saved_points, n_saved