这就是另外一个小程序了和那个推箱子很像。

#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语言控制台输出制作拼图小游戏相关推荐

  1. c语言shengchen图像,430编程C语言常识(IAR)(二)结构体与联合体

    回复: 107 430编程C语言常识(IAR)(二)结构体与联合体 (288035412) 出0入0汤圆 电梯直达 发表于 2012-4-7 18:36:29 | 只看该作者 |倒序浏览 |阅读模式 ...

  2. c语言plc库,PLC编程-C语言.ppt

    PLC编程-C语言.ppt 华中数控培训讲义 PLC编程,C语言编程,PLC控制的范围,数控机床所受到的控制可分为两类数字控制和顺序控制. 数字控制主要指对各进给轴进行精确的位置控制,包括轴移 动距离 ...

  3. DirectX游戏编程入门——第一部分(Windows和DirectX游戏编程引言)——认识Windows

    本系列文章由 net_assassin 编写,转载请注明出处. http://blog.csdn.net/net_assassin/article/category/1100363 作者:net_as ...

  4. C#游戏编程之创建一个简单的卷轴射击游戏

    前几天很多朋友要求贴一篇有关C#游戏开发的实例.本篇文章是创建一个简单的卷轴射击游戏开发实例,内容比较完整,分享给大家,不过篇幅有些长,可以慢慢看哈!本文除CSDN博客外,任何媒体和出版物禁止转载和使 ...

  5. 3D游戏编程与设计作业6-Unity实现打飞碟游戏改进版(Hit UFO)

    改进飞碟(Hit UFO)游戏 游戏内容要求 按adapter模式设计图修改飞碟游戏 使它同时支持物理运动与运动学(交换)运动 编程实践 本次作业直接在上一次打飞碟游戏的基础上增加adapter设计模 ...

  6. 3D游戏编程学习笔记(五):与游戏世界交互

    一.前言 本次3D游戏编程我们将设计一个简单打飞碟(Hit UFO)有游戏. 二.游戏基本内容及规定 游戏基本内容 游戏有 n 个 round,每个 round 都包括10 次 trial: 每个 t ...

  7. 游戏编程笔记-起步(三)-贪吃蛇游戏实现

    游戏编程笔记-起步 3.贪吃蛇游戏实现 代码下载:http://download.csdn.net/detail/you_lan_hai/3738025 核心代码实现如下,算法描述见 "起步 ...

  8. html怎么制作小黄人,【PS教程】制作一个小黄人

    原标题:[PS教程]制作一个小黄人 小黄人已经是个无需介绍的人气角色,呆萌的外表让他成为了践踏主角的超级巨星,在全球拥有无数粉丝,作为喜欢小黄人的设计师,是不是一定要懂得3D软件才能做出小黄人哩?NO ...

  9. 【原创游戏】合金弹头S——Unity制作的同人游戏

    --纪念合金弹头陪伴的童年,回味横版过关射击快感 合金弹头S是一款Unity制作的同人游戏,由于当时我只是一个学了3个月游戏的同学,所以尚有一些不足之处,但这是我用Unity做的第一个原创作品 下载地 ...

最新文章

  1. Java学习笔记---字符类型
  2. IntelliJ IDEA 2020.2.4款 神级超级牛逼插件推荐
  3. python网页编程测试_李亚涛:python编写友情链接检测工具
  4. 表空间检测异常的问题诊断
  5. 如何在XSLT中实现勾选的效果
  6. Vue入门 ---- vuex
  7. Android 仿知乎创意广告
  8. pythonread读取怎么是乱码_python中如何读写文件不乱码
  9. java post 请求体构建_java – 从HttpServletRequest获取POST请求体
  10. Spring boot整合人大金仓(KingBaseEs)国产数据库
  11. Linux操作系统入门培训_Linux/Unix基础培训教程视频课程-风哥-专题视频课程
  12. 当我们谈论美食的时候我们会谈论什么
  13. 各大电商历史价格json后端接口
  14. 计算机网络水晶头博客,两台电脑组成局域网(交叉线)的水晶头制作详解
  15. 多路PT100转RS485模块
  16. ps怎样新建渐变|自定义渐变
  17. Python中字符串的反转,及sord、 sorted、reverse、reversed的区别
  18. java中设置游戏的倒计时_java中关于倒计时的程序
  19. 2020delphi还有人用吗?delphi过时了吗?为什么还有那么多程序员坚持继续选择DELPHI作为软件开发工具
  20. 使用GET实现一个简单的登入界面

热门文章

  1. 教你如何用Python抓取QQ音乐歌单及分析
  2. python读取Excel绘制饼图的两种方式
  3. 如何从阿里云官方镜像站下载ubuntu并安装
  4. 面试中的65个技巧性回答---这简直就是全餐嘛
  5. 1.6 FPGA电路设计
  6. deepin20如何换源_Deepin更换镜像源
  7. ebcdic编码与ascII编码互转
  8. 【简介】流程化项目管理咨询师刘俊平介绍
  9. Linux 帮助手册安装
  10. 某某桥的检测和加固设计