c++ win32 API实现方块联机游戏历程
作者 佚名技术
来源 程序设计
浏览
发布时间 2012-06-29
); // 橙 G_BasicColor[2] = RGB(200, 200, 102); // 黄 G_BasicColor[3] = RGB(51, 204, 102); // 绿 G_BasicColor[4] = RGB(0, 143, 224); // 蓝 G_BasicColor[5] = RGB(153, 153, 204); // 青 G_BasicColor[6] = RGB(204, 204, 204); // 灰 getcwd(G_Path,80); strcat(G_Path,"\\resource\\Wav\\"); //获得资源路径 G_NET=false; this->Game_Restart(); } Gameframe::~Gameframe() { squ.~Square(); } void Gameframe::Game_Start() { //游戏开始 Next_Rand(); unsigned short int left=0,top=0,right=0,bottom=0; for(unsigned short int h=0;h<4;h++) { if(left>Now_Cake[h][0]) { left=Now_Cake[h][0]; } if(right<Now_Cake[h][0]) { right=Now_Cake[h][0]; } if(bottom<Now_Cake[h][1]) { bottom=Now_Cake[h][1]; } Actvie_bottom=bottom+1; SetRect (&Active_Rect,FRAME_L+left*30+90,FRAME_T+top*30,FRAME_L+right*30+30 +90,FRAME_T+bottom*30+30); } if(Game_Over()) { if(G_NET) { if(!Arrive) { SendSelect(8); //游戏未完成 } Game_Run(); return; } G_start=false; G_Over=true; Rect_Falling=1000; Next_Rand(); Game_Sound(2); KillTimer(hwnd,TIMER_ID); InvalidateRect(hwnd,NULL,false); } else { InvalidateRect (hwnd,&Active_Rect,false); InvalidateRect(hwnd,&N,false); Game_Run(); } } bool Gameframe::Game_Over() { if(G_Over) { return G_Over; } for(unsigned short int a=0;a<4;a++) { if(1==Gframe[Now_Cake[a][0]][Now_Cake[a] [1]])//判断游戏是否结束(新方块生成时是否已经有方块) { G_Over=true; } else { Gframe[Now_Cake[a][0]][Now_Cake[a] [1]]=1; Gframe_Color[Now_Cake[a][0]] [Now_Cake[a][1]]=Rect_Color; } } if(G_Over) { return G_Over; } else { for(unsigned short int b=0;b<4;b++) { Gframe[Now_Cake[b][0]][Now_Cake[b] [1]]=1; } return G_Over; } return G_Over; } void Gameframe::Game_Run()//游戏运行 { if(G_Over)//游戏结束 { KillTimer(hwnd,TIMER_ID); if(G_NET) { G_NET=false; G_start=false; SendSelect(1 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: C++编程杂谈之二:面向对象下一篇: 禁用设备
关于c++ win32 API实现方块联机游戏历程的所有评论