import twophase.solver as sv
import kociemba
import pygame
import sys
# cubestring = 'LLBUUFFFLBDDDRBFFRDLURFLRBRBLUUDUDRBURLRLBRBDLUFDBDUFF'
# solution = sv.solve(cubestring, 0, 2)
# print(solution)
# solution2 = kociemba.solve(cubestring)
# print(solution2, len(solution2))
#
# final_solution = []
# Initialize pygame
pygame.init()
# Define colors
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
GRAY = (150, 150, 150)
# Set up the screen
screen_width, screen_height = 400, 300
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("Simple GUI with Pygame")
# Create a font
font = pygame.font.SysFont(None, 40)
# Function to display text on the screen
def draw_text(text, x, y, color):
text_surface = font.render(text, True, color)
screen.blit(text_surface, (x, y))
# Function to check if a point is inside a rectangle
def is_mouse_over(pos, rect):
return rect.left < pos[0] < rect.right and rect.top < pos[1] < rect.bottom
# Function to create a button
def draw_button(rect, color, text):
pygame.draw.rect(screen, color, rect)
draw_text(text, rect.x + 10, rect.y + 10, BLACK)
class Button:
rect = pygame.Rect
isPressed = False
name = "1"
def draw(self, screen):
if self.isPressed:
pygame.draw.rect(screen, (0, 255, 0), self.rect)
else:
pygame.draw.rect(screen, (0, 0, 0), self.rect)
draw_text(self.name, self.rect.x + 10, self.rect.y + 10, (255, 255, 255))
# Main function for GUI
def main():
# Initialize variables
number_input = ""
# setup gui
buttons = []
buttonPoss = [
(130, 10, 50, 50),
(130, 70, 50, 50),
(130, 190, 50, 50),
(130, 250, 50, 50),
(10, 130, 50, 50),
(70, 130, 50, 50),
(190, 130, 50, 50),
(250, 130, 50, 50),
]
for i, pos in enumerate(buttonPoss):
buttons.append(Button())
buttons[i].rect = pygame.Rect(pos)
buttons[i].name = str(i)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_RETURN:
print("Entered number:", number_input)
number_input = ""
elif event.key == pygame.K_BACKSPACE:
number_input = number_input[:-1]
else:
number_input += event.unicode
elif event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
mouse_pos = pygame.mouse.get_pos()
for button in buttons:
button.isPressed = False
if is_mouse_over(mouse_pos, button.rect):
button.isPressed = True
# # Check if the left mouse button is clicked on the buttons
# if is_mouse_over(mouse_pos, pygame.Rect(150, 150, 100, 50)):
# print("Button 1 clicked!")
# elif is_mouse_over(mouse_pos, pygame.Rect(150, 220, 100, 50)):
# print("Button 2 clicked!")
# Clear the screen
screen.fill(WHITE)
# Draw the input field
pygame.draw.rect(screen, GRAY, pygame.Rect(100, 50, 200, 40))
draw_text(number_input, 110, 60, BLACK)
# Draw buttons
for button in buttons:
button.draw(screen)
# draw_button(pygame.Rect(150, 150, 100, 50), BLACK, "Button 1")
# draw_button(pygame.Rect(150, 220, 100, 50), BLACK, "Button 2")
# Update the display
pygame.display.flip()
if __name__ == "__main__":
main()
# i = 0
# while True:
# # woo if statement spam
# if solution[i] == "1":
# final_solution[-1] += "n"
# i += 2
# elif solution[i] == "3":
# final_solution[-1] += "p"
# i += 2
# elif solution[i] == "2":
# final_solution[-1] += "n"
# final_solution.append(final_solution[-1])
# i += 2
# elif solution[i] == "(":
# break
# else:
# final_solution.append(solution[i])
# i += 1
#
# print(final_solution)