我在做一个项目需要帮助。这是康威人生游戏的一个版本。 这个游戏现在由3个文件组成:主.py, 手机板.py, 细胞.py在
在主.py注意实例化cellboard并使其更新数据,给它鼠标输入,并告诉它自己绘制(pygame曲面的一个实例被赋予它,它将其处理到实际绘制自己的单元)
在手机板.py根据单元格大小和屏幕大小创建单元格列表,以便正确填充。这是一个二维列表。当它创建单元时,它会设置它们的状态(当前是活动的),并处理它们原始曲面实例实例的实例。在
在细胞.py包含细胞可以做的所有事情:死亡、存活、切换、绘制。在
实际上,当我需要绘制整个电路板时,我只调用cellBoard自己的draw(),它应该负责调用每个单元的draw。确实如此。 执行到应该绘制单元格(通过打印进行检查)和执行像素填充函数(使用for循环覆盖一个区域)的点。但实际上屏幕上什么也没有,或者至少什么也看不见。在
我不知道是什么引起的。我检查了多次代码,我甚至从头开始重写整个程序,使它更整洁(我也遇到了和现在一样的问题)
是什么造成的?我的想法是,不管怎么说,surface Cell得到的实例不再适合工作,因为它发生了一些事情(它在到达每个细胞之前都要经过cellboard,这可能是问题所在吗?)在
这是源代码(所有3个文件,它们都非常简短,所以应该很容易阅读)http://dl.dropbox.com/u/2951174/src.zip
提前感谢任何愿意帮忙的人。我需要完成这个项目非常快,所以你的帮助将不胜感激。在
第一个快速建议:
如果人们不必下载zip文件,那么他们更有可能帮助你,下次只需发布你怀疑不起作用的代码部分。在
不管怎样,问题似乎出在你的主循环中:
您需要将
screen.fill
调用移动到cb.draw
上方,这样就不会在单元格上绘制。在同样在
cell.py
你的绘图代码是A)坏的和B)坏的。在与其单独设置每个像素(速度慢且当前状态下无法正确绘制单元格),不如绘制矩形:
^{pr2}$相关问题 更多 >
编程相关推荐