# Math24 **Repository Path**: quirkybrain/Math24 ## Basic Information - **Project Name**: Math24 - **Description**: A Math24 card game developed with Python and Tkinter, currently supporting single-player mode with two-player mode to be added in future updates. - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-08 - **Last Updated**: 2025-10-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Math 24 Game A Math24 card game developed with Python and Tkinter, currently supporting single-player mode with two-player mode to be added in future updates. ## Game Introduction The 24 Game is a mathematical puzzle game played with playing cards. Players need to use the four given cards and operations like addition, subtraction, multiplication, and division to obtain the number 24. ## Features - ๐ŸŽฎ Single and two-player game modes - ๐Ÿ‘ค User registration and login system - ๐Ÿ“Š Game statistics and accuracy calculation - ๐ŸŽด Beautiful playing card UI interface - ๐Ÿงฎ Smart 24-point solver - ๐Ÿ“ Expression validation and error prompts ## Installation Requirements ### Runtime Environment - Python 3.7+ - Tkinter(usually installed with Python) ### Dependencies ```bash pip install PyYAML ``` ``` Math24Game/ โ”œโ”€โ”€ src/ โ”‚ โ”œโ”€โ”€ Config/ # Configuration files โ”‚ โ”‚ โ”œโ”€โ”€ player.py โ”‚ โ”‚ โ”œโ”€โ”€ yamlhandler.py โ”‚ โ”‚ โ”œโ”€โ”€ BaseImagePath.yaml โ”‚ โ”‚ โ”œโ”€โ”€ CardsImagePath.yaml โ”‚ โ”‚ โ””โ”€โ”€ UserConfig.yaml โ”‚ โ”œโ”€โ”€ Controls/ # Custom UI controls โ”‚ โ”‚ โ”œโ”€โ”€ c_button.py โ”‚ โ”‚ โ”œโ”€โ”€ c_canvas.py โ”‚ โ”‚ โ””โ”€โ”€ c_label.py โ”‚ โ”œโ”€โ”€ Core/ # Core game logic โ”‚ โ”‚ โ”œโ”€โ”€ shuffle.py โ”‚ โ”‚ โ””โ”€โ”€ solve24.py โ”‚ โ””โ”€โ”€ UI/ # User interface โ”‚ โ”œโ”€โ”€ main.py # Program entry โ”‚ โ”œโ”€โ”€ login_page.py โ”‚ โ”œโ”€โ”€ single_player_page.py โ”‚ โ”œโ”€โ”€ two_player_page.py โ”‚ โ”œโ”€โ”€ rule_page.py โ”‚ โ””โ”€โ”€ setting_page.py โ”œโ”€โ”€ resources/ # Resource files โ”‚ โ””โ”€โ”€ image/ # Image resources โ”‚ โ”œโ”€โ”€ Button/ โ”‚ โ”‚ โ”œโ”€โ”€ Bg/ โ”‚ โ”‚ โ””โ”€โ”€ Fg/ โ”‚ โ”œโ”€โ”€ Cards/ โ”‚ โ”‚ โ”œโ”€โ”€ Back/ โ”‚ โ”‚ โ”œโ”€โ”€ Bg/ โ”‚ โ”‚ โ”œโ”€โ”€ Club/ โ”‚ โ”‚ โ”œโ”€โ”€ Diamond/ โ”‚ โ”‚ โ”œโ”€โ”€ Heart/ โ”‚ โ”‚ โ”œโ”€โ”€ Spade/ โ”‚ โ”‚ โ””โ”€โ”€ Joker/ โ”‚ โ”œโ”€โ”€ GameBackground/ โ”‚ โ”œโ”€โ”€ Icon/ โ”‚ โ”œโ”€โ”€ Login/ โ”‚ โ”œโ”€โ”€ Rule/ โ”‚ โ”œโ”€โ”€ Toplevel_sign/ โ”‚ โ””โ”€โ”€ Player/ โ”‚ โ”œโ”€โ”€ Accuracy_bg/ โ”‚ โ””โ”€โ”€ Avatar/ โ””โ”€โ”€ README.md ``` ## Running the Game: - 1.Clone the project to your local machine - 2.Install the required dependencies - 3.Run the main program ## How to Play: - 1.Register/Login: First-time users need to register an account - 2.Select Mode: Single-player practice - 3.Start Game: The system deals 4 cards, use addition, subtraction, multiplication, and division to get 24 - 4.Submit Answer: Enter a mathematical expression or select "No Solution" # Math 24 Game designed by QuirkyBrain #### Image Sources - Background images and buttons were generated with Doubao as a base, then individually combined and modified #### Contact Information - Email:haoxuanzhang@mail.nwpu.edu.cn or 403723093@qq.com - #### Acknowledgments - Thanks to all users who participated in testing and provided feedback! # 24็‚น ไธ€ไธชๅŸบไบŽPythonๅ’ŒTkinterๅผ€ๅ‘็š„24็‚น็บธ็‰Œๆธธๆˆ๏ผŒ็›ฎๅ‰ไป…ๆ”ฏๆŒๅ•ไบบๆจกๅผ๏ผŒๅŒไบบๆจกๅผๅŽ็ปญๆ›ดๆ–ฐใ€‚ ## ๆธธๆˆไป‹็ป 24็‚นๆธธๆˆๆ˜ฏไธ€็งๆ•ฐๅญฆ็›Šๆ™บๆธธๆˆ๏ผŒไฝฟ็”จๆ‰‘ๅ…‹็‰Œ่ฟ›่กŒใ€‚็Žฉๅฎถ้œ€่ฆๅˆฉ็”จ็ป™ๅฎš็š„4ๅผ ็‰Œ๏ผŒ้€š่ฟ‡ๅŠ ใ€ๅ‡ใ€ไน˜ใ€้™ค็ญ‰่ฟ็ฎ—ๅพ—ๅˆฐ24ใ€‚ ## ๅŠŸ่ƒฝ็‰นๆ€ง - ๐ŸŽฎ ๅ•ไบบๅ’ŒๅŒไบบๆธธๆˆๆจกๅผ - ๐Ÿ‘ค ็”จๆˆทๆณจๅ†Œๅ’Œ็™ปๅฝ•็ณป็ปŸ - ๐Ÿ“Š ๆธธๆˆๆ•ฐๆฎ็ปŸ่ฎกๅ’Œๆญฃ็กฎ็އ่ฎก็ฎ— - ๐ŸŽด ็ฒพ็พŽ็š„ๆ‰‘ๅ…‹็‰ŒUI็•Œ้ข - ๐Ÿงฎ ๆ™บ่ƒฝ24็‚นๆฑ‚่งฃๅ™จ - ๐Ÿ“ ่กจ่พพๅผ้ชŒ่ฏๅ’Œ้”™่ฏฏๆ็คบ ## ๅฎ‰่ฃ…่ฆๆฑ‚ ### ่ฟ่กŒ็Žฏๅขƒ - Python 3.7+ - Tkinter๏ผˆ้€šๅธธ้šPythonไธ€่ตทๅฎ‰่ฃ…๏ผ‰ ### ไพ่ต–ๅŒ… ```bash pip install PyYAML ``` ``` Math24Game/ โ”œโ”€โ”€ src/ โ”‚ โ”œโ”€โ”€ Config/ # ้…็ฝฎๆ–‡ไปถ โ”‚ โ”‚ โ”œโ”€โ”€ player.py โ”‚ โ”‚ โ”œโ”€โ”€ yamlhandler.py โ”‚ โ”‚ โ”œโ”€โ”€ BaseImagePath.yaml โ”‚ โ”‚ โ”œโ”€โ”€ CardsImagePath.yaml โ”‚ โ”‚ โ””โ”€โ”€ UserConfig.yaml โ”‚ โ”œโ”€โ”€ Controls/ # ่‡ชๅฎšไน‰UIๆŽงไปถ โ”‚ โ”‚ โ”œโ”€โ”€ c_button.py โ”‚ โ”‚ โ”œโ”€โ”€ c_canvas.py โ”‚ โ”‚ โ””โ”€โ”€ c_label.py โ”‚ โ”œโ”€โ”€ Core/ # ๆ ธๅฟƒๆธธๆˆ้€ป่พ‘ โ”‚ โ”‚ โ”œโ”€โ”€ shuffle.py โ”‚ โ”‚ โ””โ”€โ”€ solve24.py โ”‚ โ””โ”€โ”€ UI/ # ็”จๆˆท็•Œ้ข โ”‚ โ”œโ”€โ”€ main.py # ็จ‹ๅบๅ…ฅๅฃ โ”‚ โ”œโ”€โ”€ login_page.py โ”‚ โ”œโ”€โ”€ single_player_page.py โ”‚ โ”œโ”€โ”€ two_player_page.py โ”‚ โ”œโ”€โ”€ rule_page.py โ”‚ โ””โ”€โ”€ setting_page.py โ”œโ”€โ”€ resources/ # ่ต„ๆบๆ–‡ไปถ โ”‚ โ””โ”€โ”€ image/ # ๅ›พ็‰‡่ต„ๆบ โ”‚ โ”œโ”€โ”€ Button/ โ”‚ โ”‚ โ”œโ”€โ”€ Bg/ โ”‚ โ”‚ โ””โ”€โ”€ Fg/ โ”‚ โ”œโ”€โ”€ Cards/ โ”‚ โ”‚ โ”œโ”€โ”€ Back/ โ”‚ โ”‚ โ”œโ”€โ”€ Bg/ โ”‚ โ”‚ โ”œโ”€โ”€ Club/ โ”‚ โ”‚ โ”œโ”€โ”€ Diamond/ โ”‚ โ”‚ โ”œโ”€โ”€ Heart/ โ”‚ โ”‚ โ”œโ”€โ”€ Spade/ โ”‚ โ”‚ โ””โ”€โ”€ Joker/ โ”‚ โ”œโ”€โ”€ GameBackground/ โ”‚ โ”œโ”€โ”€ Icon/ โ”‚ โ”œโ”€โ”€ Login/ โ”‚ โ”œโ”€โ”€ Rule/ โ”‚ โ”œโ”€โ”€ Toplevel_sign/ โ”‚ โ””โ”€โ”€ Player/ โ”‚ โ”œโ”€โ”€ Accuracy_bg/ โ”‚ โ””โ”€โ”€ Avatar/ โ””โ”€โ”€ README.md ``` ## ่ฟ่กŒๆธธๆˆ: - 1.ๅ…‹้š†้กน็›ฎๅˆฐๆœฌๅœฐ - 2.ๅฎ‰่ฃ…ไพ่ต–ๅŒ… - 3.่ฟ่กŒไธป็จ‹ๅบ ## ๆธธๆˆ็Žฉๆณ•: - 1.ๆณจๅ†Œ/็™ปๅฝ•๏ผš้ฆ–ๆฌกไฝฟ็”จ้œ€่ฆๆณจๅ†Œ่ดฆๅท - 2.้€‰ๆ‹ฉๆจกๅผ๏ผšๅ•ไบบ็ปƒไน  - 3.ๅผ€ๅง‹ๆธธๆˆ๏ผš็ณป็ปŸๅ‘4ๅผ ็‰Œ๏ผŒไฝฟ็”จๅŠ ๅ‡ไน˜้™คๅพ—ๅˆฐ24 - 4.ๆไบค็ญ”ๆกˆ๏ผš่พ“ๅ…ฅๆ•ฐๅญฆ่กจ่พพๅผๆˆ–้€‰ๆ‹ฉ"ๆ— ่งฃ" # Math 24 Game designed by QuirkyBrain #### ่”็ณปๆ–นๅผ - ้‚ฎ็ฎฑ:haoxuanzhang@mail.nwpu.edu.cn or 403723093@qq.com #### ๅ›พๅƒๆฅๆบ - ่ƒŒๆ™ฏๅ›พๅƒๅ’ŒๆŒ‰้’ฎๅ‡็”ฑ่ฑ†ๅŒ…็”ŸๆˆๅŸบ็ก€๏ผŒไธชไบบ็ป„ๅˆไฟฎๆ”น #### ่‡ด่ฐข - ๆ„Ÿ่ฐขๆ‰€ๆœ‰ๅ‚ไธŽๆต‹่ฏ•ๅ’Œๆไพ›ๅ้ฆˆ็š„็”จๆˆท๏ผ