首先声明,这是本人编程实习课的大作业,肝了大半天,才算是完成了这么一个丑陋但功能尚且完善的小游戏。
笔者目前才大一,代码能力还不怎么样,写这个程序也没花太多时间。因此显然,代码在算法上应该还存在一定的优化空间,代码的格式以及注释也不是那么明了。
接下来有时间的话,应该会再打磨一下。比如完善一下代码和注释,以及尝试一下多文件编程。
欢迎各位大佬多多批评指正!
运行效果:
1.启动程序会进入主界面,可以在主界面选择三个难度不同的地图。具体操作方法如程序所示。
2.进入游戏后的操作方法就和常见的推箱子一样,另外本程序可以退出游戏或返回主页面。
3.通关后,则会恭喜玩家成功通关,并显示走过了几个有效移动步数。若是按q退出游戏的,则只显示GAME OVER。3秒后程序关闭。
啥也不多说了,上代码:
#include<stdio.h>
#include<conio.h>
#include<windows.h>
int MAPs[3][9][11]={
{
{0,0,0,1,1,1,0,0,0,0,0},
{0,0,0,1,4,1,0,0,0,0,0},
{0,0,0,1,0,1,1,1,1,1,1},
{1,1,1,1,3,2,3,0,0,4,1},
{1,4,0,0,3,3,1,1,1,1,1},
{1,1,1,1,1,0,1,0,0,0,0},
{0,0,0,0,1,0,1,0,0,0,0},
{0,0,0,0,1,4,1,0,0,0,0},
{0,0,0,0,1,1,1,0,0,0,0}},
{
{0,1,1,1,1,1,1,1,1,1,0},
{0,1,0,0,0,1,0,0,0,1,0},
{0,1,0,0,3,0,0,0,0,1,0},
{0,1,0,3,0,3,3,3,0,1,1},
{0,1,0,0,0,2,0,0,0,0,1},
{1,1,0,0,1,1,1,0,3,0,1},
{1,0,4,4,0,4,0,0,0,0,1},
{1,0,4,4,0,4,4,3,0,1,1},
{1,1,1,1,1,1,1,1,1,1,0}},
{
{0,1,1,1,1,1,1,1,0,0,0},
{0,1,0,0,0,0,0,1,1,1,0},
{1,1,3,1,1,1,0,0,0,1,0},
{1,0,0,0,0,2,3,3,0,1,0},
{1,0,4,4,1,0,3