关闭

(0)LifeGame

标签: C++面向对象相互依赖
243人阅读 评论(0) 收藏 举报
分类:

目前设计的lifegame,有creature 和god两个类,creature包含一个生物具有的必须属性和方法,god包含整个世界的属性和若干creature。
但是这里就遇到了一个经典的问题:creature类的一些方法需要访问god的世界属性(获取生存环境的信息),另一方面,god也包含着creature,这样两个类有着相互依赖的关系,在实现上十分为难编译器【编译器不哭QAQ】
这里C++的解决方案是使用前置声明,但是具体使用的姿势也感觉好难,我曾经查过不少blog,发现里面很多办法只是能通过编译,并不能访问对方对象的方法和属性(比如god.creature[1].eat()和creature[1].getLifeNum()这样),也曾打算换语言去实现,不过最终还是找到了正确的姿势:
http://blog.csdn.net/xiqingnian/article/details/41214539
感谢这篇博文的博主。
也可能是短时间内,我还没有在手上的C++两本工具书上找到相关内容介绍,这类语法和规定的细则,感觉还是看工具书靠谱,现在总算解决这个问题了,【吃饭】

0
0
查看评论

lifegame

源码 接触lifegame是在emacs中,最初没看出什么有趣的. 理论上知道它以某种方式模拟生命的发展演化,但是又怎么样呢? 一堆黑白格子而已. 虽说如此,不过印象还是留下. 今天无意中搜索到golly,才知道它可以这样玩..... 无聊时用python实现了一个lifegame,利用图像生成...
  • u013677866
  • u013677866
  • 2018-01-29 13:53
  • 7

LifeGame

生命游戏其实是一个零玩家游戏,英文名叫Game of Life,也称生命棋。它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞。一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去;相反,...
  • huangjinqiang
  • huangjinqiang
  • 2014-04-09 12:31
  • 568

(1)lifegame

啊,QT简介因为在QT上遇到了很谜的BUG,数据死活push进不了vector里,只能先在VS上写个没有界面的版本然后用很肮脏的代码来输出世界的信息。稍微介绍一下项目的组成吧,God类保存世界的必要信息,比如地图信息,世界的能量流转的比例,基础数值等,并提供一些修改地图信息的函数。Creature类...
  • qq_24328101
  • qq_24328101
  • 2016-09-04 19:39
  • 330

0,'\0','0'

#include using namespace std; int main(void) { cout<<__FILE__<<'\t'<<__LINE__<<endl; cout<<"内 容:\t...
  • Stone_Sky
  • Stone_Sky
  • 2013-10-30 14:15
  • 419

0 0

0.0 学习挺充实,挺好的,再接再厉。
  • mo594409148
  • mo594409148
  • 2015-10-18 22:30
  • 117

【C语言】'\0'、'0'、' '、“0”、0详解

【C语言】'\0'、'0'、' '、“0”、0详解 文章内容部分整理自网络!若有冒犯请指出,我们及时更正! 在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母...
  • tyyhmtyyhm
  • tyyhmtyyhm
  • 2018-01-20 12:19
  • 28

24点之0 0 0 0

<br />24点之0 0 0 0<br /> <br />Easy!<br /> <br />1、定义:阶乘是一个递推定义,n!=n*(n-1)!<br />2、why:1!=1,根据1!=1*0!,所以0...
  • wwwllllove
  • wwwllllove
  • 2011-04-26 21:29
  • 610

"0" != 0

"0" == 0
  • Dcatfly
  • Dcatfly
  • 2016-02-16 21:35
  • 522

Difference between "/0" and '/0' and '0' and 0

To me, when doing C/C++: 0 would digit zero, that is, a numerical value. '0' could be the character capital oh or the character zero. For...
  • wanwenweifly4
  • wanwenweifly4
  • 2011-05-23 18:52
  • 457

'\0','0',"0" ,0之间的区别

请对照ASCII字符集表,便于理解。 1. '\0': 单引号表示字符,是C/C++语言中的字符串结束标志,在ASCII字符集中对应数字0,字符缩写是NULL,表示空字符。 2. '0': 也是字符,且是字符常量。对应的ASCII码十进制是48,十六进制是0x30。可...
  • dongyanxia1000
  • dongyanxia1000
  • 2016-01-28 17:13
  • 156
    个人资料
    • 访问:16605次
    • 积分:449
    • 等级:
    • 排名:千里之外
    • 原创:28篇
    • 转载:0篇
    • 译文:0篇
    • 评论:13条
    友情链接