c++ win32 API实现方块联机游戏历程
作者 佚名技术
来源 程序设计
浏览
发布时间 2012-06-29
1); //通知所有在线人自 己的状态 ::SendMessage (U_hwnd,WM_COMMAND,LBN_SELCHANGE,0); if(Arrive)//自己到达或者对方游戏结束 { Game_Sound(7); } else { Game_Sound(2); //对方到达或者 自己游戏结束 } InvalidateRect (hwnd,&F,false); return; } } else { if(!G_NET)//单机游戏 { G_Level=Game_Point/1000; if(G_Level<10)//游戏是否通关 { Rect_Falling=1000- G_Level*100; SetTimer (hwnd,TIMER_ID,Rect_Falling,NULL); } else { G_start=false; G_Over=true; Game_Sound(7); Rect_Falling=1000; KillTimer(hwnd,TIMER_ID); InvalidateRect (hwnd,NULL,false); } } else { SetTimer (hwnd,TIMER_ID,NET_SPEED,NULL); //对战运行速度 } } } void Gameframe::Game_Stop()//暂停 { G_Stop=true; KillTimer(hwnd,TIMER_ID); } bool Gameframe::Game_Move(int i) { Move_temp=i; if(Game_Active(2)) { if(1==i) { Active_Rect.right=Active_Rect.right+i*30; InvalidateRect (hwnd,&Active_Rect,false); Active_Rect.left=Active_Rect.left+i*30; } else { Active_Rect.left=Active_Rect.left+i*30; InvalidateRect (hwnd,&Active_Rect,false); Active_Rect.right=Active_Rect.right+i*30; } return true; } else { return false; } } void Gameframe::Game_Down()//下落 { if(G_Over) { Game_Run(); } if(Down<19) { Down=Down+1; //变形时,需要使用纵坐标 } else { Down=0; //变形时,需要使用纵坐标 } if(Game_Active(1)) { Down_end=true; // 是否可以连续下落和重绘时是否 需要刷新下一个方块 Active_Rect.bottom=Active_Rect.bottom+30; //在 原来方块基础上增加下一行更新面积 Actvie_bottom=Actvie_bottom+1; if(!Space_on) { InvalidateRect (hwnd,&Active_Rect,false); } Active_Rect.top=Active_Rect.top+30; //刷新后将 上方也增加一行 } else { Game_Sound(4); if(G_NET) { SendSelect(5); } |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: C++编程杂谈之二:面向对象下一篇: 禁用设备
关于c++ win32 API实现方块联机游戏历程的所有评论