网络版俄罗斯方块实验
2013-05-15 18:41
106 查看
曾经用Delphi 开发了俄罗斯方块,后来用QT改写了代码,并且运行在Moto A760 手机的原型上
后来又熟悉了ACE,花了3天时间进行网络版实验,现在总结一下开发过程
1) 开发分成3个部分
a. 俄罗斯方块的逻辑, 这部分将运行在Server 上
b. 接受用户input 和 绘图的逻辑,这部分将运行在client 上
c. 通信程序,主要是构造,通信协议包(比较简单的)
2) 这次开发的难点在于不熟悉C# 和VC2008
首先选择C#,没想到C#解包如此麻烦,改用VC2008发现这东西和C#有共性,就是花费很大的代价给用户提供autoptr.
好不容易熟悉了一下,又发现找不到ntoh等函数,最后都google解决
3) 开发经验
1)通信的程序定义为公共 .h, 这样 gcc 和 vc 都可以用
2)选择VC2008做客户端,可能节省很多时间,因为这就是RAD C++ Builder的替代
3) 目录组织
proj ----Server
----Client
公共的东西,就link吧
4) 开发的时候IDE的使用
g++ 代码( 游戏逻辑,本地测试 ) 用Eclipse+MingGW
Client用VC2008,
Server 主程序用 UtraEdit
Server控制用 ( VNC)
这样并行修改,并行测试,几个环境不影响, 不会造成代码混乱
5) 开发时,注意逻辑能写好,就尽量写好,在网络应用中尤其容易丢三落四,在 C/S 测试中找Bugs,代价很大,因为要启动 Server, 启动Client, 设断点,看Blog, 一个小笔误,可能耽误自己15分钟以上
6) 网络测试的确是比较复杂的,观察 Server的log 重要, 不过最重要还是要有清晰的思路,定位问题所在
补充
ntoh* 用起来不爽,尤其当传送 Int 数组的时候
最好用char * 来表示整数,并传输
这是几年前写的文章, 作为回忆和归档
以前用 ACE 开发, 数据包是自定义的 binary, 虽然有ACE提供包裹好的接口, 但开发依然费时费力.
如果改用 Web Service ,并用 Json 等容易转化的协议,开发效率会高很多.
后来又熟悉了ACE,花了3天时间进行网络版实验,现在总结一下开发过程
1) 开发分成3个部分
a. 俄罗斯方块的逻辑, 这部分将运行在Server 上
b. 接受用户input 和 绘图的逻辑,这部分将运行在client 上
c. 通信程序,主要是构造,通信协议包(比较简单的)
2) 这次开发的难点在于不熟悉C# 和VC2008
首先选择C#,没想到C#解包如此麻烦,改用VC2008发现这东西和C#有共性,就是花费很大的代价给用户提供autoptr.
好不容易熟悉了一下,又发现找不到ntoh等函数,最后都google解决
3) 开发经验
1)通信的程序定义为公共 .h, 这样 gcc 和 vc 都可以用
2)选择VC2008做客户端,可能节省很多时间,因为这就是RAD C++ Builder的替代
3) 目录组织
proj ----Server
----Client
公共的东西,就link吧
4) 开发的时候IDE的使用
g++ 代码( 游戏逻辑,本地测试 ) 用Eclipse+MingGW
Client用VC2008,
Server 主程序用 UtraEdit
Server控制用 ( VNC)
这样并行修改,并行测试,几个环境不影响, 不会造成代码混乱
5) 开发时,注意逻辑能写好,就尽量写好,在网络应用中尤其容易丢三落四,在 C/S 测试中找Bugs,代价很大,因为要启动 Server, 启动Client, 设断点,看Blog, 一个小笔误,可能耽误自己15分钟以上
6) 网络测试的确是比较复杂的,观察 Server的log 重要, 不过最重要还是要有清晰的思路,定位问题所在
补充
ntoh* 用起来不爽,尤其当传送 Int 数组的时候
最好用char * 来表示整数,并传输
这是几年前写的文章, 作为回忆和归档
以前用 ACE 开发, 数据包是自定义的 binary, 虽然有ACE提供包裹好的接口, 但开发依然费时费力.
如果改用 Web Service ,并用 Json 等容易转化的协议,开发效率会高很多.
相关文章推荐
- 俄罗斯方块小demo
- 2014年4月11日星期五java学习进程-面向对象和俄罗斯方块7个格子类的建立
- Silverlight:手把手教你写俄罗斯方块(三)
- 史上最短小精悍的javascript编写的俄罗斯方块游戏,仅仅60行代码
- Java实现俄罗斯方块
- android游戏开发之我的小小游戏3——俄罗斯方块游戏5
- C++ 俄罗斯方块(windows API)
- electron写俄罗斯方块游戏(Tetris)
- 俄罗斯方块设计原理
- 【冷却游戏】 安卓版 俄罗斯方块游戏 官方版
- CCF201604-2俄罗斯方块
- javascript 60行编写的俄罗斯方块游戏
- IT学吧C++俄罗斯方块游戏开发
- 俄罗斯方块练习数组
- 俄罗斯方块之C语言版
- java开发俄罗斯方块学习笔记 Day-2 设计
- Linux下俄罗斯方块程序设计(c++)-转
- 史上最短小精悍的javascript编写的俄罗斯方块游戏,仅仅60行代码
- 用javascript写了个简单俄罗斯方块玩,发现IE8的速度最慢
- 俄罗斯方块知多少