




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、俄罗斯方块游戏的设计与实现总结 1 游戏设 计人员及具体分工游戏参与人员:刘丹:负责整个游戏的数据结构设计与文档起草与修改及部分编码。葛瑞:负责俄罗斯方块游戏的界面绘制,并参与部分文档的编写和代 码编写。王书林:负责游戏的设计,代码的整合,部分游戏的实现以及一些文 档的编写。李震:负责整个游戏的测试工作以及测试计划和文档的编写。郑舒:负责信息收集,游戏中的界面设计,部分需求文档编写。2 游戏中已实现的功能 整个游戏基本的游戏更能已经实现,并且再后期游戏的开发中又添加了附 加游戏贪吃蛇游戏。具体功能如下:俄罗斯方块:1:方块的翻转2:方块的变形3:加速下落4:主界面采用位图显示 5:通过不同的选
2、择进入不同的游戏6:自动计分功能及显示7:背景音乐播放8:中途退出游戏9:显示预出现方块贪吃蛇:1:食物的自动出现2:蛇移动方向的改变3:自动计分功能4:中途退出功能:背景音乐的播放 53 游戏中尚未完成的功能及其原因 在整个游戏中由于种种原因使得一些原定的共能没有实现, 具体未完成的功能如 下:1:游戏的积分榜显示 虽然在游戏中进行了有效的计分功能,但由于一直把它定位整个游戏的最 后完成部分,但由于中途要对整个的游戏从单机版改成网络版而出现了一些开发 计划改变,而当初我们选择的开发环境由于是比较早的 TURBO C 开发环境导致 实现网络部分的两个重要头文件没有能更找到, 所以时间上的浪费让
3、我们少做了 很多东西,但我们已经对该功能的实现接口进行了设计, 只是具体没有进行编码。 2:游戏的对战实现由于在前期的游戏开发中没有考虑进行对战, 所以前期的开发环境选择了 turbo c 而在后期的改变时无法进行利用 socket 进行通信因为缺少两个头文件,而在网 上没有找到这两个头文件, 所以一直没有没能实现对战功能。 并且影响了很多后 期的开发。3:进行等级设置 在进行游戏开发是为了方便进行调试, 直接定义了一个全局变量进行时间延迟设 置,而不知道什么原因时间设置后导致运行时不稳定, 经过很多次时间修改后得 到了一个相对稳定的时间延迟, 前期设计是准备利用一个函数接口进行该值的设 定,
4、待后来由于没有能够调试处一个比较很好的时间延迟, 所以就没有进行对该 接口的实现。4 游戏中部分的代码实现1:初始界面的绘制 void unit()int i,j;int gd=DETECT,gm; delayTime=2;for(i=0;i<17;i+) for(j=0;j<10;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;i<17;
5、i+) for(j=0;j<10;j+) rectangle(55+25*j,15+25*i,80+25*j,40+25*i); for(i=0;i<4;i+)for(j=0;j<4;j+) rectangle(405+25*j,50+25*i,430+25*j,75+25*i); setcolor(7);outtextxy(435,25,NEXT);outtextxy(370,180,SCORE); rectangle(440,170,505,195); outtextxy(440,210,HELP); outtextxy(430,220,LEFT:MOVE LEFT);
6、outtextxy(430,240,RIGHT:MOVE RIGHT); outtextxy(430,260,DOWN:MOVE DOWN); outtextxy(430,280,UP:CHANGE); getch();2:产生下一个方块 void generate()int ra; randomize();ra=random (7); nowblock1=ra; state=0; switch(ra) /*biao shi fang kuai*/*biao shi shu tiao*/case 0: a1=4; b1=5; c1=14; d1=15; color=4; break;case
7、1: a1=4; b1=14; c1=24; d1=34; color=1; break;/*biao shi L*/case 2: a1=5; b1=15; c1=25; d1=26; color=14; break;case 3: /*biao shi fan L*/a1=5;b1=15; c1=25; d1=24; color=12; break;case 4: a1=4; b1=5; c1=15; d1=16; color=15; break;case 5: a1=5; b1=6; c1=15; d1=14; color=5; break;case 6: a1=4; b1=13; c1
8、=14; d1=15; color=3; break;/*biao shi Z*/*biao shi fan Z*/*biao shi fan T*/draw_next(ra);3:方块的消去direction=0;if(CanMove(direction) goto A;elseboxa/10a_x0010_=1;boxb/10b_x0010_=1;boxc/10c_x0010_=1;boxd/10d_x0010_=1;box_colora/10a_x0010_=nowcolor;box_colorb/10b_x0010_=nowcolor;box_colorc/10c_x0010_=now
9、color;box_colord/10d_x0010_=nowcolor;/*generate();*/goon=1;a=a1;b=b1;c=c1;d=d1; nowBlock=nowblock1; nowcolor=color;if(boxa/10a_x0010_=1|boxb/10b_x0010_=1|boxc/10c1_x0010_=1|bo xd/10d%10=1)flag=1;Repaint();break;elseRepaint();for(i=16;i>=0;i -)for(j=9;j>=0;j -) if(boxij=0) break;if(j= -1) score
10、+=10;for(m=i;m>0;m -)for(n=0;n<10;n+) boxmn=boxm -1n; box_colormn=box_colorm -1n;for(m=0;m<10;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 i
11、nt index=0;char rgb4;char *p;FILE *fp;if(fp=fopen(c,b) = NULL)printf(Can't open this file!);getch();exit(0);fseek(fp,54,SEEK_SET);for(i=0;i<256; i+)/*read blue;*/*read green */ /*read red */rgbB=fgetc(fp); rgbG=fgetc(fp); rgbR=fgetc(fp); fgetc(fp);/*写入调色板 */outp(0x3c6,0xff); outp(0x3c8,i);out
12、p(0x3c9,rgbR>>2);outp(0x3c9,rgbG>>2);outp(0x3c9,rgbB>>2); 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;j<SCREEN_WIDT
13、H;j+) fread(p,1,1,fp); video_bufindex = *p; index+;free(p); fclose(fp);4:艺术清屏:void JalousieScreen(char c) /* 百叶窗显示图片 */int i,j,k;unsigned int index=0;unsigned char *p;FILE *fp;if(fp=fopen(c,b) = NULL)printf(Can't this file!);getch();exit(0);p=(char *)malloc(1);if(p=NULL)printf();exit(0);for(k=SCREEN_HEIGHT -1;k>SCREEN_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;j<SCREEN_WIDTH;j+) fread(p,1,1,fp);video_bufindex = *p; index+;delay(10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 脱皂机比配混合机企业数字化转型与智慧升级战略研究报告
- 装饰服务企业ESG实践与创新战略研究报告
- 胶囊模具企业ESG实践与创新战略研究报告
- 太阳能生产装备制造企业ESG实践与创新战略研究报告-20250401-223610
- 经期卫生健康教育
- 2025年废气吸附装置合作协议书
- 2025年工程瑞雷波仪合作协议书
- 流程优化培训课件
- 腰间盘康复介绍
- 风力发电高空作业安全措施
- 2025江苏无锡江阴公用事业集团限公司招聘1人易考易错模拟试题(共500题)试卷后附参考答案
- 2025年4月23日世界读书日主题班会
- 二零二五版用工单位与劳务派遣公司合同
- 2025中煤鄂尔多斯能源化工有限公司高校毕业生招聘98人笔试参考题库附带答案详解
- 心力衰竭的护理业务查房
- 2025年抖音达人探店合同模板
- 20025如皋统计局事业单位考试真题及答案
- 五一安全教育主题班会
- 2025年高考英语二轮复习专题01 阅读理解之细节理解题(课件)(新高考)
- GB/T 27030-2025合格评定第三方符合性标志的通用要求
- 国家卫计委-医院感染管理质量控制指标2024年版
评论
0/150
提交评论