关于贪吃蛇的学习(2)

根据老师提供的学习材料,我首先查资料了解了一下 kbhit函数的用法。

1.源自 头文件<conio.h> 

 

2. 原型:extern int kbhit(void);
  
   用法:#include <stdio.h>
  
   功能:检测按键
  
   说明:检测键盘是否有键按下。
         如果有键按下,则返回对应键值;否则返回零。
         kbhit不等待键盘按键。无论有无按键都会立即返回。
  
   举例:

       // kbhit.c
      
       #include <stdio.h>

       main()
       {
         int i=0;
        
         clrscr();
        
         while(!kbhit())
         {
           clrscr();
           printf("%05d",i++);
         }
        
         clrscr();
         printf("End.");
        
         getchar();
         return 0;
       


智能蛇的伪码如下图所示:

输出字符矩阵
    WHILE not 游戏结束 DO
        wait(time)
        ch=whereGoNext(Hx,Hy,Fx,Fy)
        CASE ch DO
        ‘A’:左前进一步,break 
        ‘D’:右前进一步,break    
        ‘W’:上前进一步,break    
        ‘S’:下前进一步,break    
        END CASE
        输出字符矩阵
    END WHILE
    输出 Game Over!!! 
在查阅了一些资料后,我着重学习了用自动寻路方法智能移动的贪吃蛇游戏算法。

主要是利用了广度寻路算法,能够搜索出一条从蛇头到目标食物点的一条可行的最短的路径,并且在蛇运动的过程当中,实时的调整这一条可行路径。吃食物的策略是优先吃大食物,然后吃小食物,因为大食物分数多,如果不吃,过一会就会消失。

主函数:


运行结果:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章