C语言的三维数组的应用_第1页
C语言的三维数组的应用_第2页
C语言的三维数组的应用_第3页
C语言的三维数组的应用_第4页
C语言的三维数组的应用_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 C语言的三维数组的应用摘要:利用程序语言【C语言】编写一个俄罗斯方块游戏,加深对程序入口、出口的理解和编制,掌握数组的运用,以及对知识的拓展。关键字:C语言,俄罗斯方块,三维数组Abstract:Cprogramminglanguage-languagepreparedbyaRussianboxgame,understandtheproceduresforimport,exportofunderstandingandpreparation,mastertheuseofthearray,andtheexpansionofknowledge.Keyword:Clanguage,theRussia

2、nbox,three-dimensionalarray前言:本设计是为了制作一个“俄罗斯方块”游戏。俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。这款游戏最初是由苏联的游戏制作人AlexPajitnov制作的,它看似简单但却变化无穷,令人上瘾。相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。制作此软件是为了使用户既能感受到游戏中的乐趣,也给用户提供了一个展现自己高超技艺的场所。在毕业论文选题上,我利用c语言制作俄罗斯方块游戏,在c语言中通过利用三维数组来存放最初的形状,利用四个方向键,来控制方块的移动和变形,

3、利用ENTER,ESC,SPACE,HOME,来控制占停,退出,快速下落,和开始。方块的形状,颜色都是随机的。在游戏的旁边有积分,和下一个的形状,还设计了过关,加分等等。系统进入游戏后,会出现俄罗斯方块的字样,和积分NUMBER,NEXTBOX。按ESC退出游戏,结束出现GAMEOVER,和成员名,通过函数实现各个功能。目录一概述俄罗斯方块的题目的描述俄罗斯方块的设计思想1.2.1详细规则、胜负判定方法游戏操作方法1.3开发工具1.4软件运行环境1.5项目任务书二、总体设计开发与设计的总体思想2.2系统模块结构图2.3模块设计2.3.1主要模块图形修饰模块系统流程图2.3.4按键及功能对照表2

4、.3.5主要函数名称以及功能表2.4模块设计小结三、实验结果分析及程序代码四、结果分析:五、总结六、参考文献:一、概述:1.1俄罗斯方块的题目的描述1.运行游戏时.界面随机的产生不同形状的方块,游戏者通过自己的操作使方块进行合理的堆积.如果每层达到饱和状态的时候会自动消除.然后游戏有规则的进行加分.分数达到一定的阶段.游戏的级别也会越来越高.然后方块下降的速度也会随之慢慢加快.以迎合游戏者的挑战,达到最加有趣的游戏!1.2俄罗斯方块的设计思想游戏是用来给大家娱乐的,所以要能在使用的过程中给大家带来快乐,消除大家的疲劳,所以我们在游戏中添加了漂亮的场景和动听的音乐,设置了过关升级的功能,激发大家

5、的娱乐激情。从游戏的基本玩法出发,主要就是俄罗斯方块的形状和旋转,利用三维数组每个方块含有各自的状态,变换只需改变到下一个状态就行了,完全可以用数组来实现(不用写旋转算法了:)比如:/*方块类型为*/char244B1=0,1,0,0,口口0,1,0,0,口口0,1,0,0,0,1,0,0,0,0,0,0,1,1,1,1,“0,0,0,0,0,0,0,0;含两种状态,每个状态是一个4*4数组,为1表示实心,为0表示空心.因此我们总共设计了7种造型,每种造型又可以通过旋转而变化出2到4种形状,利用随机函数在一个预览窗体中提前展示形状供用户参考,然后将展示的形状复制到游戏窗体中进行摆放,在游戏窗体

6、中用户就可以使用键盘的方向键来控制方块的运动,然后利用递归语句对每一行进行判断,如果有某行的方块是满的,则消除这行的方块,并且使上面的方块自由下落,其中,方块向下的速度是有时钟控件控制的,在游戏中,用户也可以使用向下键加快下落速度,定义一个变量,对消除的函数进行记录,最后就可以得出用户的分数,用f语句对分数判断,达到一定的积分就可以升级到下一个档次。俄罗斯方块游戏设计的主要步骤为以下几个方面:(1)游戏界面的设计。(2)俄罗斯方块的造型。(3)俄罗斯方块的旋转。(4)俄罗斯方块的运动情况(包括向左,向右和向下)。(5)俄罗斯方块的自动消行功能。(6)游戏级别的自由选择。(7)游戏速度的自由选择

7、。(8)游戏得分的计算。(9)游戏菜单选项的设计及功能实现。13开发环境:硬件环境:一台电脑386,486,586及兼容机以上,包括键盘、鼠标,最小硬盘空间1G,内存32M以上。软件环境:本系统的设计采用的是C语言开发,Windows操作系统,win-tcv1.9.1以上二、总体设计:开发与设计的总体思想:程序的设计方法是采用结构化程序设计方法,用c语言进行开发。系统模块结构图:彳我罗斯游戏(主调部分)LJ形修饰模块、简单的图形界面LJ商数模块函数的建立及其芒能实现箔戏设计游戏界面的建立占其实现2.3模块设计:2.3.1主要模块:先画出主要窗口界面,由外边框、盒状收缩,百页窗效果、主题字及功能

8、函数组成。根据函数顺序来完成相应功能,进入游戏(先建立游戏界面,屏幕提示选择按任意键开始游戏,);游戏规则(满一行加一分);最后是工作人员(显示小组人员名单后返回主界面);最后按任意键结束整个游戏系统。图形修饰模块:如下图示:2.3.3系统流程图:如下图示:开始简单图形界面游戏主界面2.3.4按键及功能对照表:名称作用Up上键变形Down下键下落Esc退出Enter暂停Left左移Right右移Space直速下落2.3.5主要函数名称以及功能表:函数函数作用说明boxrad()随机得到当前方块和下个方块的形状和方向init()初始化图形模式cls()在图形模式下的清屏clscr()在图形模式下

9、的高级清屏minbox()最小方块的绘制box()最小方块的高级绘制txt()游戏中出现的文字win()界面的绘制re90()把方块的方向旋转fx个90度(fx最大等于3)funbox()当前方块的绘制nextfunbox()下一个方块的绘制interruptnewhandler()时间中断定义delcol()由于游戏的规则,消掉都有最小方块的一行*numgochar()把数字转换为字符串delete。消掉所有都有最小方块的行KillTimer()时间中断结束downok()测试当前方块是否可以向下落leftok()测试当前方块是否可以向左行rightok()测试当前方块是否可以向右行upok

10、()测试当前方块是否可以变形setgril()当前方块落下之后,给屏幕坐标作标记gameover()游戏结束callkey()按键的设置timezd()时间中断开始byc()百叶窗函数hzss()盒状收缩代码showword()调用点阵函数,在指定位置上输出汉字prepword()开辟内存空间moveword()移动文字main()主程序开始2.4、模块设计小结由上述模块分析和设计可知,本游戏的核心模块是主界面模块,图形修饰模块与函数模块均是为其而服务。三、实验结果分析及程序代码#include#include#include#include#include#defineMINBOXSIZE2

11、0/*最小方块的尺寸*/#defineBGCOLOR6/*背景着色*/#defineGX200#defineGY10#defineSJNUM10000/*每当玩家打到一万分等级加一级*/*按键码*/#defineVK_LEFT0 x4b00/*左*/#defineVK_RIGHT0 x4d00/*右*/#defineVK_DOWN0 x5000/*下*/#defineVK_UP0 x4800/*上*/#defineVK_SPACE0 x3920/*空格*/#defineVK_ESC0 x011b/*退出*/#defineVK_ENTER0 x1c0d/*回车*/*定义俄罗斯方块的方向(我定义他

12、为4种)*/#defineF_DONG0/*东*/TOC o 1-5 h z#defineF_NAN1/*南*/#defineF_XI2/*西*/#defineF_BEI3/*北*/#defineNEXTCOL20/*要出的下一个方块的纵坐标*/#defineNEXTROW12/*要出的下一个方块的横坐标*/#defineMAXROW14/*游戏屏幕大小*/#defineMAXCOL20#defineSCCOL50/*游戏屏幕在显示器上的相对位置*/#defineSCROW30#defineX_Z0/*定义方块的形状(共八种)*/#defineX_REZ1#defineX_72#defineX

13、_RE73#defineX_I4#defineX_REI5#defineX_TIAN6#defineX_T7void*buf;/*定义无类型指针,用于将来指向内存空间*/intgril2216;/*游戏屏幕坐标*/intcol=1,row=7;/*当前方块的横纵坐标*/intboxfx=0,boxgs=0;/*当前方块的形状和方向*/intnextboxfx,nextboxgs,maxcol=22;/*下一个方块的形状和方向*/intminboxcolor,nextminboxcolor;/*小、方块的颜色,卞一个小方块的颜色*/intnum=0;/*游戏分*/intdj=0,gamedj10

14、=18,16,14,12,10,8,6,4,2,1;/*游戏等级*/Structallintx,y;intfangxiang;/*方向*/intgesu;/*第几个方块*/;/*以下我用了一个3维数组来纪录方块的最初形状和方向*/intboxstr844=0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,

15、0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,0;/*随机得到当前方块和下一个方块的形状和方向*/voidboxrad()minboxcolor=nextminboxcolor;/*下一个方块的颜色*/boxfx=nextboxfx;/*下一个方块的方向*/boxgs=nextboxgs;/*下一个方块是第几个方块*/nextminboxcolor=random(16);/*随机产生下一个方块的颜色*/if(nextminboxcolor=6|nextminboxcolor=7

16、)/*如果颜色是棕色或淡灰色*/nextminboxcolor=9;/*将其改为淡蓝色*/nextboxfx=random(4);/*随机产生下一个方块的方向*/nextboxgs=random(8);/*随机产生下一个方块是第几个方块*/*初始化图形模式*/voidinit(void)intgh=DETECT,gm=0;interrorcode;registerbgidriver(EGAVGA_driver);initgraph(&gh,&gm,);/*在图形模式下的清屏*/voidcls()setfillstyle(SOLID_FILL,0);/*以背景颜色实填充*/setcolor(0)

17、;bar(0,0,640,480);/*基本图形函数*/*在图形模式下的高级清屏*/voidclscr(inta,intb,intc,intd,intcolor)setfillstyle(SOLID_FILL,color);/*以color颜色实填充*/setcolor(color);/*设置当前前景色为color*/bar(a,b,c,d);/*基本图形函数*/*最小方块的绘制*/voidminbox(intasc,intbsc,intcolor)inta=0,b=0;a=SCCOL+asc;/*SCCOL50,SCROW30游戏屏幕在显示器上的相对位置*/b=SCROW+bsc;clscr

18、(a+1,b+1,a-1+MINBOXSIZE,b-1+MINBOXSIZE,color);/*MINBOXSIZE20最小方块的尺寸*/if(color!=BGCOLOR)/*如果当前色是背景色,将其改为白色*/setcolor(15);line(a+1,b+1,a-1+MINBOXSIZE,b+1);line(a+1,b+1,a+1,b-1+MINBOXSIZE);setcolor(0);line(a-1+MINBOXSIZE,b+1,a-1+MINBOXSIZE,b-1+MINBOXSIZE);line(a+1,b-1+MINBOXSIZE,a-1+MINBOXSIZE,b-1+MINB

19、OXSIZE);/*最小方块的高级绘制*/voidbox(inta,intb,intcolor)clscr(a+1,b+1,a-1+MINBOXSIZE,b-1+MINBOXSIZE,color);setcolor(15);line(a+1,b+1,a-1+MINBOXSIZE,b+1);line(a+1,b+1,a+1,b-1+MINBOXSIZE);setcolor(0);line(a-1+MINBOXSIZE,b+1,a-1+MINBOXSIZE,b-1+MINBOXSIZE);line(a+1,b-1+MINBOXSIZE,a-1+MINBOXSIZE,b-1+MINBOXSIZE);

20、/*游戏中出现的文字*/voidtxt(inta,intb,char*txt,intfont,intcolor)setcolor(color);settextstyle(0,0,font);outtextxy(a,b,txt);/*windows绘制*/voidwin(inta,intb,intc,intd,intbgcolor,char*text,intfont,inttextcolor)clscr(a,b,c,d,7);clscr(a+3,b+24,c-3,d-3,bgcolor);clscr(a+3,b+3,c-3,b+20,9);setcolor(15);line(a,b,c,b);l

21、ine(a,b,a,d);line(a+2,b+21,c-2,b+21);line(c-2,b+2,c-2,b+21);line(a+2,d-2,c-2,d-2);line(c-2,b+23,c-2,d-2);txt(a+5,b+8,text,font,textcolor);setcolor(0);line(a,d,c,d);line(c,b,c,d);line(a+3,b+2,c-3,b+2);line(a+2,b+2,a+2,b+20);line(a+2,b+24,a+2,d-2);line(a+2,b+23,c-3,b+23);/*把方块的方向旋转fx个90度(fx最大等于3)*/voi

22、dre90(intboxxy44,intfx)inti,j,k,zero;inta44;for(k=0;kfx;k+)for(i=0;i4;i+)for(j=0;j4;j+)aij=boxxy3-ji;for(i=0;i4;i+)for(j=0;j4;j+)boxxyij=aij;for(i=0;i4;i+)zero=1;for(j=0;j4;j+)if(boxxyj3!=0)zero=0;if(zero)for(j=0;j4;j+)boxxyj3=boxxyj2;boxxyj2=boxxyj1;boxxyj1=boxxyj0;boxxyj0=0;/*当前方块的绘制*/voidfunbox(i

23、nta,intb,intcolor)inti,j;intboxz44;for(i=0;i4;i+)for(j=0;j4;j+)boxzij=boxstrboxgsij;re90(boxz,boxfx);for(i=0;i4;i+)for(j=0;j4;j+)if(boxzij=1)minbox(j+row+a)*MINBOXSIZE,(i+col+b)*MINBOXSIZE,color);/*下一个方块的绘制*/voidnextfunbox(inta,intb,intcolor)inti,j;intboxz44;for(i=0;i4;i+)for(j=0;j4;j+)boxzij=boxstr

24、nextboxgsij;re90(boxz,nextboxfx);for(i=0;i4;i+)for(j=0;j1;i-)for(j=1;j=1;i+)ai=0+(x%10);x=x/10;for(j=0;j=i/2;j+)k=aj;aj=ai-j;ai-j=k;ai+1=0;return(a);/*消掉所有都有最小方块的行*/voiddelete()inti,j,zero,delgx=0;char*nm;for(i=1;i21;i+)zero=0;for(j=1;j15;j+)if(grilij=0)zero=1;if(zero=0)delcol(i);delgx+;num=num+delg

25、x*delgx*10;dj=num/10000;nm=numgochar(num);clscr(456,173,500,200,BGCOLOR);txt(456,173,Number:,1,15);txt(456,193,nm,1,15);/*时间中断结束*/voidKillTimer()disable();setvect(TIMER,oldhandler);enable();/*测试当前方块是否可以向下落*/intdownok()inti,j,k=1,a44;for(i=0;i4;i+)for(j=0;j4;j+)aij=boxstrboxgsij;re90(a,boxfx);for(i=0

26、;i4;i+)for(j=0;j4;j+)if(aij&grilcol+i+1row+j)k=0;return(k);/*测试当前方块是否可以向左行*/intleftok()inti,j,k=1,a44;for(i=0;i4;i+)for(j=0;j4;j+)aij=boxstrboxgsij;re90(a,boxfx);for(i=0;i4;i+)for(j=0;j4;j+)if(aij&grilcol+irow+j-1)k=0;return(k);/*测试当前方块是否可以向右行*/intrightok()inti,j,k=1,a44;for(i=0;i4;i+)for(j=0;j4;j+)

27、aij=boxstrboxgsij;re90(a,boxfx);for(i=0;i4;i+)for(j=0;j4;j+)if(aij&grilcol+irow+j+1)k=0;return(k);/*测试当前方块是否可以变形*/intupok()inti,j,k=1,a44;for(i=0;i4;i+)for(j=0;j=0;i-)for(j=3;j=0;j-)if(aij&grilcol+irow+j)k=0;return(k);/*当前方块落下之后,给屏幕坐标作标记*/voidsetgril()inti,j,a44;funbox(0,0,minboxcolor);for(i=0;i4;i+

28、)for(j=0;j4;j+)aij=boxstrboxgsij;re90(a,boxfx);for(i=0;i4;i+)for(j=0;j=0;i-)for(j=2;j3)boxfx=0;funbox(0,0,minboxcolor);break;caseVK_LEFT:/*左方向键,纵坐标减一*/if(leftok()row-;funbox(0,0,minboxcolor);break;caseVK_RIGHT:/*右方向键,纵坐标加一*/if(rightok()row+;funbox(0,0,minboxcolor);break;caseVK_SPACE:/*空格键,直接落到最后可以落到

29、的们置*/while(downok()col+;funbox(0,0,minboxcolor);setgril();nextfunbox(NEXTCOL,NEXTROW,BGCOLOR);boxrad();nextfunbox(NEXTCOL,NEXTROW,nextminboxcolor);delete();break;default:win(423,53,620,95,15,EnterKeyError!,1,15);txt(428,80,PleseEnterAnlyKeyAG!,1,4);getch();clscr(420,50,622,97,BGCOLOR);/*时间中断开始*/void

30、timezd(void)intkey;SetTimer(newhandler);boxrad();nextfunbox(NEXTCOL,NEXTROW,nextminboxcolor);for(;)if(bioskey(1)key=bioskey(0);funbox(0,0,BGCOLOR);if(key=VK_ESC)break;call_key(key);if(TimerCountergamedjdj)TimerCounter=0;if(downok()funbox(0,0,BGCOLOR);col+;funbox(0,0,minboxcolor);elseif(col=1)gameove

31、r();getch();break;setgril();delete();funbox(0,0,minboxcolor);col=1;row=7;funbox(0,0,BGCOLOR);nextfunbox(NEXTCOL,NEXTROW,BGCOLOR);boxrad();nextfunbox(NEXTCOL,NEXTROW,nextminboxcolor);/*百叶窗函数*/voidbyc(void)inti,j;for(i=0;i40;i+)for(j=0;j640;j=j+40)/*每隔40像素画一条线*/setcolor(BLUE);/*设置前景色*/line(j+i,0,j+i,4

32、79);delay(500);/*盒状收缩代码*/voidhzss(void)intx1=0,y1=0,x2=639,y2=479;setcolor(1);for(;y1=0&y1=0&x2=639&y2=479;x1-,y1-,x2+,y2+)rectangle(x1,y1,x2,y2);delay(1000);voiddrawmat(char*mat,intmatsize,intx,inty,intcolor)/*汉字点阵输出函数*/inti,j,k,m;m=(matsize-1)/8+1;for(j=0;jmatsize;j+)for(i=0;im;i+)for(k=0;kk)putpi

33、xel(x+i*8+k,y+j,color);charzu48H=/*以下是组的48点阵黑体字模,288byte*/;charzhang_48H=/*以下是长的48点阵黑体字模,288byte*/;chardian48H=/*以下是:的48点阵黑体字模,288byte*/;charyuan_48H=/*以下是员的48点阵黑体字模,288byte*/;charzhang48K=/*以下是张的48点阵楷体_GB2312字模,288byte*/;charfang48K=/*以下是方的48点阵楷体_GB2312字模,288byte*/;charyuan48K=/*以下是元的48点阵楷体_GB2312字

34、模,288byte*/;charjie48K=/*以下是解的48点阵楷体_GB2312字模,288byte*/;charying48K=/*以下是莹的48点阵楷体_GB2312字模,288byte*/;charzhao48K=/*以下是赵的48点阵楷体_GB2312字模,288byte*/;charjing48K=/*以下是静的48点阵楷体_GB2312字模,288byte*/;chartao48K=/*以下是陶的48点阵楷体_GB2312字模,288byte*/;charyuan_48K=/*以下是园的48点阵楷体_GB2312字模,288byte*/;charhuo48K=/*以下是霍的4

35、8点阵楷体_GB2312字模,288byte*/;charshuai48K=/*以下是帅的48点阵楷体_GB2312字模,288byte*/;chare64H=/*以下是俄的64点阵黑体字模,512byte*/;charluo64H=/*以下是罗的64点阵黑体字模,512byte*/;charsi64H=/*以下是斯的64点阵黑体字模,512byte*/;charfang64H=/*以下是方的64点阵黑体字模,512byte*/;charkuai64H=voidyouximing(void)intx=80,y=200,color=1,space=100;drawmat(e64H,64,x,y,

36、color);drawmat(luo64H,64,x+=space,y,color);/*以下是块的64点阵黑体字模,512byte*/;drawmat(si64H,64,x+=space,y,color);drawmat(fang64H,64,x+=space,y,color);drawmat(kuai64H,64,x+=space,y,color);voidshow_word(void)/*调用点阵函数,在指定位置上输出汉字*/intx=0,y=0,color=15,space=50;drawmat(zu48H,48,x,y,color);drawmat(zhang_48H,48,x+=s

37、pace,y,color);drawmat(dian48H,48,x+=space,y,color);drawmat(zhang48K,48,x+=space/2,y,color);drawmat(fang48K,48,x+=space,y,color);drawmat(yuan48K,48,x+=space,y,color);x=0;y=70;drawmat(zu48H,48,x,y,color);drawmat(yuan_48H,48,x+=space,y,color);drawmat(dian48H,48,x+=space,y,color);drawmat(jie48K,48,x+=sp

38、ace/2,y,color);drawmat(ying48K,48,x+=space,y,color);drawmat(ying48K,48,x+=space,y,color);x=0;y=140;drawmat(zhao48K,48,x,y,color);drawmat(jing48K,48,x+=space-10,y,color);drawmat(tao48K,48,x+=space,y,color);drawmat(yuan_48K,48,x+=space-10,y,color);drawmat(huo48K,48,x+=space,y,color);drawmat(shuai48K,4

39、8,x+=space-10,y,color);voidprep_word(void)/*开辟内存空间*/unsignedsize;cleardevice();show_word();size=imagesize(0,0,270,260);/*计算局部图像大小,单位字节*/while(1)buf=malloc(size);/*在内存中开辟空间,并将返回空间地址*/if(size!=-1&buf)/*如果开辟成功则退出循环,确保空间的开辟成功*/break;getimage(0,0,270,260,buf);/*将图像存入buf所指向的内存空间*/voidmove_word(void)inti;c

40、leardevice();/*在图形模式下清屏*/sleep(1);/*程序等待1秒*/for(i=0;i=160;i-)delay(10);putimage(180,i,buf,COPY_PUT);/*将buf所指向的空间内容显示在屏幕的指定位置上*/setcolor(15);settextstyle(0,0,1);outtextxy(230,360,Anykeytocontinue.);getch();/*主程序开始*/voidmain(void)inti,j,color=7;char*nm;init();cls();hzss();/*盒状收缩代码*/*屏幕坐标初始化*/for(i=0;i

41、=MAXCOL+1;i+)for(j=0;j=MAXROW+1;j+)grilij=0;for(i=0;i=MAXCOL+1;i+)grili0=1;grili15=1;for(j=1;j=MAXROW;j+)gril0j=1;gril21j=1;clscr(0,0,640,480,15);win(1,1,639,479,BGCOLOR,1,15);youximing();getch();win(1,1,639,479,BGCOLOR,1,15);setcolor(color);for(i=0;i=21;i+)for(j=0;j=15;j+)if(grilij=1)box(j*MINBOXSI

42、ZE+SCCOL,i*MINBOXSIZE+SCROW,color);nextboxgs=random(8);nextboxfx=random(4);nm=numgochar(num);txt(456,173,Number:,1,15);txt(456,193,nm,1,15);txt(456,243,NextBox:,1,15);timezd();KillTimer();byc();/*百叶窗*/prep_word();move_word();closegraph();四、结果分析:此游戏游戏界面清晰,操作简单、易学、有趣。此游戏是本人参照学习“二维俄罗斯方块参考文件”和“三维俄罗斯方块算法

43、”总结而来的,较二维数组算法和三维数组算法相比,二维数组算法繁琐、但适合初学者,三维算法清晰易懂,因此本人采用三维数组算法。3在有些机器上运行不了,或运行一半就死机,可能是机器的DOS版本低,从新安装一个高版本的,问题就能解决。4.如用C语言编程软件运行代码,请用WINTC191版本;否则程序运行会出错。五、总结在毕业设计的这段时间里,这是我第一次系统地,完整的接触软件设计的全过程。我的选择在c语言中“俄罗斯方块游戏”的设计。我主要解决(1)游戏界面的设计(2)俄罗斯方块的造型(3)游戏级别的自由选择(4)游戏速度的自由选择(5)游戏的背景音乐。在这次课程设计中,我的能力得到了锻炼,自己也有许多体会。这次的课程设计是自己第一次全面接触软件的制作过程。以前仅仅是对软件的开发有一个大体的印象,通过这次的课程设计,我对软件的开发有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论