求在VC++6.0中运行的贪吃蛇代码

求在VC++6.0中运行的贪吃蛇代码,第1张

#包括<stdio, h >

#包括<process。H >

#包括<Windows。H >

#包括<conio。H >

#包括<时间。H >

#包括<stdlib。H >

#defineWIDTH40

#defineHEIGH12

枚举方向{//方向

离开了,

对的,

向上

};

StructFood{//食品

Intx;

Inty;

};

{//绘制蛇体

intx;

inty;

structNode*next;

};

structSnake{//蛇属性du

intlenth;//长度

enumdirectiondir;//方向

};

structFood*food;//食物

structSnake*snake;//蛇属性

structNode*snode,*tail;//蛇身

intSPEECH=200;

intscore=0;//分数

intsmark=0;//吃食物标zhi记

inttimes=0;

intSTOP=0;

voidInitfood();//产生食物

voidInitsnake();//构造snake

voidEatfood();//头部前进

voidAddnode(intx,inty);//增加蛇身

voiddisplay(structNode*shead);//显示蛇身坐dao标

voidmove();//蛇移动

voiddraw();//画蛇

voidHomepage();//主页

voidkeybordhit();//监控键盘按键

voidAddtail();//吃到食物

voidgotoxy(intx,inty)//定位光标

COORDpos;

pos.X=x-1;

pos.Y=y-1;

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);

voidInitsnake()//构造snake

inti;

snake=(structSnake*)malloc(sizeof(structSnake));

tail=(structNode*)malloc(sizeof(structNode));

food=(structFood*)malloc(sizeof(structFood));

snake->lenth=5//初始长度 5

snake->dir=RIGHT//初始蛇头方向 右

for(i=2i<=snake->lenth+2i++)//增加 5 个结点

Addnode(i,2);

voidInitfood()//产生食物

structNode*p=snode;

intmark=1;

srand((unsigned)time(NULL));//以时间为种子产生随机数

while(1)

food->x=rand()%(WIDTH-2)+2//食物X坐标

food->y=rand()%(HEIGH-2)+2//食物Y坐标

while(p!=NULL)

if((food->x==p->x)&&(food->y==p->y))//如果食物产生在蛇身上

{//则重新生成食物

mark=0;//食物生成无效

break;

p=p->next

if(mark==1)//如果食物不在蛇身上,生成食物,否则重新生成食物

gotoxy(food->x,food->y)

printf("%c",3);

break;

mark=1;

p=snode;

voidmove()//移动

structNode*q,*p=snode;

if(snake->dir==RIGHT)

Addnode(p->x+1,p->y)

if(smark==0)

while(p->next!=NULL)

q=p;

p=p->next

q->next=NULL

free(p);

if(snake->dir==LEFT)

Addnode(p->x-1,p->y)

if(smark==0)

while(p->next!=NULL)

q=p;

p=p->next

q->next=NULL

free(p);

if(snake->dir==UP)

Addnode(p->x,p->y-1)

if(smark==0)

while(p->next!=NULL)

q=p;

p=p->next

q->next=NULL

free(p);

if(snake->dir==DOWN)

Addnode(p->x,p->y+1)

if(smark==0)

while(p->next!=NULL)

q=p;

p=p->next

q->next=NULL

free(p);

voidAddnode(intx,inty)//增加蛇身

structNode*newnode=(structNode*)malloc(sizeof(structNode));

structNode*p=snode;

newnode->next=snode

newnode->x=x

newnode->y=y

snode=newnode;//结点加到蛇头

if(x<2||x>=WIDTH||y<2||y>=HEIGH)//碰到边界

STOP=1;

gotoxy(10,19);

printf("撞墙,游戏结束,任意键退出!\n");//失败

_getch();

free(snode);//释放内存

free(snake);

exit(0);

while(p!=NULL)//碰到自身

if(p->next!=NULL)

if((p->x==x)&&(p->y==y))

STOP=1;

gotoxy(10,19);

printf("撞到自身,游戏结束,任意键退出!\n");//失败

_getch();

free(snode);//释放内存

free(snake);

exit(0);

p=p->next

voidEatfood()//吃到食物

Addtail();

score++;

voidAddtail()//增加蛇尾

structNode*newnode=(structNode*)malloc(sizeof(structNode));

structNode*p=snode;

tail->next=newnode

newnode->x=50

newnode->y=20

newnode->next=NULL//结点加到蛇头

tail=newnode;//新的蛇尾

voiddraw()//画蛇

structNode*p=snode;

inti,j;

while(p!=NULL)

gotoxy(p->x,p->y)

printf("%c",2);

tail=p;

p=p->next

if(snode->x==food->x&&snode->y==food->y)//蛇头坐标等于食物坐标

smark=1;

Eatfood();//增加结点

Initfood();//产生食物

if(smark==0)

gotoxy(tail->x,tail->y)//没吃到食物清除之前的尾结点

printf("%c",'');//如果吃到食物,不清楚尾结点

else

times=1;

if((smark==1)&&(times==1))

gotoxy(tail->x,tail->y)//没吃到食物清除之前的尾结点

printf("%c",'');//如果吃到食物,不清楚尾结点

smark=0;

gotoxy(50,12);

printf("食物: %d,%d",food->x,food->y)

gotoxy(50,5);

printf("分数:%d",score);

gotoxy(50,7);

printf("速度:%d",SPEECH);

gotoxy(15,14);

printf("按o键加速");

gotoxy(15,15);

printf("按p键减速");

gotoxy(15,16);

printf("按空格键暂停");

voidHideCursor()//隐藏光标

CONSOLE_CURSOR_INFOcursor_info={1,0};

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info)

voidHomepage()//绘主页

intx,y;

HideCursor();//隐藏光标

printf("----------------------------------------\n");

printf("|\t\t\t\t|\n");

printf("|\t\t\t\t|\n");

printf("|\t\t\t\t|\n");

printf("|\t\t\t\t|\n");

printf("|\t\t\t\t|\n");

printf("|\t\t\t\t|\n");

printf("|\t\t\t\t|\n");

printf("|\t\t\t\t|\n");

printf("|\t\t\t\t|\n");

printf("|\t\t\t\t|\n");

printf("----------------------------------------\n");

gotoxy(5,13);

printf("任意键开始游戏!按W.A.S.D控制方向");

_getch();

Initsnake();

Initfood();

gotoxy(5,13);

printf("");

voidkeybordhit()//监控键盘

charch;

if(_kbhit())

ch=getch();

switch(ch)

case'W':

case 'w':if(snake->dir==DOWN)//如果本来方向是下,而按相反方向无效

break;

else

snake->dir=UPbreak

case'A':

case 'a':if(snake->dir==RIGHT)//如果本来方向是右,而按相反方向无效

break;

else

snake->dir=LEFTbreak

case'S':

case 's':if(snake->dir==UP)//如果本来方向是上,而按相反方向无效

break;

else

snake->dir=DOWNbreak

case'D':

case 'd':if(snake->dir==LEFT)//如果本来方向是左,而按相反方向无效

break;

else

snake->dir=RIGHTbreak

case'O':

case'o':

if(SPEECH>=150)//速度加快

SPEECH=SPEECH-50;

break;

case'P':

case'p':

if(SPEECH<=400)//速度减慢

SPEECH=SPEECH+50;

break;

case''://暂停

gotoxy(15,18);

printf("游戏已暂停,按任意键恢复游戏");

system("pause>nul")

gotoxy(15,18);

printf("");

break;

default:break;

intmain(void)//程序入口

Homepage();

while(!STOP)

keybordhit();//监控键盘按键

move();//蛇的坐标变化

draw();//蛇的重绘

Sleep(SPEECH);//暂时挂起线程

return0;

扩展资料:

注意事项:

1.代码将源信息转换为易于通信或存储的符号。译码(译码)是还原和译码的过程,它将代码符号转换为接受者能够理解的形式。

2.编码的原因之一是为了在普通语言(口头或书面)难以实现的情况下进行交流。例如,一面旗帜可以用一个特定的标记来表达一个特定的信息,而站在远处的另一个人可以解释标记来重现该信息。

贪吃蛇代码

#include<stdio.h>

#include<process.h>

#include<windows.h>

#include<conio.h>

#include<time.h>

#include<stdlib.h>

#define WIDTH 40

#define HEIGH 12

enum direction{//方向

LEFT,

RIGHT,

UP,

DOWN

}

struct Food{//食物

int x

int y

}

struct Node{//画蛇身

int x

int y

struct Node *next

}

struct Snake{//蛇属性

int lenth//长度

enum direction dir//方向

}

struct Food *food//食物

struct Snake *snake//蛇属性

struct Node *snode,*tail//蛇身

int SPEECH=200

int score=0//分数

int smark=0//吃食物标记

int times=0

int STOP=0

void Initfood()//产生食物

void Initsnake()//构造snake

void Eatfood()//头部前进

void Addnode(int x, int y)//增加蛇身

void display(struct Node *shead)//显示蛇身坐标

void move()//蛇移动

void draw()//画蛇

void Homepage()//主页

void keybordhit()//监控键盘按键

void Addtail()//吃到食物

void gotoxy(int x, int y)//定位光标

{

COORD pos

pos.X = x - 1

pos.Y = y - 1

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos)

}

void Initsnake()//构造snake

{

int i

snake=(struct Snake*)malloc(sizeof(struct Snake))

tail=(struct Node*)malloc(sizeof(struct Node))

food = (struct Food*)malloc(sizeof(struct Food))

snake->lenth=5//初始长度 5

snake->dir=RIGHT//初始蛇头方向 右

for(i=2i<=snake->lenth+2i++)//增加 5 个结点

{

Addnode(i,2)

}

}

void Initfood()//产生食物

void Initfood()//产生食物

{

struct Node *p=snode

int mark=1

srand((unsigned)time(NULL))//以时间为种子产生随机数

while(1)

{

food->x=rand()%(WIDTH-2)+2//食物X坐标

food->y=rand()%(HEIGH-2)+2//食物Y坐标

while(p!=NULL)

{

if((food->x==p->x)&&(food->y==p->y))//如果食物产生在蛇身上

{//则重新生成食物

mark=0//食物生成无效

break

}

p=p->next

}

if(mark==1)//如果食物不在蛇身上,生成食物,否则重新生成食物

{

gotoxy(food->x,food->y)

printf("%c",3)

break

}

mark=1

p=snode

}

}

void move()//移动

{

struct Node *q, *p=snode

if(snake->dir==RIGHT)

{

Addnode(p->x+1,p->y)

if(smark==0)

{

while(p->next!=NULL)

{

q=p

p=p->next

}

q->next=NULL

free(p)

}

}

if(snake->dir==LEFT)

{

Addnode(p->x-1,p->y)

if(smark==0)

{

while(p->next!=NULL)

{

q=p

p=p->next

}

q->next=NULL

free(p)

}

}

if(snake->dir==UP)

{

Addnode(p->x,p->y-1)

if(smark==0)

{

while(p->next!=NULL)

{

q=p

p=p->next

}

q->next=NULL

free(p)

}

}

if(snake->dir==DOWN)

{

Addnode(p->x,p->y+1)

if(smark==0)

{

while(p->next!=NULL)

{

q=p

p=p->next

}

q->next=NULL

free(p)

}

}

}

void Addnode(int x, int y)//增加蛇身

{

struct Node *newnode=(struct Node *)malloc(sizeof(struct Node))

struct Node *p=snode

newnode->next=snode

newnode->x=x

newnode->y=y

snode=newnode//结点加到蛇头

if(x<2||x>=WIDTH||y<2||y>=HEIGH)//碰到边界

{

STOP=1

gotoxy(10,19)

printf("撞墙,游戏结束,任意键退出!\n")//失败

_getch()

free(snode)//释放内存

free(snake)

exit(0)

}

while(p!=NULL)//碰到自身

{

if(p->next!=NULL)

if((p->x==x)&&(p->y==y))

{

STOP=1

gotoxy(10,19)

printf("撞到自身,游戏结束,任意键退出!\n")//失败

_getch()

free(snode)//释放内存

free(snake)

exit(0)

}

p=p->next

}

}

void Eatfood()//吃到食物

{

Addtail()

score++

}

void Addtail()//增加蛇尾

{

struct Node *newnode=(struct Node *)malloc(sizeof(struct Node))

struct Node *p=snode

tail->next=newnode

newnode->x=50

newnode->y=20

newnode->next=NULL//结点加到蛇头

tail=newnode//新的蛇尾

}

void draw()//画蛇

{

struct Node *p=snode

int i,j

while(p!=NULL)

{

gotoxy(p->x,p->y)

printf("%c",2)

tail=p

p=p->next

}

if(snode->x==food->x&&snode->y==food->y)//蛇头坐标等于食物坐标

{

smark=1

Eatfood()//增加结点

Initfood()//产生食物

}

if(smark==0)

{

gotoxy(tail->x,tail->y)//没吃到食物清除之前的尾结点

printf("%c",' ')//如果吃到食物,不清楚尾结点

}

else

{

times=1

}

if((smark==1)&&(times==1))

{

gotoxy(tail->x,tail->y)//没吃到食物清除之前的尾结点

printf("%c",' ')//如果吃到食物,不清楚尾结点

smark=0

}

gotoxy(50,12)

printf("食物: %d,%d",food->x,food->y)

gotoxy(50,5)

printf("分数: %d",score)

gotoxy(50,7)

printf("速度: %d",SPEECH)

gotoxy(15,14)

printf("按o键加速")

gotoxy(15,15)

printf("按p键减速")

gotoxy(15,16)

printf("按空格键暂停")

}

void HideCursor()//隐藏光标

{

CONSOLE_CURSOR_INFO cursor_info = {1, 0}

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info)

}

void Homepage()//绘主页

{

int x,y

HideCursor()//隐藏光标

printf("----------------------------------------\n")

printf("|\t\t\t\t |\n")

printf("|\t\t\t\t |\n")

printf("|\t\t\t\t |\n")

printf("|\t\t\t\t |\n")

printf("|\t\t\t\t |\n")

printf("|\t\t\t\t |\n")

printf("|\t\t\t\t |\n")

printf("|\t\t\t\t |\n")

printf("|\t\t\t\t |\n")

printf("|\t\t\t\t |\n")

printf("----------------------------------------\n")

gotoxy(5,13)

printf("任意键开始游戏!按W.A.S.D控制方向")

_getch()

Initsnake()

Initfood()

gotoxy(5,13)

printf(" ")

}

void keybordhit()//监控键盘

{

char ch

if(_kbhit())

{

ch=getch()

switch(ch)

{

case 'W':

case 'w':if(snake->dir==DOWN)//如果本来方向是下,而按相反方向无效

{

break

}

else

snake->dir=UPbreak

case 'A':

case 'a':if(snake->dir==RIGHT)//如果本来方向是右,而按相反方向无效

{

break

}

else

snake->dir=LEFTbreak

case 'S':

case 's':if(snake->dir==UP)//如果本来方向是上,而按相反方向无效

{

break

}

else

snake->dir=DOWNbreak

case 'D':

case 'd':if(snake->dir==LEFT)//如果本来方向是左,而按相反方向无效

{

break

}

else

snake->dir=RIGHTbreak

case 'O':

case 'o':

if(SPEECH>=150)//速度加快

{

SPEECH=SPEECH-50

}

break

case 'P':

case 'p':

if(SPEECH<=400)//速度减慢

{

SPEECH=SPEECH+50

}

break

case ' '://暂停

gotoxy(15,18)

printf("游戏已暂停,按任意键恢复游戏")

system("pause>nul")

gotoxy(15,18)

printf(" ")

break

default:break

}

}

}

int main(void)//程序入口

{

Homepage()

while(!STOP)

{

keybordhit()//监控键盘按键

move()//蛇的坐标变化

draw()//蛇的重绘

Sleep(SPEECH)//暂时挂起线程

}

return 0

}

事件回放

燃烧着的切尔诺贝利核电站四号机组

1986年4月26日当地时间1点24分,前苏联的乌克兰共和国切尔诺贝利(Чорнобиль,Chernobyl)核能发电厂(原本以列宁的名字来命名)发生严重泄漏及爆炸事故。事故导致31人当场死亡,上万人由于放射性物质远期影响而致命或重病,至今仍有被放射线影响而导致畸形胎儿的出生。这是有史以来最严重的核事故。外泄的辐射尘随着大气飘散到前苏联的西部地区、东欧地区、北欧的斯堪的纳维亚半岛。乌克兰、白俄罗斯、俄罗斯受污染最为严重,由于风向的关系,据估计约有60%的放射性物质落在白俄罗斯的土地。此事故引起大众对于前苏联的核电厂安全性的关注,事故也间接导致了苏联的瓦解。苏联瓦解后独立的国家包括俄罗斯、白俄罗斯及乌克兰等每年仍然投入经费与人力致力于灾难的善后以及居民健康保健。因事故而直接或间接死亡的人数难以估算,且事故后的长期影响到目前为止仍是个未知数。 到2006年,官方的统计结果是,从事发到目前共有4000多人死亡。但是绿色和平组织,基于白俄罗斯国家科学院的数据研究发现,在过去20年间,切尔诺贝利核事故受害者总计达900多万人,随时可能死亡。因此,绿色和平组织认为,官方统计的结果比切尔诺贝利核泄漏造成的死亡人数少了至少9万人,这个数字是官方统计数字的20倍!对于绿色和平组织的“估计”缺乏理论支持。 死亡人数:9.3万人 致癌人数:27万人 经济损失:180亿卢布

编辑本段切尔诺贝利核电站简介

切尔诺贝利核电站(北纬51度23分14秒 东经30度6分41秒)是位于乌克兰普里皮亚季(Прип'ять,Pripyat),切尔诺贝利市西北11英里(18千米),离乌克兰与白俄罗斯边界10英里(16千米),及乌克兰首都基辅(Ки?в,Kiev)以北70英里(110千米)。核电站由四个反应堆组成,每个能产生1千兆瓦特的电能(3千2百兆瓦特的热功率),核事故时四个反应堆共提供了乌克兰10%的电力。厂房的工程始于1970年代,1号反应堆于1977年启用,接着2号(1978年)、3号(1981年)、4号(1983年)亦相继启用。还有两个反应堆(5号及6号,每个能产生10亿瓦特)在事故发生时仍在建造中。 厂房的四个反应堆都是属于同一类型,称为RBMK-1000。

编辑本段事件起因

关于事故的起因,官方有两个互相矛盾的理论。第一个是在1986年8月公布,有效地令事故的指责只归于核电站 *** 作员。第二个则是发布于1991年,认为事故由于压力管式石墨慢化沸水反应堆(简称RMBK)的设计缺陷引致,尤其是控制棒的设计。双方的调查团都被多方面游说,包括反应堆设计者、切尔诺贝利核电站职员及政府。现在一些独立的专家相信两个理论都并非完全正确。 另一个促成事故发生的重要因素是职员并没有收到反应堆问题报告的事实。根据Anatoli·Dyatlov---一名职员所述,设计者知道反应堆在某些情况下会出现危险,但将其蓄意隐瞒。(造成这情况是因为厂房主管广泛地吹嘘未有RMBK资格员工:厂长V.P. Bryukhanov,具有燃煤发电厂的训练和经验。他的总工程师Nikolai Fomin亦是来自一个常规能源厂。Anatoli Dyatlov, 3号和4号反应堆的副总工程师只有“一些小反应堆的经验”,VVER反应堆的小版本即苏联海军的核潜艇的设计。) 在细节中, ⊕反应器有一个危险高正面空系数。简单地说,这意味著如果蒸汽气泡形成在反应器冷却剂中,核反应加速,如果没有其它干预,将会导致逃亡反应。更坏的话,在低功率输出,这个其它因素未补偿正面空系数,会使反应器不稳定和危险。反应器在低功率的危险对工作人员是与预计相反和未知数。 ⊕反应器的一个更加重大的缺陷是在控制棒的设计。在一个核反应堆,控制棒被插入反应堆以减慢核反应。但是,在RBMK反应堆设计,控制棒部分是空心的;当控制标尺被插入时,最初的数秒钟冷却剂被控制棒的空心外壳偏移了。因为冷却剂(水)是中子吸收体,反应堆的输出功率实际上上升。这情况也是与预计相反,而反应堆 *** 作员亦不知情。 ⊕ *** 作员粗心大意并违犯了规程,部分是由于他们未察觉反应堆的设计缺陷。一些程序的不规则促成了事故发生。另一原因是安全干事和负责该夜实验 *** 作员之间的通讯不足。 重要注意的一点,是 *** 作员关上了许多反应堆的安全系统,除非安全系统发生故障,否则这是技术指南所禁止的。1986年8月出版的政府调查委员会报告, *** 作员从反应堆核心至少拿去了204支控制棒(这类型的反应堆共需要211支),留下七支。同样指南(上文提及)是禁止RBMK-1000 *** 作时在核心区域使用少于30支控制棒。

编辑本段事件经过

1986年4月25日,4号反应器预定关闭以作定期维修。并决定在这场合作为测试反应堆的涡轮发电机能力的机会,在电力损失情形下发充足的电供给反应堆的安全系统动力(特别是水泵)。像切尔诺贝利,反应堆有一对柴油发电机可利用作为待命,但并不能瞬间地起动—反应堆将因此被使用转动涡轮,到时涡轮会从反应堆分离和在自己的惯性之下力量转动,而测试的目标是确定当发电器起动时,涡轮是否在减少阶段能充足地供给泵浦动力。测试早先在其它单位执行成功(所有安全供应起动)而结果是失败的(那是涡轮产生了不足的力量在减少阶段供给泵浦动力),但另外的改进提示了对其它测试的需要。 为了在更安全、更低功率地进行测试,切尔诺贝利4号反应器的能量输出从正常功率的3.2千兆瓦特减少至700百万瓦特。但是,由于实验开始的延迟时,反应堆控制员太快地减低能量水平,实际功率输出落到只有30百万瓦特。结果,中子吸引而成的裂变产品氙-135增加了(这产品典型地在更大的功率情况下,在一台反应堆中消耗)。力量下落的标度虽是接近由安全章程允许的最大限制,但员工组的管理者选择不关闭反应堆并继续实验。后来,实验决定“抄捷径”和只上升功率输出到200 百万瓦特。为了克服剩余氙-135的中子吸收,远多于安全章程数量的控制棒由反应堆拔出。在4月26日上午1点05分,作为实验一部分,被涡轮发电机推动的水泵起动了;水的流量由于这行动而超出了安全章程的指定。水流量在上午1点19分增加了—因为水也会吸收中子,在水流量的进一步增加需要手工撤除控制棒,导致一个极不稳定和危险 *** 作条件。 上午1点23分04秒,实验开始了。反应堆的不稳定状态在控制板没有显示任何情况,并且看起来所有反应堆员工并未充分地意识到危险。水泵的电力关闭了,并且被涡轮发电机的惯性推动,水流的速度减低了。涡轮从反应堆分离,反应器核心的蒸汽水平增加。因为冷却剂被加热,个别的蒸汽在冷却剂管道形成。在切尔诺贝利的RBMK石墨缓和反应器的特殊设计有一个高正面空系数,意味著在没有水时的中子吸收的作用使反应堆的力量迅速地增加,并且在这种情况下,反应堆 *** 作变得逐渐变得不稳定和更加危险。上午1点23分40秒 *** 作员按下了命令“紧急停堆”的AZ-5(“迅速紧急防御5”)按钮—所有控制棒的充分的插入,包括之前不小心地拿走的控制棒。这是否作为紧急措施,或只是简单地在实验完成时作为关闭反应堆定期方法,并不清楚(反应堆预定被关闭作为定期维修)。这通常意味著紧急停堆的命令是因为意想不到的迅速力量增量的一个反应。另一方面,总工程师Anatoly·Dyatlov,在事故时身在切尔诺贝利核电站,他写在他的书上: “在1点23分40秒,集中化控制系统之前……没有登记能辩解紧急停堆的任何参量变动。依照陈述委任……会集和分析很多材料,在它的报告,没确定原因为什么命令了紧急停堆。并没有需要寻找原因。反应堆简单地在实验完成时被关闭。” 由于控制棒插入机制(18至20秒的慢速完成),棒的空心部份和冷却剂的临时移位,逃走导致反应率增加。增加的能量产品导致了控制棒管道的变形。棒在被插入以后被卡住,只能进入管道的三分之一,因此无法停止反应。在1点23分47秒,反应堆产量急升至大约30 千兆瓦特,是十倍正常 *** 作的产品。燃料棒开始熔化而蒸汽压力迅速地增加,导致一场大蒸汽爆炸,使反应器顶部移位和受破坏,冷却剂管道爆裂并在屋顶炸开一个洞。为了减少费用,和它的体积太大,反应堆以单一保护层方式兴建。这令放射性污染物在主要压力容器发生蒸汽爆炸而破裂之后进入了大气。在一部分的屋顶炸毁了之后,氧气流入---与极端高温的反应堆燃料和石墨慢化剂被结合—引起了石墨火。这火灾令放射性物质扩散和污染更广的区域。 由于目击者的报告和站内纪录不一致,有一些争论认为确实的事件是发生在当地时间1点22分30。最后共同同意的版本被描述在上面。根据这种理论,第一次爆炸发生了在大约1点23分47秒, *** 作员在七秒以后命令了“紧急停堆”。

编辑本段后事

爆炸发生后,并没有引起苏联官方的重视。在莫斯科的核专家和苏联领导人得到的信息只是“反应堆发生火灾,但并没有爆炸”,因此苏联官方反应迟缓。在事故后48小时,一些距离核电站很近的村庄才开始疏散,政府也派出军队强制人们撤离。当时在现场附近村庄测出了是致命量几百倍的核辐射,而且辐射值还在不停地升高。但这还是没有引起重视。专家宁愿相信是测量辐射的机器故障也不相信会有那么高的辐射。可是居民并没有被告知事情的全部真相,这是因为官方担心会引起人民恐慌。许多人在撤离前就已经吸收了致命量的辐射(若能立即撤离,则可大幅减少受害者数量及程度)。 事故后3天,莫斯科派出的一个调查小组到达现场,可是他们迟迟无法提交报告,苏联政府还不知道事情真相。终于在事件过了差不多一周后,莫斯科接到从瑞典政府发来的信息。此时辐射云已经飘散到瑞典。苏联终于明白事情远没有他们想的那么简单。 之后数个月,苏联政府派出了无数人力物力,终于将反应堆的大火扑灭,同时也控制住了辐射。但是这些负责清理的人员也受到严重的辐射伤害;原因之一为遥控机器人的技术限制,加上严重辐射线造成遥控机器人电子回路失效,因此许多最高污染场所的清理仍依赖人力。

编辑本段即时的影响

由原子炉熔毁而漏出的辐射尘飘过俄罗斯、白俄罗斯和乌克兰,也飘过欧洲的部份地区,例如:土耳其、希腊、摩尔多瓦、罗马尼亚、立陶宛、芬兰、丹麦、挪威、瑞典、奥地利、匈牙利、捷克、斯洛伐克、斯洛文尼亚、波兰、瑞士、德国、意大利、爱尔兰、法国(包含科西嘉)和英国。在最早发生意外的时候,有人认为切尔诺贝利的核泄漏是来自瑞典而不是俄国, 事故后,全欧洲受到核辐射的剂量示意图

1986年4月27日,瑞典Forsmark核电厂工作人员发现异常的辐射粒子粘在他们的衣服上,该电厂距离切尔诺贝利大约1100公里。根据瑞典的研究,内容发现该辐射物并不是来自本地的核能电厂,他们怀疑是俄国核电厂出了的问题。当时瑞典曾透过外交管道向苏联询问,但未获证实。另外,法国政府宣称辐射尘只飘到德国及意大利的边界。因为辐射尘的关系,意大利规定部份农作物禁止人们食用,例如蘑菇。法国政府为了避免引发民众的恐惧,所以没有作出类似的测量。 切尔诺贝利灾难不只污染了周围的乡镇,它还借由气流的帮助,因此能够没有规律地往外面散开。根据俄国及西方科学家的报告指出:掉落在俄国的辐射尘有60%在白俄罗斯。而由TORCH 2006的报告指出有一半的易挥发粒子掉落在乌克兰、白俄罗斯、及俄罗斯以外的地方。在俄罗斯联邦布良斯克(Bryansk)的南方极大的区域和乌克兰北方的部份地区,都被辐射物质污染。 意外发生后,马上有203人立即被送往医院治疗,其中31人死亡,当中更有28人死于过量的辐射。死亡的人大部份是消防队员和救护员,因为他们并不知道意外中含有辐射的危险。为了控制核电辐射尘的扩散,当局立刻派人将135,000人撤离家园,其中约有50,000人是居住在切尔诺贝利附近的普里皮亚特镇居民。卫生单位预测在未来的70年间,受到5–12艾贝克辐射而导致癌症的人,比例将会上升2%。另外,已经有10人因为此次意外而受到辐射,并死于癌症。 俄国科学家报告指出,切尔诺贝利4号机反应炉总共有180至190吨的二氧化铀以及核反应产生的核废料。他们也估计这些物质大约有5%-30%流到外面。但根据曾经到过石棺反应炉做后续处理的清理人(例如Usatenko和Karpan博士)说反应炉内只剩大约5%-10%的物质。反应炉的照片里显示了反应炉完全是空的。因为大火引发的高温,让许多辐射物质冲向大气层高空,并向外四面八方扩散。 在灾难中,负责复原及整理的工作人员,我们将他们称为“清理人”。清理人在清理的过程中接受到非常高剂量的辐射。根据俄罗斯的估计,大约有300,000到600,000的清理人在灾变后的两年内,进入离反应炉30公里的范围内清除辐射污染物。 奖励灾难调查员的苏联纪念章

在被辐射污染的地区里,有许多小孩的辐射剂量高达50 戈雷(Gy)。这是因为他们在喝牛奶的过程中吸收了当地生产而被辐射污染的牛奶,当地牛奶是被碘-131所污染,碘-131的半衰期为8天。许多研究发现白俄罗斯、乌克兰及俄罗斯的小孩也罹患甲状腺癌比例快速增加。根据日本原子d爆炸的事后调查统计预期,在切尔诺贝利地区的白血病在未来的几年内将会增加。但直到目前为止,白血病病例的增加数量还不足以在统计学上推断,并和辐射外泄有关。但是,事实证明了在切尔诺贝利地区里,畸形婴儿的出生率的确是升高了,有调察显示证实是由辐射灾难余后的辐射尘,所导致的结果。

编辑本段事故之后

切尔诺贝利电厂并没有因为4号机组出问题而停止运作,只是封闭了电厂的4号机,并且用200米长的水泥与其他机组隔开,但由于缺乏能源,所以乌克兰政府让其他三个机组继续运作。1991年在2号机组发生一场火警,乌克兰政府当局随后宣布2号机组无法修复,并须终止运作。1996年11月,在乌克兰政府与国际原子能总署的协议下,1号机组停止运作。2000年11月乌克兰政府总统列昂尼德·丹尼洛维奇·库奇马,在一个正式典礼上关闭了3号机组的运作。至此,整个切尔诺贝利发电厂就停止发电,永远不再运作。

未来所需要的维修

损毁的4号机组现正使用石棺水泥围墙保护着以阻止辐射扩散,但这并非是一个永远安全的做法。原因是在于当时以工业遥控机器人搭建的石棺正在严重地变旧。如果石棺倒塌的话,有可能会导致机组释放出有辐射性的尘埃。这些石棺脆弱程度连一阵小型的地震,或一阵强烈的大风,都也可能引至其屋顶倒塌。因此,当局曾经研究出好几种帮助围墙的方案。 根据官方估计,发生事故后的反应炉内大约还有95%的燃料(180公吨),该批燃料的总放射性达约1800万Ci(670 PBq)。 现时残留在内的放射性物质已经硬化成陶瓷状物质。它们主要在事故发生初期时,反应堆的核心碎片能在反应炉内四处流窜,并且和其他灰尘和熔岩状的“燃料覆盖物质”(fuel-containing materials, FCM)构成。现时仍不能够确定这些陶瓷状物质何时会延缓释放放射性物质。 透过秘密的估计,在该核电厂里有至少有4公吨的放射性尘埃。不过,最新的估计已经调查了关于燃料的数量,并保持在反应堆中的份量。一些估计指出,现在安置在燃料反应堆内的总数量,大约只有原先燃料的70%。由于爆炸,国际原子能机构因此失去了那5%的燃料。而且,一些清算人估计原先的燃料5 V10%,只装在这个石棺里面。 至于其他方面,水继续漏入反应炉。在整个反应堆大楼内,被淹没的环境散播出放射性物质。而反应堆大楼的地下室,同时也缓慢地充满被核燃料所污染的物质,并且释放出有放射性的废物水。虽然已经修补了在屋顶上形成的洞口,但是该洞口也只能够在这种情况下继续恶化。 当这个石棺不能透气时,加热比加冷更加容易,这提升了在该核电厂的湿度水平。同时亦在反应炉的高湿度当中,继续腐蚀这个石棺里的混凝土和钢。

进一步倒塌的后果

目前反应炉的废墟楼顶正是由该反应堆大楼所建造。两个所谓“庞大的梁”,不单是支撑了反应炉的屋顶,还支援了其他倚赖架构的回应堆大楼墙。如果回应堆大楼的墙和反应炉的屋顶倒塌,惊人数量的放射性灰尘和粒子将会被直接释放到空气中,令辐射物质毁灭周围的环境。 对反应炉更进一步的威胁的是石棺位置本身就已经很不安全,因为瓦砾正在差不多垂直的位置中,才能够支持它。如果石棺的倒塌,将会进一步加重核电厂的压力,同时散播出放射性物质。 这个石棺除了覆盖已破坏的反应堆,也包含在4号反应堆上的残余放射性物质。当提出一个新的石棺设计时,只能预期最多只有100年的寿命。所以,永久的石棺建设将无疑对工程师来说,是一项具挑战未来多代的工程。

编辑本段永远的噩梦

堵住污染源头是一项艰巨的任务,而清除核辐射尘埃则是另一项艰巨的任务。一年之后,切尔诺贝利核泄漏事故中最先遇难的核电站工作人员和消防员被转移在莫斯科一处公墓内,安葬他们用的是特制的铅棺材!因为他们的遗体成为了足以污染正常人的放射源。 核尘埃几乎无孔不入。核放射对乌克兰地区数千万平方公里的肥沃良田都造成了污染。 乌克兰共有250多万人因切尔诺贝利而身患各种疾病,其中包括47.3多万名儿童。 据专家估计,完全消除这场浩劫对自然环境的影响至少需要800年,而持续的核辐射危险将持续10万年。 在经济 上,前苏联损失了约90亿卢布:善后处理费用40多亿卢布,农业和电力生产损失40多亿卢布。专家估计,除核电站本身的损失外,仅清理一项就得花几十亿美元,如果全部加起来,可能达数百亿美元。 乌克兰切尔诺贝利核电站事故区将对游客开放(但必须穿防护服) 据俄新社12月12日报道,乌克兰紧急情况部部长巴洛加12月12日宣布,从2011年起切尔诺贝利核电站事故地区将对普通游客开放,乌紧急情况部计划组织前往该地区参观的经常性、系统性旅游线路。 乌克兰紧急情况部长巴洛加在陪同联合国开发计划署署长克拉克考察切尔诺贝利地区时宣布,截至今日切尔诺贝利方向仅限于极限旅游,不是大众旅游类型,只针对几家私人公司组织的外国游客开放。巴洛加认为,切尔诺贝利地区领土应当向广大普通游客开放,乌紧急情况部正在进行大量工作,计划到今年年底前汇报工作成果,争取在明年1月份使这种参观成为经常性和系统性的旅游形式。 联合国开发计划署署长克拉克支持乌克兰紧急情况部的旅游倡议,她表示,参观切尔诺贝利地区可以让人们了解悲剧历史,再次认识核设施安全的重要性。虽然这是一段非常悲伤的历史,但这种旅游吸引力同时也具备一定的经济潜力。 切尔诺贝利核电站事故于1986年4月26日发生在乌克兰苏维埃共和国境内,该电站第4发电机组爆炸,核反应堆全部炸毁,大量放射性物质泄漏,成为核电时代以来最大的事故。辐射危害严重,导致事故后前3个月内有31人死亡,之后15年内有6-8万人死亡,13.4万人遭受各种程度的辐射疾病折磨,方圆30公里地区的11.5万多民众被迫疏散。为消除事故后果,耗费了大量人力物力资源。为消除辐射危害,保证事故地区生态安全,乌克兰和国际社会一直在努力。乌紧急情况部长巴洛加指出,用于全部覆盖第4机组的新“掩体”将在2015年全部建成,这是一个长150米,宽260米,高105米拱形建筑,用于全部遮盖第4机组连同此前建造的临时性防护设施“石棺”。“掩体”项目由国际社会捐助支持,建设资金由八国集团和欧洲委员会成员国共28个国家负责筹措,建设基金由欧洲复兴和开发银行管理。该项目经过10多年的选择和论证,目前正在加紧建设,它应当切实有效地保护事故地区周围环境,同时确保可部分安装和拆卸有故障的和不可靠的结构,相信这套综合性防护设施能在2015年建成并使用。此前乌克兰第一副总理克柳耶夫宣布,由于安全要求大幅提高,“掩体”项目总造价已由2004年的5.05亿欧元提高到现在的8.7亿欧元。 联合国开发计划署署长克拉克承诺,联合国今后仍将继续全面支持该项目建设,乌政府也应和国际伙伴就此继续对话。

编辑本段事故区开放

中广网北京1月1日消息 据中国之声《央广新闻》报道,乌克兰政府日前宣布,历史上最严重的核事故现场--切尔诺贝利核电站废墟周围地区将变成一个新的旅游景点。预计切尔诺贝利周围地区从今天起将向游客开放。 1986年乌克兰切尔诺贝利的一座核反应堆发生爆炸。爆炸产生的强大冲击力把反应堆上重达2000吨的盖子炸飞,释放出来的放射性微尘比广岛原子d多400倍。 事故亲历者、工程师尤里·科尼夫回忆当时的情景说:天空色彩缤纷,非常明亮,有橘色、红色、天空蓝、鲜血般的红色犹如彩虹非常美丽。 俄新社摄影记者伊戈科斯汀:当我们靠近第四区,并在上头盘旋,我完全不知道其中的危险,我们飞到第四区上空时,我打开直升机窗户,我当时并不知道犯下大错。我只设法拍了12张照片,回到基辅后,我开始处理照片,我看到底片全都是黑的,没什么色彩,我当时并不知道这些照片全都暴露在放射线中。 切尔诺贝利当地居民尤莉亚玛琪:我记得幼稚园的老师给我们吃碘片,然后父母亲前来接孩子,大家都跑来跑去,但是并不慌张,我们以为顶多离开3天而已,他们要我们上巴士,我清楚记得我得挑选要带走的玩具,我有很多洋娃娃,我想全部带走却不行。我们甚至来不及带保暖衣物。 那么游客目前到切尔诺贝利核电站参观是否还有被辐射的危险?乌克兰政府为什么开发这一旅游项目?中央台记者张加宁、费磊、实习记者张雅佼为此专访了国家核电公司专家委员会委员、国家环保部核安全和环境专家委员会委员郁祖盛。 切尔诺贝利核事故虽然已经过去了20多年,但是惨痛的记忆像是仍在隐隐作痛的伤疤,没有被人们遗忘。核安全专家郁祖盛认为,切尔诺贝利核电站事故的影响远未消除。 郁祖盛:这是全人类第一次大面积的放射性的释放,跑到环境里面去,当时正好刮西风,所以大量的放射性就跑到欧洲去了,欧洲在经过空气对流沉降,大量的放射性经过一段时间的漂移以后落下来,当时东西德还没有合并,西德就发现什么呢?牧草上沾染了放射性牛吃了牧草产生的奶也带有放射性,两个礼拜的牛奶全部倒掉,这是在周边的影响。对当地切尔诺贝利电站当地的影响就是以核电站为中心,30公里范围内几十万人全部迁走,现在事过二十年了,人还没有仍然没有回来,那个地区变成相当于死城。有统计数据表明为了挽救消除这个事故的后果,所花的钱和人力物力大概是建这个核电站的100倍。 有评论认为,乌克兰政府把切尔诺贝利设为一个新的旅游景点是想要促进经济发展,郁祖盛认为,如果把这里作为核安全教育基地,在引导下进行参观,还是安全的。 郁祖盛:应该说他是在保证安全的情况下来进行这种旅游,而这个旅游的目的是要告诉人们核能是一件好事情但是不能再出现核事故,实际上是一种安全的教育,从这个意义来讲,我觉得它是具有积极意义的。不管怎么样所有旅客的安全还是在这个国家的标准范围之内,应该说没有问题,因为事过20年了,真正的核心部位实际上是去不了的,只能到周围看一看,看看二十多年来当时的一遍一遍惨象,不适宜人类居住的城市都变成死城,茅草长的比房子还高,在保留安全情况下搞特定路线的参观应该是可以的,至少不会出现什么大的安全问题。 不过,不同地点的“放射性强度”存在很大变化。从禁区放射性最小的地方到放射性最大的地方,其差距高达1:1000。游客必须在严格的指导下参观,因为其实直到现在,科学界关于核事故对人体的影响的研究还没有完成。 郁祖盛:因为放射性的东西是看不见摸不着的,从表面上来看好像是生态基本上都恢复了,不管动物也好植物也好还是很繁茂的,那么它整个的消除的核放射,核的后果消没消除,这个估计可能不一样。有人说放射性好比说在这个反应堆当中会产生一些二系元素,长周期的放射性元素,所有的放射性无害化主要唯一的一个途径就是衰变,二级衰变周期非常长,虽然量很少,30公里范围之内到现在还没有恢复人类居住,那么对周边的影响和对30公里以外应该说到20年以后的今天没什么影响了,这国际原子能机构和国际卫生组织发表过很多文章,比说对人类疾病,对于癌症做过统计,究竟有多大影响,应该说对于当时切尔诺贝利周围儿童的白血病有明显上升的趋势,其他的癌症并没有做对照并没有明显的自增加,切尔诺贝利长期对人类和生物的后果应该说现在还没法得出一个非常严谨的细分。 我们走进了最危险的无人区。红灯亮了:我们所受的核辐射超标了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11241648.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存