c语言拼图小游戏编程,c语言控制台输出制作拼图小游戏
这就是另外一个小程序了和那个推箱子很像。
#include
int a[4][4];
void draw_point(int n)
{
if(n == 15)
{
printf("| ");
}
else
{
printf("| %c ", (char)(n + 'A'));
}
}
void draw_line()
{
printf("-----------------\n");
}
void draw()
{
int i, j;
for(j = 0; j < 4; j++)
{
draw_line();
for(i = 0; i < 4; i++)
{
draw_point(a[i][j]);
}
printf("|\n");
}
draw_line();
}
void chushihua()
{
int i, j;
for(i = 0; i < 4; i++)
{
for(j = 0; j < 4; j++)
{
a[i][j] = j * 4 + i;
}
}
}
int get_x()
{
int i, j;
for(i = 0; i < 4; i++)
{
for(j = 0; j < 4; j++)
{
if(a[i][j] == 15)
{
return i;
}
}
}
}
int get_y()
{
int i, j;
for(i = 0; i < 4; i++)
{
for(j = 0; j < 4; j++)
{
if(a[i][j] == 15)
{
return j;
}
}
}
}
void move(char c)
{
int i = get_x();
int j = get_y();
if(c == 'w')
{
if(j == 3)
{
return;
}
a[i][j] = a[i][j + 1];
a[i][j + 1] = 15;
}
else if(c == 'a')
{
if(i == 3)
{
return;
}
a[i][j] = a[i + 1][j];
a[i + 1][j] = 15;
}
else if(c == 's')
{
if(j == 0)
{
return;
}
a[i][j] = a[i][j - 1];
a[i][j - 1] = 15;
}
else if(c == 'd')
{
if(i == 0)
{
return;
}
a[i][j] = a[i - 1][j];
a[i - 1][j] = 15;
}
}
bool isOK()
{
bool bl = true;
int i, j;
for(j = 0; j < 4; j++)
{
for(i = 0; i < 4; i++)
{
if(a[i][j] != j * 4 + i)
{
return false;
}
}
}
return bl;
}
void main()
{
chushihua();
char c[20] = "dsddssaaawddsaawwwd";
int f;
for(f = 0; f < 20; f++)
{
move(c[f]);
}
draw();
int k = 1;
while(k)
{
char c;
printf("请输入指令:");
scanf("%c", &c);
fflush(stdin);
while (c != 'w' && c != 'a' && c != 's' && c != 'd')
{
printf("只能输入wasd其中之一\n");
printf("请输入新的命令:");
scanf("%c", &c);
fflush(stdin);
}
move(c);
draw();
if(isOK())
{
k = 0;
printf("恭喜,任务完成!\n");
}
}
}
c语言拼图小游戏编程,c语言控制台输出制作拼图小游戏相关推荐
- c语言shengchen图像,430编程C语言常识(IAR)(二)结构体与联合体
回复: 107 430编程C语言常识(IAR)(二)结构体与联合体 (288035412) 出0入0汤圆 电梯直达 发表于 2012-4-7 18:36:29 | 只看该作者 |倒序浏览 |阅读模式 ...
- c语言plc库,PLC编程-C语言.ppt
PLC编程-C语言.ppt 华中数控培训讲义 PLC编程,C语言编程,PLC控制的范围,数控机床所受到的控制可分为两类数字控制和顺序控制. 数字控制主要指对各进给轴进行精确的位置控制,包括轴移 动距离 ...
- DirectX游戏编程入门——第一部分(Windows和DirectX游戏编程引言)——认识Windows
本系列文章由 net_assassin 编写,转载请注明出处. http://blog.csdn.net/net_assassin/article/category/1100363 作者:net_as ...
- C#游戏编程之创建一个简单的卷轴射击游戏
前几天很多朋友要求贴一篇有关C#游戏开发的实例.本篇文章是创建一个简单的卷轴射击游戏开发实例,内容比较完整,分享给大家,不过篇幅有些长,可以慢慢看哈!本文除CSDN博客外,任何媒体和出版物禁止转载和使 ...
- 3D游戏编程与设计作业6-Unity实现打飞碟游戏改进版(Hit UFO)
改进飞碟(Hit UFO)游戏 游戏内容要求 按adapter模式设计图修改飞碟游戏 使它同时支持物理运动与运动学(交换)运动 编程实践 本次作业直接在上一次打飞碟游戏的基础上增加adapter设计模 ...
- 3D游戏编程学习笔记(五):与游戏世界交互
一.前言 本次3D游戏编程我们将设计一个简单打飞碟(Hit UFO)有游戏. 二.游戏基本内容及规定 游戏基本内容 游戏有 n 个 round,每个 round 都包括10 次 trial: 每个 t ...
- 游戏编程笔记-起步(三)-贪吃蛇游戏实现
游戏编程笔记-起步 3.贪吃蛇游戏实现 代码下载:http://download.csdn.net/detail/you_lan_hai/3738025 核心代码实现如下,算法描述见 "起步 ...
- html怎么制作小黄人,【PS教程】制作一个小黄人
原标题:[PS教程]制作一个小黄人 小黄人已经是个无需介绍的人气角色,呆萌的外表让他成为了践踏主角的超级巨星,在全球拥有无数粉丝,作为喜欢小黄人的设计师,是不是一定要懂得3D软件才能做出小黄人哩?NO ...
- 【原创游戏】合金弹头S——Unity制作的同人游戏
--纪念合金弹头陪伴的童年,回味横版过关射击快感 合金弹头S是一款Unity制作的同人游戏,由于当时我只是一个学了3个月游戏的同学,所以尚有一些不足之处,但这是我用Unity做的第一个原创作品 下载地 ...
最新文章
- Java学习笔记---字符类型
- IntelliJ IDEA 2020.2.4款 神级超级牛逼插件推荐
- python网页编程测试_李亚涛:python编写友情链接检测工具
- 表空间检测异常的问题诊断
- 如何在XSLT中实现勾选的效果
- Vue入门 ---- vuex
- Android 仿知乎创意广告
- pythonread读取怎么是乱码_python中如何读写文件不乱码
- java post 请求体构建_java – 从HttpServletRequest获取POST请求体
- Spring boot整合人大金仓(KingBaseEs)国产数据库
- Linux操作系统入门培训_Linux/Unix基础培训教程视频课程-风哥-专题视频课程
- 当我们谈论美食的时候我们会谈论什么
- 各大电商历史价格json后端接口
- 计算机网络水晶头博客,两台电脑组成局域网(交叉线)的水晶头制作详解
- 多路PT100转RS485模块
- ps怎样新建渐变|自定义渐变
- Python中字符串的反转,及sord、 sorted、reverse、reversed的区别
- java中设置游戏的倒计时_java中关于倒计时的程序
- 2020delphi还有人用吗?delphi过时了吗?为什么还有那么多程序员坚持继续选择DELPHI作为软件开发工具
- 使用GET实现一个简单的登入界面