c语言游戏推箱子

  前两天做了推箱子小游戏,看似简单的一个小游戏背后却 有巨大的秘密,这秘密就是一大堆逻辑。

自从学习了函数过后,的确是解决了很多问题,而且调用很方便,尽管我现在都不是很会调用。

写完一个函数,准备测试一下的时候就蒙b了。最开始是要解决目标的问题,用了一个结构体来

定位。然后还要定位到要到小人的位置,输出地图,里面的墙、目标和箱子都是用数字来代替的

所以,给地图定了两个轴 x y 这样就解决了小人移动的问题,而地图是用数组来组件的,利用 x

y + - 就能办到移动的问题,但是还有一需要一起移动的箱子。最重要的是移动体移动时它周围

的参数,比如墙 和两个一起的箱子 总不可能上墙有推箱子所以这里还需要一个判定。到最后就是

判断是否过关,然后输出,其实如果方向键是用的char类型到后面输出很方便,不需要代替。这

算是这两天写推箱子的大概内容。

时间: 11-26

c语言游戏推箱子的相关文章

小游戏●推箱子(利用二维数组制作)

利用数组制作的简单推箱子游戏 代码及简要分析如下: 1 //推箱子小游戏 2 //定义一个三维数组存放地图,三维数组由单独的二维数组组成,本游戏中只有三个地图 3 int[][,] a = new int[3][,]; 4 //用二维数组创建地图,0是空位,1是墙,2是人,3是箱子,4是终点 5 int[,] b0 = new int[10, 10]{ 6 {1,1,1,1,1,1,1,1,1,1}, 7 {1,0,0,0,1,0,1,0,0,1}, 8 {1,0,0,0,1,0,1,0,0,1

VS 游戏:推箱子&对战游戏

推箱子 //只做了两关 class Program { static void Main(string[] args) { int x = 1; int y = 8; int z = 0; int end1x = 6; int end1y = 3; int end2x = 6; int end2y = 3; #region 地图绘制 string[,,] map = new string[3, 10, 10] { { {"●", "●", "●"

C语言版推箱子

推箱子源代码初步: 1 #include<stdio.h> 2 #include<conio.h> 3 #include<stdlib.h> 4 #define boolean int 5 #define true 1 6 #define false 0 7 8 #define ROWS 10 9 //之所以定义为11,是因为字符串的尾部的\0 10 #define COLUMNS 11 11 12 //根据程序定义或者文件读入来构建地图,然后把他绘制到屏幕上 13 v

经典小游戏--推箱子

//0是空位,1是墙,2是人,3是箱子,4是终点 int[][,] a = new int[2][,]; int[,] b0 = new int[10, 10]{ {1,1,1,1,1,1,1,1,1,1}, {1,0,0,0,1,0,1,0,0,1}, {1,0,0,0,1,0,1,0,0,1}, {1,0,3,0,1,0,1,0,0,1}, {1,0,0,0,1,1,1,0,0,1}, {1,0,0,0,0,0,0,0,0,1}, {1,0,0,1,0,0,0,0,0,1}, {1,2,0,

C#语言实现推箱子

话不多说直接上代码 using System; namespace Boxer { class Program { const int WIDTH = 8; const int HEIGHT = 8; static int[,] map = new int[HEIGHT, WIDTH]{ {0, 0, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 4, 1, 0, 0, 0}, {0, 0, 1, 0, 1, 1, 1, 1}, {1, 1, 1, 3, 0, 3, 4, 1}, {

c语言实现的推箱子小游戏-1

本次游戏是个推箱子第一关最简单的小游戏 有详细注释,下面是做出来的游戏界面 游戏操作说明和功能说明: 按wasd控制小人的上下左右移动. 按 r 重新开始游戏 游戏开始有操作介绍 游戏结束有胜利提示 游戏原理分析 游戏开始时的星星个数 = 箱子在星星上的个数时 , 游戏胜利. 按 r 键重新开始游戏, 我们需要定义一个量 map_1[8][8] 来保存游戏初始时的界面, 操作时我们将其赋值给 map[8][8] 来进行操作,以便重新归位, 这里就用到了memcpy()函数. wasd 代表上下左

完整版本的推箱子小游戏,最简单的纯C语言打造

/* 推箱子小游戏 1.定义绘制样式 用二维数组的方式 2.绘制图像 3.找出当前位置 4.逻辑判断,制造动作 根据数学xy轴的规律,这里使用ij 上移,行轴上升,行数减少 下移,行数下降,函数增加 左移,列数向左,列数减少 右移,列数向右,列数增加 */ #include <stdio.h> #include <stdlib.h> #include <conio.h> #define ROWS 8 //行数 #define COLS 9 //列数 int i = 0;

致佳音: 推箱子游戏自动求解算法设计(二)

这一个小节我们说一说传说中的A×算法,其实之前也上传过类似的小件件,这里我们就去剖析一下它 毕竟在游戏程序,我们要从一点移动到另一点,并得到最短路程的轨迹,类似这种算法还有好几种,执行效率都差不多,不过大多不能得到轨迹 首先,从一点移动到另一点,最快就是直接走过去了,就像小男生爱上小女生,最好的办法就是直接走到她面前说:我爱你 不过理想状态,几乎是没有的,弯路那是必然的经过,有曲线,其实更美-- 那么弯路该怎么走呢,是不是先去背景看下毛主席,再去三亚晒个太阳,再回来告诉她外面的世界好美,不,不,

推箱子游戏

本游戏为推箱子游戏,即通过移动方向键来控制小人去推动箱子,直到把所有的箱子都推动到各个目标中.游戏需要在人物行走过程中无法穿越墙和箱子,并在有限的范围中放好各箱子,且每次只能搬运一个箱子.所基于的语言是8086汇编,使用的编译环境是唐都的集中开发环境TD-PIT. 本次设计的基本思想是通过将不同的元素(墙.路.箱子.人.目标位)抽象为不同的矩阵,然后将所设计的地图描抽象成一个控制矩阵来控制图像的显示,每一个控制矩阵块代表一个元素,我们通过不断刷新控制矩阵来达到显示人物移动及推箱子的效果. 1.1