import ui class MyApp(ui.View): def __init__(self): screen_width, screen_height = ui.get_screen_size() view_width = min(screen_width, screen_height) view_height = max(screen_width, screen_height) self.frame = (0, 0, view_width, view_height) self.name = 'Crib' self.flex = 'WH' self.bg_color = 'black' # Set background color to black self.button1_pressed = None self.page1() def create_buttons(self, buttons_text, rows, cols, action): button_width = self.width / cols button_height = self.height / rows for i, text in enumerate(buttons_text): row = i // cols col = i % cols btn = ui.Button(title=text) btn.action = lambda sender=btn: action(sender.title) btn.frame = (col * button_width, row * button_height, button_width, button_height) btn.tint_color = 'white' # Set button text color to white btn.border_width = 1 # Add a 1-point border btn.border_color = 'white' # Set border color to white btn.alignment = ui.ALIGN_CENTER # Center text btn.font = ('<system>', 18) self.add_subview(btn) def page1(self, sender=None): self.clear_subviews() buttons_text = ["5C", "7C", "7H", "9D", "7D", "R"] self.create_buttons(buttons_text, 3, 2, self.on_button_press) def page2(self, sender=None): self.clear_subviews() buttons_text = ["0", "1", "3", "5", "6", "8"] self.create_buttons(buttons_text, 3, 2, self.on_button_press) def results_page(self, button1, button2): self.clear_subviews() result_label = ui.Label() result_text = self.get_result(button1, button2) result_label.text = result_text.replace('. ', '.\n') # Separate In Hand and In Head lines result_label.frame = (10, (self.height - 100) / 2, self.width - 20, self.height - 100) result_label.number_of_lines = 0 result_label.font = ('<system-bold>', 20) result_label.text_color = 'white' # Set text color to white result_label.alignment = ui.ALIGN_CENTER # Center text self.add_subview(result_label) def get_result(self, button1, button2): results = { ("5C", "0"): "Empty", ("5C", "1"): "Empty", ("5C", "3"): "In Hand: 6C.\nIn Head: AS 2C", ("5C", "5"): "Empty", ("5C", "6"): "Empty", ("5C", "8"): "In Hand: 6C.\nIn Head: 10C", ("7C", "0"): "In Hand: 5C.\nIn Head: AH 2H", ("7C", "1"): "In Hand: 5C.\nIn Head: AS 2S", ("7C", "3"): "In Hand: 5C.\nIn Head: 4C", ("7C", "5"): "In Hand: 5C.\nIn Head: 6H 10H", ("7C", "6"): "In Hand: 5C.\nIn Head: 6S 10S", ("7C", "8"): "In Hand: 5C.\nIn Head: 9C JC KC", ("7H", "0"): "In Hand: 7C.\nIn Head: 4H 5H", ("7H", "1"): "In Hand: 7C.\nIn Head: 4S 5S", ("7H", "3"): "In Hand: 7C.\nIn Head: 3C", ("7H", "5"): "In Hand: 7C.\nIn Head: 9H JH KH", ("7H", "6"): "In Hand: 7C.\nIn Head: 9S JS KS", ("7H", "8"): "In Hand: 7C.\nIn Head: 8C QC", ("9D", "0"): "In Hand: 7H.\nIn Head: 3S", ("9D", "1"): "In Hand: 7H.\nIn Head: AD 2D 6D", ("9D", "3"): "In Hand: 7H.\nIn Head: 3H", ("9D", "5"): "In Hand: 7H.\nIn Head: 8S QS", ("9D", "6"): "In Hand: 7H.\nIn Head: 10D", ("9D", "8"): "In Hand: 7H.\nIn Head: 8H QH", ("7D", "0"): "Empty", ("7D", "1"): "Empty", ("7D", "3"): "In Hand: 9D.\nIn Head: 4D 5D", ("7D", "5"): "Empty", ("7D", "6"): "Empty", ("7D", "8"): "In Hand: 9D.\nIn Head: JD KD", ("R", "0"): "Empty", ("R", "1"): "Empty", ("R", "3"): "In Hand: 7D.\nIn Head: 3D", ("R", "5"): "Empty", ("R", "6"): "Empty", ("R", "8"): "In Hand: 7D.\nIn Head: 8D QD" } return results.get((button1, button2), "No specific result") def on_button_press(self, button_text): if button_text in ["5C", "7C", "7H", "9D", "7D", "R"]: self.button1_pressed = button_text self.page2() elif button_text in ["0", "1", "3", "5", "6", "8"]: self.results_page(button1=self.button1_pressed, button2=button_text) def clear_subviews(self): for subview in list(self.subviews): self.remove_subview(subview) if __name__ == '__main__': app = MyApp() app.present(style='sheet', animated=False)