快速业务通道

c++ win32 API实现方块联机游戏历程

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-29
,不同类型的要分块。你只管提 供数据,我只管操作。于是就设计了游戏类。

当时也不知道游戏类里面到底需要什么方法,只是觉得有些方法是必须要的。 比如 移动 下降 消行 游戏开始 游戏结束 游戏暂停等。也不想那么多,一股脑 的都+上。

7 游戏运行机制:是游戏就要有开始,就要有结束,要有运行。看别人的代码 都写的很好,一个死循环就可以让游戏不停运行。我想往上套,始终也不行。只 能另想办法。最后因为方块游戏的运行就是下降。所以我只要弄一个函数不停的 调用下降,就能实现游戏运行的原理。至于什么时候下降停止。那可以具体再写 。我觉得这样是对的。最终找到了SETTIMMER来实现

8 游戏算法实现:当我第一次看到,随机生成的方块,在游戏界面里缓缓下降 的时候…… 我心里那个美啊…… 我知道我对了,胜 利在望了。接下的东西就是具体的游戏功能的写作,一切都顺利了许多,我只是 不停的测试+写+测试。完成。在写完之前我开始想着,下一步的实现。网络版

9 单机游戏完成: 所有的都完成,单机游戏终于完成后,自己也是不停的测 试,优化算法,这中间还出现内存泄露的严重问题,也因祸得福了解了内存的基 本使用。直到修复问题。最终单机版的无bug版完成。我中间公司的项目也多了老 加班,就先放下了。

10 网络版的孕育: 07年同学在武汉,有个朋友介绍他去干开发的工作。那边 的人说了,在一个月之内,如果开发出一个网络版的俄罗斯方块游戏,那么OK, 来上班。我想起这见事情,于是我想着能否实现它。其实这还是做一个测试的一 个心结。自己也有心思转开发,所以决定去实现这个。

11 网络版的实现过程: 因为整个游戏只有两个类,所有我觉得给网络功能这 块+一个类。所有的网络功能都在那里实现,在开发的过程中发现,由于没有很好 的设计,导致在实现的时候出现很多的矛盾。从而我也认识到设计和算法在软件 开发中的重要性。跌跌撞撞的用WIndows socket使用UDP的协议实现了联机通讯, 中间专门先实验几个通讯小例子,再把觉得可用的代码用上,现在基本的联机功 能都以实现。很想模仿腾讯QQ火拼俄罗斯游戏开发游戏道具。但目前也只停留在 想的阶段。

游戏介绍:

1 单机版和网络版并存

2 网络版:实现在线用户实时状态显示,(空闲中 游戏中 离线)

3 网络版:邀请对方联机对战。若对方状态不可以邀请,则不能邀请

4 网络版:双人联机对战实现,可以看到对方实时的方块数据。游戏胜负根据 率先到达10000分的一方获胜

5 网络版道具使用: 酝酿中……

结束语: 第一个C++ WIN232的程序,虽然只是个小游戏,但也给了我一些信 心和鼓舞,希望有机会能正式加入程序员阵营中来,目前职位还是测试工作,想 这下一步的开发方向该怎么走。希望各位同仁多多指教,给点建议。多谢啦。

下载地址:http://download.csdn.net/source/727355

部分源码 :

Gameframe.h

#include "GameNet.h"
#ifndef _GAMEFRAME_H_
#define _GAMEFRAME_H_

using namespace std;
#define SingleRect 30 //单个方块大小

#define FRAME_L 15 //主界面的起点坐标 L
#define FRAME_T 15 //主界面的起点坐标 T

#define NEXT_L   SingleRect*10+FRAME_L+15 //下一个方块的 起点座标 L
#define NEXT_T   FRAME_T //下一个方块的起点座标 T

#define MAIN_SIZE_R SingleRect*10+FRAME_L //主界面x_x
#define MAIN_SIZE_B SingleRect*20+FRAME_T //主界面y_y

#define NEXT_SIZE_R SingleRect*4+NEXT_L+20 //下一个方块 x_x
#define NEXT_SIZE_B SingleRect*4+NEXT_T+20 //下一个方块 y_y


class Gameframe:public GameNet
{
public:
    Gameframe();
    virtual ~Gameframe();
  

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号