俄罗斯方块游戏的设计与实现总结.doc_第1页
俄罗斯方块游戏的设计与实现总结.doc_第2页
俄罗斯方块游戏的设计与实现总结.doc_第3页
俄罗斯方块游戏的设计与实现总结.doc_第4页
俄罗斯方块游戏的设计与实现总结.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

俄罗斯方块游戏的设计与实现总结1游戏设计人员及具体分工 游戏参与人员: 刘丹:负责整个游戏的数据结构设计与文档起草与修改及部分编码。 葛瑞:负责俄罗斯方块游戏的界面绘制,并参与部分文档的编写和代码编写。 王书林:负责游戏的设计,代码的整合,部分游戏的实现以及一些文档的编写。 李震:负责整个游戏的测试工作以及测试计划和文档的编写。 郑舒:负责信息收集,游戏中的界面设计,部分需求文档编写。2游戏中已实现的功能 整个游戏基本的游戏更能已经实现,并且再后期游戏的开发中又添加了附加游戏贪吃蛇游戏。具体功能如下: 俄罗斯方块: 1:方块的翻转 2:方块的变形 3:加速下落 4:主界面采用位图显示 5:通过不同的选择进入不同的游戏 6:自动计分功能及显示 7:背景音乐播放 8:中途退出游戏 9:显示预出现方块 贪吃蛇: 1:食物的自动出现 2:蛇移动方向的改变 3:自动计分功能 4:中途退出功能 5:背景音乐的播放3 游戏中尚未完成的功能及其原因在整个游戏中由于种种原因使得一些原定的共能没有实现,具体未完成的功能如下: 1:游戏的积分榜显示 虽然在游戏中进行了有效的计分功能,但由于一直把它定位整个游戏的最后完成部分,但由于中途要对整个的游戏从单机版改成网络版而出现了一些开发计划改变,而当初我们选择的开发环境由于是比较早的TURBO C开发环境导致实现网络部分的两个重要头文件没有能更找到,所以时间上的浪费让我们少做了很多东西,但我们已经对该功能的实现接口进行了设计,只是具体没有进行编码。2:游戏的对战实现由于在前期的游戏开发中没有考虑进行对战,所以前期的开发环境选择了turbo c 而在后期的改变时无法进行利用socket 进行通信因为缺少两个头文件,而在网上没有找到这两个头文件,所以一直没有没能实现对战功能。并且影响了很多后期的开发。3:进行等级设置在进行游戏开发是为了方便进行调试,直接定义了一个全局变量进行时间延迟设置,而不知道什么原因时间设置后导致运行时不稳定,经过很多次时间修改后得到了一个相对稳定的时间延迟,前期设计是准备利用一个函数接口进行该值的设定,待后来由于没有能够调试处一个比较很好的时间延迟,所以就没有进行对该接口的实现。4 游戏中部分的代码实现 1:初始界面的绘制 void unit() int i,j; int gd=DETECT,gm; delayTime=2; for(i=0;i17;i+) for(j=0;j10;j+) boxij=0; box_colorij=0; initgraph(&gd,&gm,D:tcbgi); setcolor(6); rectangle(40,0,600,455); rectangle(39,1,601,456); setcolor(7); for(i=0;i17;i+) for(j=0;j10;j+) rectangle(55+25*j,15+25*i,80+25*j,40+25*i); for(i=0;i4;i+) for(j=0;j=0;i-) for(j=9;j=0;j-) if(boxij=0) break; if(j=-1) score+=10; for(m=i;m0;m-) for(n=0;n10;n+) boxmn=boxm-1n; box_colormn=box_colorm-1n; for(m=0;m10;m+) box0m=0;box_color0m=0; i+; Repaint(); sprintf(s,%d,score); outtextxy(450,180,s); 4:位图显示:void ShowBMP(char c) int i,j; unsigned int bfType; unsigned int biBitCount; unsigned long biCompression; unsigned int index=0; char rgb4; char *p; FILE *fp; if(fp=fopen(c,rb) = NULL) printf(Cant open this file!); getch(); exit(0); fseek(fp,54,SEEK_SET); for(i=0;i2); /*写入调色板*/ outp(0x3c9,rgbG2); outp(0x3c9,rgbB2); p=(char *)malloc(1); if(p=NULL) printf(); exit(0); for(i=SCREEN_HEIGHT-1;i=0;i-) /*直接写屏*/ fseek(fp,1078+(long)(i)*SCREEN_WIDTH,SEEK_SET);/* fread(&video_bufi*SCREEN_WIDTH,SCREEN_WIDTH,1,fp); */ for(j=0;jSCREEN_HEIGHT-11; k-) index =0; index += SCREEN_WIDTH*(SCREEN_HEIGHT-k-1); for(i=k;i=0;i-=10) fseek(fp,1078+(long)(i)*SCREEN_WIDTH,SEEK_SET); for(j=0;jSCREEN_WIDTH;j+) fread(p,1,1,fp); video_bufindex = *p; index+; delay(1000); index += SCREEN_WIDTH*9; free(p); fclose(fp);5 开发总结 虽然在开发中我们遇到了很多的难题,并且第一次利用turbo C 进行图形界面开发,所以在游戏的开发过程中前期设计出现了一些问题,但在我们团队的共同努力下还是将基本的内容完成,所以虽然很简单,但毕竟是我们几个人一起做的东西,

温馨提示

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

评论

0/150

提交评论