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)