# XamarinGames **Repository Path**: lipz89/XamarinGames ## Basic Information - **Project Name**: XamarinGames - **Description**: No description available - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-04-29 - **Last Updated**: 2025-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 该项目是一个使用 Xamarin.Forms 开发的多平台移动应用,主要包含多个益智类小游戏。这些游戏包括经典的推箱子、数独、华容道、八数码、独立钻石、马踏棋盘等,以及一些原创游戏如方块消消、聚精会神、九宝莲灯、眼疾手快等。每个游戏都具有挑战性,旨在锻炼玩家的逻辑思维、记忆和反应能力。 ## 项目结构 - **Games.Android** 和 **Games.iOS**:分别为 Android 和 iOS 平台的项目文件,包含平台相关的配置和资源。 - **Games**:核心项目,包含所有游戏的通用逻辑和界面。 - **Common**:包含多个游戏通用的组件和工具类,如 `PageHolder`、`Utils`、`ControlUtil` 等。 - **Data**:数据访问层,使用 SQLite 作为本地数据库,支持记录游戏进度和成绩。 - **Basic**:基础类和接口,如 `BaseViewModel`、`IGameInfo` 等。 - **各个游戏模块**:如 `Box`(推箱子)、`HuaRongDao`(华容道)、`Sudoku`(数独)、`PegSolitaire`(独立钻石)、`Horse64`(马踏棋盘)等,每个模块包含该游戏的逻辑和界面实现。 ## 游戏功能概述 ### 推箱子(Box) - 玩家需要将箱子推到指定位置。 - 支持撤销操作。 - 记录玩家的步数和最佳成绩。 ### 华容道(HuaRongDao) - 玩家需要将曹操的棋子从棋盘的初始位置移动到最下方中部的出口。 - 支持不同难度级别的关卡。 - 记录玩家的步数和最佳成绩。 ### 数独(Sudoku) - 玩家需要根据已知数字推理出所有剩余空格的数字。 - 支持不同难度级别(简单、普通、困难等)。 - 提供撤销和重做功能。 ### 独立钻石(PegSolitaire) - 玩家需要通过跳跃吃掉棋子,最终留下越少越好。 - 支持撤销操作。 - 记录玩家的步数和剩余棋子数。 ### 马踏棋盘(Horse64) - 玩家需要让马走遍棋盘上的所有格子。 - 支持撤销操作。 - 记录玩家的步数和完成情况。 ### 八数码(Eight) - 玩家需要通过移动数字将棋盘上的数字方块按顺序排列。 - 支持撤销操作。 - 记录玩家的步数和最佳成绩。 ### 方块消消(FlipBlocks) - 玩家需要通过翻滚方块消除相同颜色的方块。 - 消除的方块越多,得分越高。 - 记录玩家的得分。 ### 聚精会神(ChallengeMemory) - 玩家需要记住上一帧的目标方块并在刷新后找出它们。 - 支持调整游戏区域尺寸和目标方块数量。 - 记录玩家的帧数和得分。 ### 九宝莲灯(Light) - 玩家需要点亮所有格子。 - 点击一个格子会改变其状态及其上下左右格子的状态。 - 记录玩家的点击次数。 ### 眼疾手快(TwentyFive) - 玩家需要按从小到大的顺序点击数字。 - 记录玩家的完成时间和反应速度。 ### 连环灯(SeriesLights) - 玩家需要按照隐藏数字的顺序点亮格子。 - 如果点击的数字比已点亮的数字大,则点亮失败。 - 记录玩家的点击次数。 ### 数同(DigitalSame) - 玩家需要点击格子使其所有数字相同。 - 每次点击会影响该格子及其上下左右的数字。 - 记录玩家的点击次数和得分。 ### 八宝盒(Klotski) - 玩家需要将深色方块通过右上角的缺口移出。 - 方块只能沿长边方向移动。 - 记录玩家的步数和最佳成绩。 ## 技术实现 - **跨平台支持**:使用 Xamarin.Forms 实现跨平台开发,支持 Android 和 iOS。 - **数据存储**:使用 SQLite 作为本地数据库,记录游戏进度和成绩。 - **界面设计**:使用 XAML 进行界面布局,结合 C# 实现交互逻辑。 - **动画效果**:通过 `ViewExtensions` 提供的动画方法增强用户体验。 - **游戏逻辑**:每个游戏模块独立实现其特定的逻辑,确保模块化和可扩展性。 ## 开发者信息 该项目由 lipz89 开发,托管在 Gitee 上。如果你对该项目感兴趣,欢迎参与贡献或提出建议。