本科生实验报告
实验课程 Android 课程设计数独游戏
学院名称 信息科学与技术学院
专业名称 物联网工程
学生姓名
学生学号
指导教师
实验地点
实验成绩
二〇一五 年 十 月 二〇一五 年 十二 月
Android 数独游戏
一、数独游戏简介
1. 数独游戏“数独Sudoku”来自日文(すうどく),但概念源自“拉丁方块”,
是十八世纪瑞士数学家欧拉发明的,是一种运用纸、笔进行演算的逻辑游戏。数
独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字
和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。使1-9每个数
字在每一行、每一列和每一宫中都只出现一次,所以又称 “九宫格”。谜题中会
预先填入 若干数字,它宫位则留白,玩家得依谜题中的数字分布状况,逻辑推
敲出剩下的空格里是什么数字
2. 该数独游戏是基于Android系统,通过过程性设计声明性两种方式来设
计用户界面,采用Android2D绘图来实现数独的游戏界面中的九宫格和数字的
绘制,以及田填充页面的提示等。该数独游戏同时还涉及到活动的创建,游戏框
架的构建,多媒体功能的实现,主要用到了Android开发的入门基础知识,同时
设计到开发环境的配置和真机模拟和模拟器两方模拟
二、数独游戏设计
1. 游戏框架设计 (以下图片都是通过Android真机所得)
figure-1 系统框图 figure-2 进入页面
figure-3 新建游戏 figure-4 游戏界面
figure-5 关于游戏 figure-6 设置游戏
2. 游戏程序设计
figure-7 程序设计
figure-8 程序控制程序结构 figure-9 程序样式设置结构
Sudoku.java:程序的主控活动类,初始化游戏,控制其他的java 类。
Pu leView.java:2D绘图的主控类,用来绘制游戏的主界面,包括九宫格、
数字、提示、虚拟键盘等。
Game.java:游戏的算法和难度的控制类。用来初始化游戏界面,控制
Pu leView类绘制数字;对当前九宫格的数字输入状态来提供数字的提示功
能,保存当前的状态;并根据首选项的有判断的初始化数独游戏开始界面的
难度。
About.java:主要用于关于游戏的页面的初始化和返回菜单页面。
Keypad.java:主要用于游戏提示键盘的初始化控制,获取输入的当前的数独
的输入数字和判断输入是否有效。
Prefs.java:负责对游戏设置选项的控制处理。
Music.java:多媒体的类,用来控制背景音乐的播放和暂停。
三、数独游戏实现
1. 游戏的界面设计
1)布局方式
LinearLayout (线性布局):以相对于当行或当列的形式显示子对象,在
本数独游戏设计的开始页面采用该中布局和接下来的布局方式,通过嵌
套来实现。
RelativeLayout (相对布局):以相对于其他子对象显示子对象。
main.xml:(伪代码)
xmlns:android="/apk/res/android"
xmlns:tools="/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
...//布局的设置选项
tools:context="com.example.sudoku.Sudoku"