python贪吃蛇设计报告_如何用Python写一个贪吃蛇AI

前言

这两天在网上看到一张让人涨姿势的图片,图片中展示的是贪吃蛇游戏,

估计大部分人都

玩过。但如果仅仅是贪吃蛇游戏,那么它就没有什么让人涨姿势的地方了。

问题的关键在

于,

图片中的贪吃蛇真的很贪吃

XD

它把矩形中出现的食物吃了个遍,

然后华丽丽地把整

个矩形填满,真心是看得赏心悦目。作为一个

CSer

第一个想到的是,这东西是写程序实

现的

(

因为,一般人干不出这事。

果断是要让程序来干的

)

第二个想到的是,写程序该如何

实现,

该用什么算法?

既然开始想了,

就开始做。

因为

Talk is cheap

show me the code

才行。

(

从耗子叔那学来的

)

开始之前,让我们再欣赏一下那只让人涨姿势的贪吃蛇吧:

语言选择

Life is short, use python!

所以,根本就没多想,直接上

python

最初版本

先让你的程序跑起来

首先,我们第一件要做的就是先不要去分析这个问题。

你好歹先写个能运行起来的贪吃蛇

游戏,然后再去想

AI

部分。这个应该很简单,

c\c++

也就百来行代码

(

如果我没记错的话。

不弄复杂界面,直接在控制台下跑

)

python

就更简单了,去掉注释和空行,

5

60

行代码

就搞定了。而且,最最关键的,

这个东西网上肯定写滥了,你没有必要重复造轮子,

去弄

一份来按照你的意愿改造一下就行了。

简单版本

我觉得直接写

perfect

版本不是什么好路子。因为

perfect

版本往往要考虑很多东西,

直接

上来就写这个一般是

bug

百出的。

所以,

一开始我的目标仅仅是让程序去控制贪吃蛇运动,

让它去吃食物,仅此而已。

现在让我们来陈述一下最初的问题:

在一个矩形中,

每一时刻有一个食物,贪吃蛇要在不撞到自己的条件下,

找到一条路

(

未必

要最优

)

,然后沿着这条路运行,去享用它的美食

我们先不去想蛇会越来越长这个事实,问题基本就是,给你一个起点

(

蛇头

)

和一个终点

(

)

,要避开障碍物

(

蛇身

)

,从起点找到一条可行路到达终点。

我们可以用的方法有:

BFS

DFS

A*

只要有选择,

就先选择最简单的方案,

我们现在的目标是要让程序先跑起来,

优化是后话。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值