|
|
今天看邮箱时发现投的简历被一家公司拒绝了,其他N-1家都没反应,我又看了那家的招聘信息,这才注意到要求有M年的工作经验…… [em8]
想想自己周围的同学都是一开始就不打算做编程的,所以根本搞不清与自己竞争机会的人是怎样的……不知道头上有什么比知道头上有把剑还要恐怖…… [em22]
然后又继续思考自己的demo,发现没办法从整体上把握了,设计文档写来写去都是局部的细节问题,而且就这些都还不清不楚的…… [em24]
我把目前为止的设计文档发上来,大家闲来无事的话就讨论讨论好了…… [em15]
++++++++++++++++++++++++++++抄袭的别人的分割线++++++++++++++++++++++++++++
基本思想.txt
本游戏用于模拟简单的人工生命,但是是由多个玩家同时通过网络参与同一个模拟,玩家对游戏的干预仅限于在空闲的位置添加自己的cell,但还要受到资源限制;即“生命游戏”的网络版。
将生命规则从主程序分离出去。
++++++++++++++++++++++++++++抄袭的别人的分割线++++++++++++++++++++++++++++
层级需求.txt
本文档描述不同级别的需求。
级别0为最高级。
级别越高,优先级就越高,就越接近“一定要实现”或“至少要实现”的概念。
0:pool的breathe机制,cell规则与主程序的分离,
1:渲染,联网功能,用户交互,
2:Pattern,
3:Strategy,
++++++++++++++++++++++++++++抄袭的别人的分割线++++++++++++++++++++++++++++
架构设计.txt
组件 形式 职责
Server 进程 权威模拟及群体仲裁
Client 进程 本地模拟及用户交互
Rule DLL 定义Cell的state及其更新
Strategy 定义Cell的交互策略
Pattern data file 定义一组Cell组成的模式
备选组建形式:
进程、DLL、script、data file
++++++++++++++++++++++++++++抄袭的别人的分割线++++++++++++++++++++++++++++
pool更新.txt
pool为一个二维cell数组
- cell{
- void swap(){
- state* p= _state_now;
- _state_now= _state_later;
- _state_later= p;
- *_state_later= *_state_now;
- }
- void breathe(){
- for every target cell{
- interact( target cell );
- }
- }
- void interact( target cell ){
- update target cell's _state_later based on self's and target cell's _state_now;
- update self's _state_later based on self's and target cell's _state_now;
- }
- state* _state_now;
- state* _state_later;
- state _s0;
- state _s1;
- }
- poll{
- void breathe{
- for every cell{
- cell.breathe();
- }
- for every cell{
- cell.swap();
- }
- }
- cell cells[][];
- }
复制代码
可以把具体的state内容及interact中state的update行为从主程序中分离出去,这样细胞的生命规则就可以分离出来。
如果一个cell的_state_later被修改了,那么将会通知主程序,然后主程序会将更新后的状态通过网络广播给所有的客户端。另一方面主程序会按照一定的频率把整个pool的状态完整得广播给各个客户端。
客户端可以同时运行自己的模拟,但是当服务器端的更新信息发来时,更新信息会覆盖客户端自己的模拟结果。但是这样做可能会导致客户端的显示经常出现错误,因此应谨慎使用。
++++++++++++++++++++++++++++抄袭的别人的分割线++++++++++++++++++++++++++++
cell生命规则.txt
一个cell是一个生命个体,有自己的生命周期,能够与环境交互。
++++++++++++++++++++++++++++抄袭的别人的分割线++++++++++++++++++++++++++++
rule.txt
Rule定义了Cell的规则:
1.定义state
2.定义cell之间交互时能够做什么
3.定义state的表现形式
参考设计:
state{
unsigned char type;[ 0, 255 ]
float age;//[ 0.0, 1.0 ]
float act_point;//[ 0.0, 1.0 ]
}
++++++++++++++++++++++++++++抄袭的别人的分割线++++++++++++++++++++++++++++
谢绝6377式发言 [em10] |
|