当前位置:首页>> >>


俄罗斯方块项目.rar

收藏

资源目录
    文档预览:
    编号:20181030003345877    类型:共享资源    大小:857.08KB    格式:RAR    上传时间:2018-10-30
    尺寸:148x200像素    分辨率:72dpi   颜色:RGB    工具:   
    48
    金币
    关 键 词:
    俄罗斯方块 项目
    资源描述:
    JISHOU UNIVERSITY程 序 设 计 基 础课 程 设 计题 目: 俄罗斯方块作 者: 李卓学 号: 20164206132所属学院: 软件学院专业年级: 软件工程 2016 级 4 班指导教师: 宋旭东完成时间: 2016 年 6 月 21 日—2016 年 6 月 30 日软件学院制项目描述俄罗斯方块是一款操作简单的游戏,通过方向键控制行动,当一行被填充满时可消除获得分数。目的: 目的是获得更高的分数意义: 项目功能目标1.方块的移动2.方块的变形3.方块的相互咬合4.信息展示5.联机模式6.游戏界面系统创新点:系统主要流程开始菜单界面开始游戏获得分数代码#include #include #include #include #include #include #include #include #pragma comment(lib,“winmm.lib“)#define PORT 15001#define IP “127.0.01“PIMAGE P_bi; //开始界面PIMAGE game_interface; //游戏界面 //蒙版PIMAGE online_interface; //联机界面PIMAGE introduction_interface; //简介界面PIMAGE choose_interface; //选择界面PIMAGE I1,I2,J1,J2,J3,J4,L1,L2,L3,L4,O,S1,S2,T1,T2,T3,T4,Z1,Z2; //S、Z、L、J、I、O、T,7 种形状的方块.int flag=0; //游戏模式标识符int i=0; //俄罗斯方块的个数int the_number; //对面的俄罗斯方块,分数int destrov=0,pause=0,bomb=0,quit=0; //信息标识符char s_socre[5],s_level[5],s_destrov[5]; //信息char s_picture[5],s_number[5]; //己方信息char c_picture[5],c_number[5]; //对面的信息SOCKET server,client,sin; //套接字struct sockaddr_in clientaddr; //存放服务端 IP信息struct sockaddr_in serveraddr;struct sockaddr_in cos; //存放客户端 IP信息int speed; //速度int impact_checking_down=0,impact_checking_left=0,impact_checking_right=0; //碰撞检测标识符struct Tetromino{PIMAGE img;int x;int y;int a;int b;int form=1;int logo;} ttm[200];int cd [25][12]= /* 逻辑地图,地图长400像素,高 800像素,每个小方块长宽都是 40像素,以长宽 40像素的小方块每 1单位,每 1单位填充坐标数组的 1个值,空地初始值置为 0,墙壁初始值置为 1,出生缓冲区初始值置为 2.*/{1,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1};PIMAGE generate_Tetromino(){int random_number,n;randomize(); //初始化随机数列for(n=0; n<200; n++){random_number=random(7);switch(random_number){case 0: //I形ttm[n].x=160;ttm[n].y=-160;ttm[n].a=2;ttm[n].b=5;cd[ttm[n].a-2][ttm[n].b]=1;cd[ttm[n].a-1][ttm[n].b]=1;cd[ttm[n].a][ttm[n].b]=1;cd[ttm[n].a+1][ttm[n].b]=1;ttm[n].logo=0;ttm[n].img=I1;break;case 1: //J形ttm[n].x=120;ttm[n].y=-80;ttm[n].a=3;ttm[n].b=6;cd[ttm[n].a-1][ttm[n].b]=1;cd[ttm[n].a][ttm[n].b-2]=1;cd[ttm[n].a][ttm[n].b-1]=1;cd[ttm[n].a][ttm[n].b]=1;ttm[n].logo=1;ttm[n].img=J1;break;case 2: //L形ttm[n].x=120;ttm[n].y=-80;ttm[n].a=3;ttm[n].b=4;cd[ttm[n].a-1][ttm[n].b]=1;cd[ttm[n].a][ttm[n].b]=1;cd[ttm[n].a][ttm[n].b+1]=1;cd[ttm[n].a][ttm[n].b+2]=1;ttm[n].logo=2;ttm[n].img=L1;break;case 3: //O形ttm[n].x=160;ttm[n].y=-80;ttm[n].a=2;ttm[n].b=5;cd[ttm[n].a][ttm[n].b]=1;cd[ttm[n].a][ttm[n].b+1]=1;cd[ttm[n].a+1][ttm[n].b]=1;cd[ttm[n].a+1][ttm[n].b+1]=1;ttm[n].logo=3;ttm[n].img=O;break;case 4: //S形ttm[n].x=120;ttm[n].y=-80;ttm[n].a=2;ttm[n].b=5;cd[ttm[n].a][ttm[n].b]=1;cd[ttm[n].a][ttm[n].b+1]=1;cd[ttm[n].a+1][ttm[n].b]=1;cd[ttm[n].a+1][ttm[n].b-1]=1;ttm[n].logo=4;ttm[n].img=S1;break;case 5: //T形ttm[n].x=120;ttm[n].y=-80;ttm[n].a=3;ttm[n].b=5;cd[ttm[n].a-1][ttm[n].b]=1;cd[ttm[n].a][ttm[n].b-1]=1;cd[ttm[n].a][ttm[n].b]=1;cd[ttm[n].a][ttm[n].b+1]=1;ttm[n].logo=5;ttm[n].img=T1;break;case 6: //Z形ttm[n].x=120;ttm[n].y=-80;ttm[n].a=2;ttm[n].b=5;cd[ttm[n].a][ttm[n].b-1]=1;cd[ttm[n].a][ttm[n].b]=1;cd[ttm[n].a+1][ttm[n].b]=1;cd[ttm[n].a+1][ttm[n].b+1]=1;ttm[n].logo=6;ttm[n].img=Z1;break;}}}int Impact_checking_down() //碰撞检测{int result=0,n,j;system(“cls“);switch(ttm[i].logo) //判断类型{case 0: //I形switch(ttm[i].form) //判断形态{case 1:if(cd[ttm[i].a+2][ttm[i].b]==0){cd[ttm[i].a-2][ttm[i].b]=0;cd[ttm[i].a+2][ttm[i].b]=1;result=1;}break;case 2:if(cd[ttm[i].a+1][ttm[i].b-2]==0cd[ttm[i].a][ttm[i].b-1]=0;cd[ttm[i].a][ttm[i].b]=0;cd[ttm[i].a][ttm[i].b+1]=0;cd[ttm[i].a+1][ttm[i].b-2]=1;cd[ttm[i].a+1][ttm[i].b-1]=1;cd[ttm[i].a+1][ttm[i].b]=1;cd[ttm[i].a+1][ttm[i].b+1]=1;result=1;}break;}break;case 1: //J形switch(ttm[i].form){case 1:if(cd[ttm[i].a+1][ttm[i].b-2]==0cd[ttm[i].a][ttm[i].b-2]=0;cd[ttm[i].a][ttm[i].b-1]=0;cd[ttm[i].a+1][ttm[i].b-2]=1;cd[ttm[i].a+1][ttm[i].b-1]=1;cd[ttm[i].a+1][ttm[i].b]=1;result=1;}break;case 2:if(cd[ttm[i].a+1][ttm[i].b-1]==0cd[ttm[i].a][ttm[i].b]=0;cd[ttm[i].a+1][ttm[i].b-1]=1;cd[ttm[i].a+3][ttm[i].b]=1;result=1;}break;case 3:if(cd[ttm[i].a+2][ttm[i].b]==0cd[ttm[i].a][ttm[i].b+1]=0;cd[ttm[i].a][ttm[i].b+2]=0;cd[ttm[i].a+2][ttm[i].b]=1;cd[ttm[i].a+1][ttm[i].b+1]=1;cd[ttm[i].a+1][ttm[i].b+2]=1;result=1;}break;case 4:if(cd[ttm[i].a+1][ttm[i].b]==0cd[ttm[i].a][ttm[i].b+1]=0;cd[ttm[i].a+1][ttm[i].b]=1;cd[ttm[i].a+1][ttm[i].b+1]=1;result=1;}break;}break;case 2: //L形switch(ttm[i].form){case 1:if(cd[ttm[i].a+1][ttm[i].b]==0&&cd[ttm[i].a+1][ttm[i].b+1]==0&&cd[ttm[i].a+1][ttm[i].b+2]==0){
    展开阅读全文
    1
      金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:俄罗斯方块项目.rar
    链接地址:http://www.gold-doc.com/p-255188.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
    [email protected] 2014-2018 金牌文库网站版权所有
    经营许可证编号:浙ICP备15046084号-3
    收起
    展开