Pygame初试----Cells
来源:互联网 发布:游戏客户端制作软件 编辑:程序博客网 时间:2024/06/05 20:52
最近在看父与子的编程之旅:与小卡特一起学Python,碰巧又看到了有关细胞自动机的内容,于是便有了写一个自己的小游戏的想法,于是:
- 用了一天时间构思:
逻辑是这样:
首先是二维的地图,其上有两种实体(Entity):跑来跑去的细胞(Cell)和原地不动的营养(Nutrition)。细胞有大有小,与生命值(health)有关,具有一定的速度,可以:
1.移动(move()),其实就是更新位置(rect属性)。
2.自动寻找周围实体(findNearestItem() ->Entity)返回该实体,这可以“看”到周围有其他细胞还是有营养,如果只有营养:跑过去吃了它;如果有一个比自己血多的细胞:快向相反方向跑!;如果有一群小家伙:挑个肉厚的追!;最后要是什么都没有:想去哪去哪吧我才不管你。
吃其他的实体可以增加一些生命值,每次move()会updata()一下当前的状态,同时实现饥饿(health-=XXX)。
描述得还比较清楚吧,我就不贴伪代码了。
然而想归想,最后我还是没有解决如何自动寻找周围的家伙,按照“仿生学”的角度模拟了一下,发现有点难,于是我就厚颜无耻暂时放弃了这个机制……刚开始嘛哈哈以后会解决的。
同样仅仅是存在于脑海的还有:
呼朋唤友:被追杀的时候可以找周围的小朋友打群架。
经验:存储一下历史数据,根据数据判断是去追其他Cell吃还是吃营养(因为追别的家伙可能追不上还会饿掉血,而吃营养虽然加的少一点但是稳定纳!)
分裂:分身嘛。
地形以及细胞们对地形的判断。
……
然而这些都不会:)
so我就写了一个简化版,简化到不忍直视:
地图会刷新Nutrition,如果有两个以上Nutrition在一起就产生一个Cell。
一群只会按初始速度前进直到撞墙的Cells,碰到什么算什么。
这些Cell有一个和health有关的大小,随机的速度,类型(Cell)。
结束了,简陋吧。关于上述构想等以后再实现吧。
因为很关键的一点在于,我想了很久也没有发现这个游戏玩点在哪,或者,有什么用,或者,有没有人无聊到看一群智障吃东西打发时间。
深刻的问题对吧
源码在这里很短想拿随便拿,反正没什么技术含量。
不过在调试的时候发现了一个有趣的BUG:
出现了一种不知名的”超神粒子“BUGCell
特征如下:
大小永远不变(按设定是根据health更新的)
战斗力秒杀一切,除了他们自己,碰什么吃什么,但是两个BUGCell碰到一起,相视一笑就走了……
这个我也不知道为啥,后面再调试一下看看什么情况。
阅读全文
0 0
- Pygame初试----Cells
- pygame
- pygame
- pygame
- 【pygame】
- 初试
- 初试
- 初试
- 初试
- zoj2615-Cells
- cells(2)
- LA3486 Cells
- Aspose.Cells
- Selling Cells
- Great cells
- pygame学习:pygame简介
- Hello, PyGame
- PYGAME 入门
- HTML:表单
- 递归与动态规划---最长公共子序列问题
- 一个简单的web点名程序(基于javascript)
- Java菜鸟教程 面向对象初步(一)
- python 百度地图 经纬度转地址
- Pygame初试----Cells
- idea创建maven项目整合SSH
- CodeForces
- LCA 约会
- SSL P1862 提高组 删数
- iOS-进程与线程概念以及iOS的三种多线程技术
- 神经网络与深度学习 第二章 反向传播算法(两个假设、四个基本方程及其证明、代码及注释)
- 北大oj-1007 C语言
- 交换排序