| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2147 人关注过本帖
标题:abnormal program termination
只看楼主 加入收藏
zerocn
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2006-4-11
收藏
 问题点数:0 回复次数:5 
abnormal program termination

我在编俄罗斯方块中 运行时 下落了几个方块后就出现这个

搜索更多相关主题的帖子: termination program abnormal 
2007-03-18 15:43
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 

没有作适当的控制.


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-18 15:46
zerocn
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2006-4-11
收藏
得分:0 
以下是引用neverTheSame在2007-3-18 15:46:58的发言:

没有作适当的控制.

我不直到是什么的问题,但是我发现的一个现象,
出现abnormal program 与程序运行时间无关
应该与循环次数有关
到第5次的时候 就是第5个方块下落的时候就出现问题
和random()不直到有没有关系

2007-03-18 15:55
zerocn
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2006-4-11
收藏
得分:0 

#include "Conio.h"
#include "graphics.h"
#include "math.h"
#include "stdio.h"
#include "stdlib.h"
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define DOWN 0x5000
#define UP 0x4800
#define SPACE 0x3920
#define ESC 0x011b
#define ENTER 0x1c0d
struct SHAPE
{int x[4],y[4];
}box_first[6][4]={ /* 方块初试坐标 */
200,200,200,200,20,40,60,80, 180,200,220,200,20,20,20,20, 200,200,200,200,20,40,60,80,
180,200,220,200,20,20,20,20, 200,200,200,220,20,40,60,40, 200,220,220,220,40,20,40,60,
200,180,200,220,40,60,60,60, 180,200,220,200,40,40,40,60, 200,200,200,220,20,40,60,60,
200,220,220,220,20,20,40,60, 200,200,220,240,40,60,40,40, 180,200,220,220,60,60,40,60,
200,200,200,220,20,40,60,20, 200,220,220,220,60,20,40,60, 200,200,220,240,40,60,60,60,
180,200,220,220,40,40,40,60, 200,200,220,220,20,40,40,60, 180,200,200,220,40,40,20,20,
200,200,220,220,20,40,40,60, 180,200,200,220,40,40,20,20, 180,180,200,200,40,60,20,40,
180,200,200,220,20,20,40,40, 180,180,200,200,40,60,20,40, 180,200,200,220,20,20,40,40
},box;
void initgr(void) /* BGI初始化 */
{
int gd = DETECT, gm = 0;
registerbgidriver(EGAVGA_driver);
initgraph(&gd, &gm, "");
}
main()
{ /************* 函数声明***************/
void initialize(void);
void begin(void);
void down(void);
void right(void);
void left(void);
void shape(void);
void cover(void);
void choic(void);
/*************************************/
initgr();
initialize();
while(1)
{int i;
i=bioskey(0);
if(i==ENTER)begin();
if(i==ESC)exit(0);
}
}
void initialize(void)/* 游戏范围 */
{
setcolor(LIGHTGRAY);
rectangle(9,9,391,461);
}
void begin(void) /* 产生随机方块 */
{ while(1)
{ int n,p;
randomize();
n=random(6);
p=random(4);
box.x[0]=box_first[n][p].x[0];
box.x[1]=box_first[n][p].x[1];
box.x[2]=box_first[n][p].x[2];
box.x[3]=box_first[n][p].x[3];
box.y[0]=box_first[n][p].y[0];
box.y[1]=box_first[n][p].y[1];
box.y[2]=box_first[n][p].y[2];
box.y[3]=box_first[n][p].y[3];
choic();
}
}

void left() /* 左 */
{ cover();
box.x[0]-=20;
box.x[1]-=20;
box.x[2]-=20;
box.x[3]-=20;
down();
}

void right()
{ cover();
box.x[0]+=20;
box.x[1]+=20;
box.x[2]+=20;
box.x[3]+=20;
down();
}

void shape()
{;
}

void down()
{
if(box.y[3]+10<460)
{ cover();
setcolor(LIGHTGRAY);
rectangle(box.x[0]-9,box.y[0]-8,box.x[0]+9,box.y[0]+10);
rectangle(box.x[1]-9,box.y[1]-8,box.x[1]+9,box.y[1]+10);
rectangle(box.x[2]-9,box.y[2]-8,box.x[2]+9,box.y[2]+10);
rectangle(box.x[3]-9,box.y[3]-8,box.x[3]+9,box.y[3]+10);
box.y[0]++;
box.y[1]++;
box.y[2]++;
box.y[3]++;
delay(1000);
choic();
}
else begin();
}

void cover()
{setcolor(BLACK);
rectangle(box.x[0]-9,box.y[0]-9,box.x[0]+9,box.y[0]+9);
rectangle(box.x[1]-9,box.y[1]-9,box.x[1]+9,box.y[1]+9);
rectangle(box.x[2]-9,box.y[2]-9,box.x[2]+9,box.y[2]+9);
rectangle(box.x[3]-9,box.y[3]-9,box.x[3]+9,box.y[3]+9);
}

void choic()
{
if(bioskey(1)!=0)
switch (bioskey(0))
{case ESC:exit(0);
break;
case LEFT:left();
break;
case RIGHT:right();
break;
case SPACE:shape();
break;
case DOWN:down();
break;
default:down();
break;
}
down();
}
修改了下 现在20次左右就停了

[此贴子已经被作者于2007-3-18 17:00:59编辑过]

2007-03-18 15:55
zerocn
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2006-4-11
收藏
得分:0 
up
2007-03-18 17:05
zerocn
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2006-4-11
收藏
得分:0 
ding!
2007-03-18 20:04
快速回复:abnormal program termination
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030176 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved