九宫格课程设计讲解
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序在上面
对九宫格进
胜利界面
退 出
行随机赋值
欢
选
开
判段
用
判断
迎
择
始
彩印
是否
户
是否
界
菜
游
九宫格
完成
输
可以
面
单
戏
目标
入
转化
介绍游戏
转换 九宫格
我们要打印一个格子就需要知道 矩形的左上角坐标与左下角坐标。
这里我利用一个这个类型的数组arr[] 来记录九宫格每一个格子的坐标,方便 整个程序的打印与中心点的计算。
用
判断
迎
择
始
彩印
是否
户
是否
界
菜
游
九宫格
完成
输
可以
面
单
戏
目标
入
转化
介绍游戏
转换 九宫格
这里我们利用了一个数组定义了
1. 一个3*3的九宫格; 2. 两个整型变量,用于储存空的位置;
typedef struct { int a[3][3]; int x; int y; }node;
程序在上面
void play(node *p,LOC arr[]) { int key,w=0; while(1)//无限循环直到写对! { vin(p,w); key=getch(); switch(key) { case UP:
123
8
4
765
第一步 第三步
13 824 765
第二步
1
3
824
765
✓ 程序流程图 ✓ 核心程序设计 ✓ 彩印程序设计
对九宫格进
胜利界面
退 出
行随机赋值
欢
选
开
判段
用
判断
迎
择
始
彩印
是否
户
是否
界
菜
游
九宫格
ห้องสมุดไป่ตู้
完成
输
可以
面
单
戏
目标
入
转化
介绍游戏
转换 九宫格
对九宫格进
胜利界面
退 出
行随机赋值
欢
选
开
判段
5
void paint2(node *p,LOC arr[]) { int i,j=1,c[10]; c[0]=1; for(i=0;i<3;i++)
for(j=0;j<3;j++) { c[(i*3+j)+1]=p->a[i][j]; } for(i=1;i<10;i++) { color(c[i]+1); draw(arr,i); word(c[i],arr,i); } }
程序在上面
draw(arr,i);
color(c[i]+1);
一、color(c[i]+1);调色板 包含9个setfillcolor(color)通过记
录的数值来调试相应颜色,画下一 个封闭的图形 二、draw(arr,i);画图器
按顺序画出相应的图形。 三、word(c[i],arr,i);写字器
通过计算倒入图形坐标中心, 在图形中点写出相应数字
三者相辅相成,通过遍历画出 一个彩色的九宫格,体面又明显
word(c[i],arr,i);
调色版
012 345 678
color(c[i]+1); draw(arr,i); word(c[i],arr,i);
准备颜色
例如打印
图形窗口
1
3
0
8
2
4
7
6
在程序里我们已经通过函数调用 给出了所有坐标的值
(x,y)
typedef struct coordinate {
int x,y,z,w; }LOC;
(z,w)
程序在上面
这里是打印函数的核心程序
1.我们将二维数组的信息转换的一维数组上。 2.我们通过调用color,draw,word三个函数 实现彩印。
PPT讲解
在一个3×3 的九宫中有1-8这8个数及一个空格随机地 摆放在其中的格子里。如下面左图所示。现在要求实现这样 的问题:将该九宫格调整为如下图右图所示的形式。调整的 规则是:每次只能将与空格(上、下或左、右)相邻的一个 数字平移到空格中。
237
186
5
4
初始
1 23
8
4
7 65
目标
134 82 765
up(p);paint2(p,arr);break; case DOWN:
down(p);paint2(p,arr);break; case LEFT:
left(p);paint2(p,arr);break; case RIGHT:
right(p);paint2(p,arr);break; default: break;//无效输入 } } }
对九宫格进
胜利界面
退 出
行随机赋值
欢
选
开
判段
用
判断
迎
择
始
彩印
是否
户
是否
界
菜
游
九宫格
完成
输
可以
面
单
戏
目标
入
转化
介绍游戏
转换 九宫格
我们要打印一个格子就需要知道 矩形的左上角坐标与左下角坐标。
这里我利用一个这个类型的数组arr[] 来记录九宫格每一个格子的坐标,方便 整个程序的打印与中心点的计算。
用
判断
迎
择
始
彩印
是否
户
是否
界
菜
游
九宫格
完成
输
可以
面
单
戏
目标
入
转化
介绍游戏
转换 九宫格
这里我们利用了一个数组定义了
1. 一个3*3的九宫格; 2. 两个整型变量,用于储存空的位置;
typedef struct { int a[3][3]; int x; int y; }node;
程序在上面
void play(node *p,LOC arr[]) { int key,w=0; while(1)//无限循环直到写对! { vin(p,w); key=getch(); switch(key) { case UP:
123
8
4
765
第一步 第三步
13 824 765
第二步
1
3
824
765
✓ 程序流程图 ✓ 核心程序设计 ✓ 彩印程序设计
对九宫格进
胜利界面
退 出
行随机赋值
欢
选
开
判段
用
判断
迎
择
始
彩印
是否
户
是否
界
菜
游
九宫格
ห้องสมุดไป่ตู้
完成
输
可以
面
单
戏
目标
入
转化
介绍游戏
转换 九宫格
对九宫格进
胜利界面
退 出
行随机赋值
欢
选
开
判段
5
void paint2(node *p,LOC arr[]) { int i,j=1,c[10]; c[0]=1; for(i=0;i<3;i++)
for(j=0;j<3;j++) { c[(i*3+j)+1]=p->a[i][j]; } for(i=1;i<10;i++) { color(c[i]+1); draw(arr,i); word(c[i],arr,i); } }
程序在上面
draw(arr,i);
color(c[i]+1);
一、color(c[i]+1);调色板 包含9个setfillcolor(color)通过记
录的数值来调试相应颜色,画下一 个封闭的图形 二、draw(arr,i);画图器
按顺序画出相应的图形。 三、word(c[i],arr,i);写字器
通过计算倒入图形坐标中心, 在图形中点写出相应数字
三者相辅相成,通过遍历画出 一个彩色的九宫格,体面又明显
word(c[i],arr,i);
调色版
012 345 678
color(c[i]+1); draw(arr,i); word(c[i],arr,i);
准备颜色
例如打印
图形窗口
1
3
0
8
2
4
7
6
在程序里我们已经通过函数调用 给出了所有坐标的值
(x,y)
typedef struct coordinate {
int x,y,z,w; }LOC;
(z,w)
程序在上面
这里是打印函数的核心程序
1.我们将二维数组的信息转换的一维数组上。 2.我们通过调用color,draw,word三个函数 实现彩印。
PPT讲解
在一个3×3 的九宫中有1-8这8个数及一个空格随机地 摆放在其中的格子里。如下面左图所示。现在要求实现这样 的问题:将该九宫格调整为如下图右图所示的形式。调整的 规则是:每次只能将与空格(上、下或左、右)相邻的一个 数字平移到空格中。
237
186
5
4
初始
1 23
8
4
7 65
目标
134 82 765
up(p);paint2(p,arr);break; case DOWN:
down(p);paint2(p,arr);break; case LEFT:
left(p);paint2(p,arr);break; case RIGHT:
right(p);paint2(p,arr);break; default: break;//无效输入 } } }