登陆注册
6593100000024

第24章 第二十六话 有些事情确实做不到

没有去地底世界冒险,也没有接受别的任务,整整两个星期,我就宅在大地勇者冒险团的驻地自学c语言,只是偶尔感觉自己快要大脑衰竭的时候,会和铃音她们一起去玩一会儿。

记得曾经我说过我觉得这会是一件有趣的事情,现在我要收回这一句话。自学c语言这件事情一点也不有趣,这说相当无聊的一件事情,而且它还给了我前所未有的强烈挫败感。

整整两个星期,我的收获就是将一个叫做“贪吃蛇”的游戏代码理解透彻,所谓的贪吃蛇是一个很无聊,规则很简单的平面游戏,但是他的c语言程序代码居然有这么长(来自于百度,原作者不详。):

#include<stdio。h>

#include<windows。h>//基本型态定义。支援型态定义函数。使用者界面函数图形装置界面函数。

#include<conio。h>//用户通过按键盘产生的对应操作(控制台)?

#include<stdlib。h>?

#include<time。h>//日期和时间头文件?

#defineLEN30

#defineWID25

intSnake[LEN][WID]={0};//数组的元素代表蛇的各个部位?

charSna_Hea_Dir=‘a‘;//记录蛇头的移动方向

intSna_Hea_X,Sna_Hea_Y;//记录蛇头的位置

intSnake_Len=3;//记录蛇的长度

clock_tNow_Time;//记录当前时间,以便自动移动

intWait_Time;//记录自动移动的时间间隔

intEat_Apple=1;//吃到苹果表示为1

intLevel;

intAll_Score=-1;

intApple_Num=-1;

HANDLEhConsole=GetStdHandle(STD_OUTPUT_HANDLE);//获取标准输出的句柄<windows。h>

//句柄:标志应用程序中的不同对象和同类对象中的不同的实例方便操控,

voidgotoxy(intx,inty)//设置光标位置

{

COORDpos={x,y};//定义一个字符在控制台屏幕上的坐标POS

SetConsoleCursorPosition(hConsole,pos);//定位光标位置的函数<windows。h>

}

voidHide_Cursor()//隐藏光标固定函数?

{

CONSOLE_CURSOR_INFOcursor_info={1,0};?

SetConsoleCursorInfo(hConsole,&cursor_info);

}

voidSetColor(intcolor)//设置颜色

{

SetConsoleTextAttribute(hConsole,color);

//是API设置字体颜色和背景色的函数格式:SetConsoleTextAttribute(句柄,颜色);

}

voidPrint_Snake()//打印蛇头和蛇的脖子和蛇尾

{

intiy,ix,color;

for(iy=0;iy<WID;++iy)

for(ix=0;ix<LEN;++ix)

{

if(Snake[ix][iy]==1)//蛇头

{

SetColor(0xf);//oxf代表分配的内存地址setcolor:34行自定义设置颜色的函数?

gotoxy(ix*2,iy);

printf(“※“);

}

if(Snake[ix][iy]==2)//蛇的脖子

{

color=rand()%15+1;//rand()函数是产生随机数的一个随机函数。C语言里还有srand()函数等。

//头文件:stdlib。h?

if(color==14)

color-=rand()%13+1;//变色?

SetColor(color);

gotoxy(ix*2,iy);

printf(“■“);

}

if(Snake[ix][iy]==Snake_Len)

{

gotoxy(ix*2,iy);

SetColor(0xe);

printf(“≈“);

}

}

}

voidClear_Snake()//擦除贪吃蛇

{

intiy,ix;

for(iy=0;iy<WID;++iy)

for(ix=0;ix<LEN;++ix)

{

gotoxy(ix*2,iy);

if(Snake[ix][iy]==Snake_Len)

printf(““);

}

}

voidRand_Apple()//随机产生苹果

{

intix,iy;

do

{

ix=rand()%LEN;

iy=rand()%WID;

}while(Snake[ix][iy]);

Snake[ix][iy]=-1;

gotoxy(ix*2,iy);

printf(“⊙“);

Eat_Apple=0;

}

voidGame_Over()//蛇死掉了

{

gotoxy(30,10);

printf(“GameOver“);

Sleep(3000);

system(“pause>nul“);

exit(0);

}

voidMove_Snake()//让蛇动起来

{

intix,iy;

for(ix=0;ix<LEN;++ix)//先标记蛇头

for(iy=0;iy<WID;++iy)

if(Snake[ix][iy]==1)

{

switch(Sna_Hea_Dir)//根据新的蛇头方向标志蛇头

{

case‘w‘:

if(iy==0)

Game_Over();

else

Sna_Hea_Y=iy-1;

Sna_Hea_X=ix;

break;

case‘s‘:

if(iy==(WID-1))

Game_Over();

else

Sna_Hea_Y=iy+1;

Sna_Hea_X=ix;

break;

case‘a‘:

if(ix==0)

Game_Over();

else

Sna_Hea_X=ix-1;

Sna_Hea_Y=iy;

break;

case‘d‘:

if(ix==(LEN-1))

Game_Over();

else

Sna_Hea_X=ix+1;

Sna_Hea_Y=iy;

break;

default:

break;

}

}

if(Snake[Sna_Hea_X][Sna_Hea_Y]!=1&&Snake[Sna_Hea_X][Sna_Hea_Y]!=0&&Snake[Sna_Hea_X][Sna_Hea_Y]!=-1)

Game_Over();

if(Snake[Sna_Hea_X][Sna_Hea_Y]<0)//吃到苹果

{

++Snake_Len;

Eat_Apple=1;

}

for(ix=0;ix<LEN;++ix)//处理蛇尾

for(iy=0;iy<WID;++iy)

{

if(Snake[ix][iy]>0)

{

if(Snake[ix][iy]!=Snake_Len)

Snake[ix][iy]+=1;

else

Snake[ix][iy]=0;

}

}

Snake[Sna_Hea_X][Sna_Hea_Y]=1;//处理蛇头?

}

voidGet_Input()//控制蛇的移动方向

{

if(kbhit())

{

switch(getch())

{

case87:

Sna_Hea_Dir=‘w‘;

break;

case83:

Sna_Hea_Dir=‘s‘;

break;

case65:

Sna_Hea_Dir=‘a‘;

break;

case68:

Sna_Hea_Dir=‘d‘;

break;

default:

break;

}

}

if(clock()-Now_Time>=Wait_Time)//蛇到时间自动行走

{

Clear_Snake();

Move_Snake();

Print_Snake();

Now_Time=clock();

}

}

voidInit()//初始化

{

system(“title贪吃毛毛蛇“);

system(“modecon:cols=80lines=25“);

Hide_Cursor();

gotoxy(61,4);

printf(“YouScore:“);

gotoxy(61,6);

printf(“YouLevel:“);

gotoxy(61,8);

printf(“TheLenght:“);

gotoxy(61,10);

printf(“TheSpeed:“);

gotoxy(61,12);

printf(“AppleNum:“);

inti;

for(i=0;i<Snake_Len;++i)//生成蛇

Snake[10+i][15]=i+1;

intiy,ix;//打印蛇

for(iy=0;iy<WID;++iy)

for(ix=0;ix<LEN;++ix)

{

if(Snake[ix][iy])

{

SetColor(Snake[ix][iy]);?

gotoxy(ix*2,iy);

printf(“■“);

}

}

}

voidPri_News()//打印信息

{

SetColor(0xe);

gotoxy(73,4);

All_Score+=Level;

printf(“%3d“,All_Score);

gotoxy(73,6);

printf(“%3d“,Level);

gotoxy(73,8);

printf(“%3d“,Snake_Len);

gotoxy(73,10);

printf(“0。%3ds“,Wait_Time/10);

gotoxy(73,12);

printf(“%d“,Apple_Num);

}

voidLev_Sys()//等级系统

{

if(((Apple_Num-1)/10)==Level)

{

++Level;

if(Wait_Time>50)

Wait_Time-=50;

else

if(Wait_Time>10)

Wait_Time-=10;

else

Wait_Time-=1;

}?

}

intmain(void)

{

Init();

srand((unsigned)time(NULL));//设置随机数的种子

Now_Time=clock();

intspeed1=1000,speed2,a;

printf(“n“);

printf(“请输入你想要的速度n“);

scanf(“%d“,&speed2);

Level=1;

Wait_Time=speed1-speed2;

printf(“请输入你想要的苹果数n“);

scanf(“%d“,&a);

while(a--)

Rand_Apple();

while(1)

{

if(Eat_Apple)

{

++Apple_Num;

Rand_Apple();

Lev_Sys();

Pri_News();

}

Get_Input();

Sleep(10);

}

return0;

}

我现在终于能够理解其中每一句话的意思,但是这并不代表着我能够做出另一个这样的游戏,甚至让我不看这一段然后重新写出这个游戏的程序我都做不到。而另外一个叫做坦克大战的游戏,代码长度是它的三倍,我还不能完全看懂。然而据幽灵娘所说,构成我们这个世界的程序代码长度超过10的17次方个字符,听上去简直就和开玩笑一样。

之前我一直是个天才,我天生神力,五岁就能与大地之灵对话,十岁的时候就在拯救别人,一个月以前我和我的同伴战胜了整个魔族先锋部队。但是我不可能用这种c语言去创造一个世界,这是我做不到的事情,而且我也极度怀疑有人能够做到这件事情。

“幽灵娘,难道就没有别的什么简单一点的事情适合我去做的吗?我已经放弃了,我不可能学会这玩意的。”

“有,一开始我就说过另一个方法,学会简单的编程后,解除强制休眠,回到地球去寻找帮助。如果创造主脑的z博士还活着,他应该能够升级程序的防御系统。”

“等一下,我有好多问题!回到地球是什么意思?是让我去上次死机时感受到的那个世界?”

“不知道,但是很有可能是的。”

“我要怎么过去?传送门还是空间间隙。”

“在F盘里找到解除休眠协议,根据协议中的教程,自行编写一串同意按钮的代码进去,点击同意就行了。”

“为什么还要我自己来写同意按钮的代码?你们之前怎么不直接弄出按钮来?”

“这是z博士的设计,为了防止主脑擅自将你们的休眠解除。”

“好,随便吧,反正这代码看上去挺容易写的。”基本上就是把教程讲述的内容组合一下,但是对编程毫无了解的话,是无法完成这些组合的,果然是用来防备无法编写代码的程序们。

“你写入的代码生效了,按下同意键你的休眠就会结束。”

“等一下,你慌什么。呃,你的语气一点也没慌就是了。我还有很多问题,我能带其他人一起去吗?”

“如果你指的是塞西莉亚它们那些程序,那么不可能。如果你指的是那个叫做岚樱的女性,那么可以。”

带着岚樱去冒险,我疯了?换个话题:“去了之后我怎么回来?”

“不知道,我们没有让你回来的方法,但是你可能可以在那边找到这种方法。”

“那么我去了之后,我现在这个身体会怎么样?像上次我死机时那样发呆,还是被我带去地球?”

“这具身体会失去灵魂,就像你上次死机时那样发呆。”

“好,我明白了。下一个问题,什么叫做‘如果创造主脑的z博士还活着’,他不是创世神吗?创世神也会死?”

“会,而且20年前z博士创造了主脑,当时他是58岁,即便没有发生任何意外,他也有可能因为寿命原因活不到78岁。”

“寿命不到78岁?幽灵娘,你确定你说的是创世神不是平民,一个强大的剑士可以轻松活到一百岁,伊冬的爷爷都活了243岁了,创世神只能活78岁?”

“不是只能活78岁,是可能活不到78岁,z博士是一个人类,同时他也是我们现在所处世界的创造者。”

“听不懂,不过不管了。我总结一下,我现在可以做的事情只有两件,第一件是学会这种c语言。第二种是去那个完全位置的世界——地球,去寻找一个可能还活着的创世神帮忙,而且我还很有可能回不来?”

“你也可以什么都不做,继续你的日常生活,往好的方面想,也许有别的人会拯救世界,然后你就可以顺便活下去。”

“低劣的激将法,但是很有效。我怎么可能把自己和我所保护者的命运交给别人去操作,而且拯救世界这种事情,从来都是勇者去做的。既然我不能安心学会c语言,那么我就去地球冒险好了。塞西莉亚,你现在一定在偷听我说话,去把伊冬、铃音和响子都喊过来,让我和你们道个别。”

“了解,赛曼大人。”屋顶上传来了塞西莉亚迟疑的声音,但她还是离开,去喊人过来。

……

“为了拯救我们的世界,让这些天发生的那些可笑bug不再发生,也为了让我们的世界不会突然消失,我决定去那个叫做地球的世界冒险。而且没有办法带你们一起去,对于我的这个决定,有人反对吗?”

刷的一下举起了四只小手,她们都不同意让我去冒险。

“反对无效,哇,铃音不要咬我的脑袋,我的主意已决决定了,你们只要相信我能够拯救世界,相信我能够找到回来的方法就行了。”

场面陷入了沉默和尴尬之中,铃音倒是没有沉默,她在张牙舞爪的恐吓幽灵娘,但是幽灵娘没有理她就是了。

“在我去地球之后,我的身体会像上次捞金鱼店里那样发呆,你们不用怕,帮我保护好身体就行了。还有铃音,你不要对我的身体做什么奇怪的事情,上次你做的事情我都已经听说了。”

“哞~,才不是什么奇怪的事情,我只是尝一下赛曼的味道,又不会把你吃掉。”

“塞西莉亚,你是大姐姐,我不在的时候,就麻烦你照顾她们了。”

“我了解,冒险团的一切都交给我,赛曼大人您直管安心就好。”不知道抱着怎样的决心,塞西莉亚说出了这样的话。

“响子,我去地球之后,就不能再接受你的挑战了,如果你想要离开,继续你的修炼的话,就只管去吧,我是绝对支持你的。”

“在下是不会离开的。”

“是吗,那也好,那就麻烦你保护大家了。伊冬,趁我不在的时候,你要努力的变得大胆一些才好,如果能够把你讲述魔法知识时的自信用在平常的对话中,那样的伊冬一定会很帅气,虽然现在这样很可爱就是了。”

“我会努力的!大哥哥,你真的要走吗?”

“是真的要走,你们不要这么伤感了,搞的像是我要死一样。其实按照我的预期,顺利的话半个月我就可以回来了。”

“才不是我们弄的像是您要死了,是赛曼大人您自己像是交代遗言一样的说话。”

“哞~,就是就是,赛曼你个大笨蛋,害的我都快哭了。”

“好吧,都是我的错,在我出发之前,我们再一起吃喝玩乐一次,go!go!go!”

“大哥哥,狗狗是什么意思?”

“呃,是英语,就是我最近学的那些东西,不过已经没有什么用了的样子,真是浪费我时间啊。”

……

最后一次的聚会之后,

“幽灵娘,我们出发吧!去地球。”

“你误会了,没有我,只有你一个人去。怎么了,反悔不去了吗?”

“没有,一个人去就一个人去。”

我按下了同意按钮,整个人再次陷入到失去一切的状态之中,就如同我之前死机时那样,但是这一次我已经不再惊慌,等待着苏醒的时刻,等待着去地球冒险找到拯救世界方法的那一刻。

……

大地勇者冒险团驻地,北条响子的房间,

“尊敬的主人,您的敌人赛曼自称去一个叫做地球的世界,他的身体已经进入假死状态。需不需要在下出手杀死他?”

“去地球?有趣,我对于那个叫做地球的世界也是抱着很大的兴趣,响子,如果得到了任何关于地球的消息,第一时间通知我。至于赛曼嘛,就先让他假死着好了。我的幽灵小姐,你说那个赛曼可以顺利回来吗?”

另一个幽灵娘:“……”

同类推荐
  • 转世星辰恋

    转世星辰恋

    我,只是个凡人,为了保护身边的人才会选择变强,我,不是神,只是想要了解真相才会浴血站在巅峰。–星炫这里,没有真正的强者,这里,没有真正的修行世界,但是这里却是最为独特的世界,哭的时候就应该尽情的哭,笑得时候就应该尽情的笑,即使灯红酒绿,即使战火纷飞,即使前方一片鲜血,即使烟尘世俗在怎么黑暗,人世再怎么险恶,总会在黑暗的某个地方拥有真正纯真的光亮,总会拥有打动人心的关键故事,终会有随风心里真正的幻想世界。我要感谢,支持我的人,给我鼓励的人,就算我会失败,但是我不会退缩放弃,路很长,选择也很多,只要坚持,终会成功,因为失败也是成功的经验—随风笔下即使万般同一我也要独自屹立在最为独特的巅峰—随风笔下
  • 我心向帝

    我心向帝

    一位普通的少年因一个未知的声音所迫,来到一个未知的世界,重重迷雾围绕他身,他将破开迷惘,穿越轮回,心之所向,便是归处!
  • 魔灵始尊

    魔灵始尊

    一个没有记忆的少年,被人陷害染煞入魔。少年这才发现,世间最恶的并不是魔,而是人心和贪婪。从此,少年走上了属于他的霸道之路。
  • 恶魔界主

    恶魔界主

    一个恶魔族的少爷,在深渊中长大的他,开始经历杀戮与残忍的生活,家族的变故让他不得不做出选择。身世的谜团逐渐被揭开,身份使他成为了异类,面对自己内心深处那个愿意守护其一生的女子,他到底该如何抉择。命运似乎永远都会在同一个人身上开着不一样的玩笑,逆天亦或是屠神!另一个世界究竟隐藏着什么秘密,这个世界又是怎样的存在?杀戮、热血、一切尽在‘恶魔界主。’
  • 异界之奇异神兵

    异界之奇异神兵

    一个人没了牵挂,死,也许是个不错的选择。主角是一个孤苦的少年,生活窘迫,无奈的抱怨着走着,走到河边,当他看见有人在对一位女孩施暴时,内心的的怨气化作了怒火朝着凶徒走了过去,生活的窘迫让他没有营养,根本不是凶徒的对手,他被打的浑身见血,他此刻心里想着“大概我就要死了吧,太好了”余光看见了那个女孩一眼,一咬牙,使出最后的力气抱着凶徒跳入了河中···········咦~这是哪里!
热门推荐
  • 平行空间:校园女神逆袭记

    平行空间:校园女神逆袭记

    本是性情懦弱的普通女孩,却在无意间同另一个人交换身份!从此,林绯的生活彻底改变了。全班第一很吊?姐姐甩你一脸满分!富二代校花很牛?美貌加逆天身家亮瞎你狗眼!顺带拐带美男少将一只——“帅哥,交个朋友呗!”林绯抛出一个媚眼,下一秒却被慕上校搂在怀里:“我不交女朋友,我只娶老婆。”
  • 冷情首席别来无恙

    冷情首席别来无恙

    她嫁给了她爱的人,却成了整个榕城的笑话。人人都知道傅家三少爷薄情无心,唯一在意的只有苏妍,她的表姐,而她连做替代品都不配。“顾惜,别忘了你的身份。”“顾惜,如果你敢动她半分,我一定叫你后悔终身!”苏妍回来,她立刻没有立足之地;苏妍受了伤害,他第一个迁怒她,她百口莫辩。可他不知道,他从一开始就给她划了界限,她连一丝幻想都不敢有,又怎么敢加害她?她早知道,她与苏妍的名字放在一起都是不配,可当她生命垂危,他却毫不犹豫地选择了苏妍时,她到底心死了。那之后,她人间蒸发,那个男人却慌了。直至多年后再见,他把她拦在角落乞求,“再给我一次机会好吗?”她却笑了,“曾经爱你的那个人死了,被你杀死了。”从前,她怕看到他痛苦,如今却只想看他痛苦。
  • 末日之境

    末日之境

    世界在末日之时,101位英雄拯救了世界,这新世界早已与原来世界不同,寒风在一次奇遇之中踏上了属于自己的道路。
  • 复仇之美人无心

    复仇之美人无心

    人生没有或许,也无法重来……所以我还在等一个人,一个陌生人……还在等一个答案,他说过‘我还会来找你的,等我’。可是……他,真的是我的一个梦吗?梦醒了,虽然难过,但终究是梦。而我,是活在现实中的。他不来找我,我也找不到他,既然如此,就到此为止吧。我爱的人,必须一心一意的爱我。无论什么人什么事,他必须一心一意护着我,无论我对与错。如果他不行,我就换人。或许过程会很痛苦,但是,我求的就是一心一意,一如爹爹对娘亲那般。
  • 宝贝:宠你上瘾

    宝贝:宠你上瘾

    由于某些原因,本文无限期暂停,不知何时恢复,我表示非常抱歉,亲们可以弃坑。
  • 神域天骄

    神域天骄

    【2016火爆爽文】神域批斗大会,北堂羽成众矢之的——仙宗长老捧着空空如也的丹炉痛骂道:“强盗,强盗,十恶不赦的强盗!”古武世家的公子哥捂着被打得臃肿的脸颊咬牙切齿道:“北堂羽欺人太甚,我要杀了他!”某域第一美女手持长剑指着北堂羽怒道:“娶我或者死,你自己选择!”重生这一世,男人要杀他,女人要嫁他,甚至连妖怪都要睡他,北堂羽表示亚历山大!
  • 稻盛和夫的经营法宝

    稻盛和夫的经营法宝

    本书从独特的视角,清晰地再现了稻盛和夫的经营哲学,深刻地剖析了阿米巴经营理念。无论是有志创业者,还是渴望汲取经验助己之力以取得更大成功的经营者,皆可从中得到有益之启发与可鉴之良方。
  • 无花果的童年

    无花果的童年

    关与一个家境一般男孩,因高烧,造成轻微障碍。后在十年后慢慢恢复,且家境日下。在这十年里发生的事,和之后的事,以及起因。
  • 独爱缉捕:瘾上亿万少夫人

    独爱缉捕:瘾上亿万少夫人

    从六岁开始,时溪追在容司景后头跑了十几年。她让他做她男朋友,他乖乖照办,她让他跟她结婚,他没有异议。可当她想跟他离婚时,‘乖巧听话’的男人突然变了脸。他说:“时溪,你欠我的,要用一辈子来还。”她无语又有点生气:“我对你千般好万般好,要欠也是你欠我好不好?”没想到男人一把将她压在了床上,暧昧低语:“我还,拿一辈子来还。”
  • 玉箫有情

    玉箫有情

    因为一杆玉箫,他名震武林,因为一杆玉箫,他惨遭灭门;因为一杆玉箫,迎回北狩太上皇;因为一杆玉箫,大明朝风雨飘摇;因为一杆玉箫,他将生命奉献朝廷换来两国几十年太平。玉箫有情,人亦多情.