<meta name="keywords" content="必胜时时彩开户,keywords" /> 贪吃蛇开发随笔
(玩电子) 电子手艺学习与研究

贪吃蛇开发随笔

作者:佚名   泉源:本站原创   点击数:x  更新时间:2013年11月04日   【字体:年夜

V1.0版本
贪 吃蛇是我用c语言写的真正意义上的一个法式模范模范。感应很新鲜。之前都是用c语言解题,现在用c语言写了一个游戏,中央的差距照样挺年夜的。这个贪吃蛇,基本上是 照着他人的源码抄的。自己还没有这方面的头脑。抄完了以后,又修改了一下。感应头脑正在发生跳转。经由历程这个法式模范模范,熟悉到自己的水平照样挺低劣的。不外,估 计在抄上几个小游戏后,就应当能构资自己的头脑。到时间便可以开发出自己的法式模范模范了。
另外还学到了一点。就是在这个法式模范模范中,把一个游戏分红了许多的模块,然后每个模块写一个函数,这样写出来的法式模范模范很耐读。调试也便利。学习之。
还需起劲

———————————————————————————————————
V1.1版本(Sarah,thinking献礼版)
与v1.0版本刷新诠释
          1.注册BGI驱动,使之可以脱离.BGI文件运转
          2.增添启动界面,引入音乐
          3.刷新注释,增添函数注释。
 这三项都是收其他法式模范模范的启发。第一项的措施在TC的示例法式模范模范中就有。第二项很质朴,一个图形阻拦后,然后再清屏就是了。第三个是看着他人的注释很不错。特殊是对函数的注释。
 
/*******************************************************************************
** 函数称谓:drawmat
** 函数形貌:按序:字模指针、点阵年夜小、肇端坐标(x,y)、色彩
** 输入参数:*mat,matsize,x,y,color
** 输入参数:无
*******************************************************************************/
虽然占用的行数有点多了。不外注释的很清晰,因此引进之。

不才面的学习中,欲望能找到用C语言引进位图,和音乐的措施。是游戏更生动一些。


———————————————————————————————————
V1.2版本(自动寻路版)
此版本与前面版本的不合的处所在于,增添了自动寻路函数。在泉源画面中可以选择,假定选1。则手动。选2。则自动。
  想法主意主意:增添一个findway()函数。此函数的功效是断定蛇头与食物之间的坐标关系。蛇头的横坐标减去食物的横坐标,负则收回右行指令;正责发生左行指 令。纵坐标减去食物的纵坐标,担负收回下行指令;正则收回下行指令。(注:盘算机中坐标系的原点在左上角)。然则要重视的是:1。收回的指令不克不及与行使的 偏向相反。这样的话,则须要在函数中添加一个断定,假定收回的指令与蛇行驶的偏向相反的话,先让蛇垂直运动一下。2:在某些特殊情形下,在会撞墙,是以还 须要加个撞墙断定条件。
  bug:1.容易撞到自己。2.假定食物涌现在墙壁,容易去世亡。
此版本是个掉落败的版本。蛇的走法千奇百怪,撞墙的措施多种多样。现在的水平还不克不及推敲到那么多情形。写出来一个很容易自己的贪吃蛇。哎。,。
———————————————————————————————————


 

在 家编的这个小法式模范模范,深深地体会到自己的缺乏。学完c语言,仅仅开了一扇门而已。也体会到为啥能成为一个法式模范模范员,至少须要两年的时间。太多的领域须要我们去 探索。windows,Linux,Unix,算法,群集,图象,3D,引擎。。。。每项都有着很深的学问。威望赫赫,无限无尽。我们必须赓续地起劲, 在严重年夜的外面下,找到合营的地方。捉住泉源,才干成为一代宗师。

我们还太嫩,纵然学完c语言,学完数据结构,学完算法剖析。看着电脑里满满的一点都看不明确质料,我们必须有压力。突然想起一个有人议论之前的中美黑客年夜战,读来汗颜不止“你们在美国人的系统上,应用美国人发现的破绽,拿着美国人写的工具,去进击美国人”。在此不做议论。

现在不想说过量的空话,最后只想问自己一句,你起劲了么?

 

 

/* WIN-TC BGI 图形编程模板 */

#include "Conio.h"
#include "graphics.h"
#define closegr closegraph

void initgr(void) /* BGI初始化 */
{
int gd = DETECT, gm = 0; /* 和gd = VGA,gm = VGAHI是异常效果 */
registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不须要.BGI文件的支持运转 */
initgraph(&gd, &gm, "");
}

int main(void)
{
initgr(); /* BGI初始化 */

/*****此部门添加你自己的代码,例如
line(25, 25, 220, 220);
circle(100, 100, 50);
等等*****/

getch(); /* 暂停一下,看看前面绘图代码的运转效果 */
closegr(); /* 恢复TEXT屏幕形式 */
return 0;
}

文章议论

相关文章