@@ -15,12 +15,12 @@ class Connect4(Activity):
1515 COLS = 7
1616 ROWS = 6
1717
18- # Screen layout
18+ # Screen layout (dynamically set in onCreate)
1919 SCREEN_WIDTH = 320
2020 SCREEN_HEIGHT = 240
21- BOARD_TOP = 50
22- CELL_SIZE = 35
23- PIECE_RADIUS = 14
21+ BOARD_TOP = 40
22+ CELL_SIZE = 30
23+ PIECE_RADIUS = 12
2424
2525 # Colors
2626 COLOR_EMPTY = 0x2C3E50
@@ -64,17 +64,22 @@ def onCreate(self):
6464 self .screen .set_scrollbar_mode (lv .SCROLLBAR_MODE .OFF )
6565 self .screen .remove_flag (lv .obj .FLAG .SCROLLABLE )
6666
67- # Title
68- title = lv .label (self .screen )
69- title .set_text ("Connect 4" )
70- title .set_style_text_font (lv .font_montserrat_20 , 0 )
71- title .set_style_text_color (lv .color_hex (0xFFFFFF ), 0 )
72- title .set_pos (10 , 5 )
67+ # Get dynamic screen resolution
68+ d = lv .display_get_default ()
69+ self .SCREEN_WIDTH = d .get_horizontal_resolution ()
70+ self .SCREEN_HEIGHT = d .get_vertical_resolution ()
7371
74- # Difficulty selector
72+ # Calculate scaling based on available space
73+ available_height = self .SCREEN_HEIGHT - 75 # Leave space for controls
74+ max_cell_size = min (available_height // self .ROWS , (self .SCREEN_WIDTH - 20 ) // self .COLS )
75+ self .CELL_SIZE = max_cell_size
76+ self .PIECE_RADIUS = int (self .CELL_SIZE * 0.4 )
77+ self .BOARD_TOP = 35
78+
79+ # Difficulty selector (top left)
7580 difficulty_cont = lv .obj (self .screen )
76- difficulty_cont .set_size (150 , 30 )
77- difficulty_cont .set_pos (165 , 5 )
81+ difficulty_cont .set_size (145 , 28 )
82+ difficulty_cont .set_pos (5 , 3 )
7883 difficulty_cont .set_style_bg_color (lv .color_hex (0x2C3E50 ), 0 )
7984 difficulty_cont .set_style_border_width (1 , 0 )
8085 difficulty_cont .set_style_border_color (lv .color_hex (0xFFFFFF ), 0 )
@@ -88,12 +93,12 @@ def onCreate(self):
8893 self .difficulty_label .set_style_text_color (lv .color_hex (0xFFFFFF ), 0 )
8994 self .difficulty_label .center ()
9095
91- # Status label
96+ # Status label (top right)
9297 self .status_label = lv .label (self .screen )
9398 self .status_label .set_text ("Your turn!" )
94- self .status_label .set_style_text_font (lv .font_montserrat_14 , 0 )
99+ self .status_label .set_style_text_font (lv .font_montserrat_12 , 0 )
95100 self .status_label .set_style_text_color (lv .color_hex (0xFFFFFF ), 0 )
96- self .status_label .set_pos (10 , 32 )
101+ self .status_label .set_pos (self . SCREEN_WIDTH - 95 , 10 )
97102
98103 # Create board background
99104 board_bg = lv .obj (self .screen )
0 commit comments