奇妙的问题,计算机也不可靠

来源:百度知道 编辑:UC知道 时间:2024/06/07 15:11:53
我用C语言写了一个简单的迷宫游戏。在改进过程中,发现了一个很奇怪的问题:将“笑脸”移到出口(闪烁的太阳)旁边(紧挨着),闪烁的太阳符号不闪了(等几分钟又闪了)。这是MIGONG_1.C。MIGONG_2.C 没有这样的情况。它们的代码几乎一样,只有图像的位置有了一个小位移。
它们的源代码如下:请知道原因的赐教!!!
/* MIGONG_1.C */
/*简单的迷宫游戏*/
#include<stdio.h>
#include<conio.h>
#include<bios.h>
#include<dos.h>

#define UP 0x4800
#define DOWN 0x5000
#define RIGHT 0x4d00
#define LEFT 0x4b00
#define ESC 0x11b
#define DESX 18 /*目的地横坐标*/
#define DESY 1 /*目的地纵坐标*/
struct move_point
{
int x,y; /*该点的位置,包括X坐标和Y坐标*/
};
int map[20][20]=
{{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1},
{1,0,1,1,1,0,1,0,1,0,1,1,1,1,1,1,0,0,0,1},
{1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,1,1,0,1},
{1,0,1,1,1,0,1,0,1,1,1,1,1,1,0,1,0,1,0,1},
{1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,1,0,1,0,1},
{1,0,1,0,1,0,1,1,1,0,1,1,1,1,1,1,0,1,0,1},<

去掉delay。否则可能每次循环都赶上模2为0,或者模2为1。这样就产生了不闪烁的结果。





追问

其它情况下是闪的,就是在紧挨着的时候不闪.
将“笑脸”移到出口(闪烁的太阳)旁边(紧挨着),闪烁的太阳符号不闪了(等几分钟又闪了)。


再讲明白点好不好

看的累