- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我就是想不通这是怎么回事……
#!/usr/bin/env python
#
# Bugs.py
#
from __future__ import division
# No Module!
if __name__ != '__main__':
print "Bugs.py is not meant to be a module"
exit()
# App
import pygame, sys, random, math
pygame.init()
# Configuration Vars
conf = {
"start_energy": 50,
"food_energy": 25,
"mate_minenergy": 50,
"mate_useenergy": 35,
"lifespan": 300000
}
class Bugs:
def __init__(self):
self.list = []
self.timers= {}
# Names / colors for sexes
self.sex = ["Male", "Female"]
self.color = ["#CBCB25", "#A52A2A"]
# Bug info tracking
self.bugid = 0
self.buginfo = {"maxgen":0, "maxspeed":0}
def new(self, x=False, y=False, sex=2, speed=0, generation=0, genes=[]):
sex = sex if not sex == 2 else random.randint(0,1)
speed = speed if not speed == 0 else random.randint(1,3)
# Create new bug object
self.bugs.append(BugObj(sex, speed, generation, bugid, pygame.time.get_ticks, genes))
# Make sure it has a timer
if not self.timers[speed]:
self.timers[speed] = 1
pygame.time.set_timer(25 + speed, 1000 / speed)
# Update info tracking variables
if speed > self.buginfo["maxspeed"]: self.buginfo["maxspeed"] = speed
if generation > self.buginfo["maxgen"] : self.buginfo["maxgen"] = generation
self.bugid += 1
def speed_count(self, speed):
a = 0
for i in list[:]:
if i.speed = speed:
a += 1
return a
class BugObj:
def __init__(self, sex, speed, generation, bugid, born, genes):
global conf
self.sex = sex
self.speed = speed
self.generation = generation
self.id = bugid
self.born = born
self.genes = genes
self.died = -1
self.energy = conf["start_energy"]
self.target = "None"
def update(self):
global conf
if self.age() > conf["lifespan"]:
self.die()
else:
f = closest_food()
m = closest_mate()
# If there's a potential mate
if m != 0 and self.energy > conf["mate_minenergy"]:
if not self.rect.colliderect(m.rect):
self.move_toward(m)
self.target = "Mate: " + str(m.rect.center)
else:
Bugs.mate(self, m)
self.target = "Mate: (Reached)"
elif f != 0:
if not self.rect.colliderect(f.rect):
self.move_toward(f)
self.target = "Food: " + str(f.rect.center)
else:
self.eat(f)
self.target = "Food: (Reached)"
else:
self.target = "Resting"
# Use energy
self.energy -= 0
def closest_food(self):
pass
def closest_mate(self):
pass
def age(self):
if self.died != -1:
return pygame.time.get_ticks - self.born
else:
return self.died - self.born
def die(self):
# Remove self from the list
Bugs.list.remove(self)
# Turn off timer
if not Bugs.speed_count(self.speed):
Bugs.timers[self.speed] = 0
pygame.time.timers(25 + self.speed, 0)
# Bye!
del self
class Food:
def __init__(self)
pass
def update(self)
pass
# Update Loop
while 1:
ev = pygame.event.wait()
speed = ev.type - 25
if speed > 24:
for i in Bugs.list[:]:
if i.speed = speed
i.update()
print "Updating bug #" + str(i.id)
if speed == 0:
Food.update()
我每次都得到以下信息:
File "Bugs.py" line 53
def new(self, x=False, y=False, sex=2, speed=0, generation=0, genes=[]):
^
Indentation Error: unindent does not match any outer indentation level
最佳答案
您的文件中可能混合了制表符和空格。您可以让 python 帮助检查此类错误
python -m tabnanny <name of python file>
关于 python : "Indentation Error: unindent does not match any outer indentation level",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1711756/
这很奇怪,我只是在变量设置中进行了更改以使用哈希代替......你知道: black = #000 替换为: colors = { 'black': #000 // and so o
这很奇怪,我只是在变量设置中进行了更改以使用哈希代替......你知道: black = #000 替换为: colors = { 'black': #000 // and so o
我有这行代码,在测试 pep8 错误时我得到:线太长。因此,为了尝试解决此问题,我使用了 slash('\') 但随后我将延续行过度缩进以进行视觉缩进。我该怎么做才能解决这个问题? 我尝试过的事情:
我在下面的代码中收到一个 continuation line under-indented for visual indent 错误: command = 'ffmpeg -i downloa
我就是想不通这是怎么回事…… #!/usr/bin/env python # # Bugs.py # from __future__ import division # No
我是一个 Emacs 用户,在配置编辑器方面没有任何技能。我从 haskell-mode 升级后从 2.4 到 2.7,我注意到两个变化: 缩进在某种程度上是不同的,在某种程度上我不太喜欢。我不能完全
我正在尝试制作一个嗅探DNS数据包的程序,然后将数据包的qname放入字典的“键”中,并将数据包的dst ip放入字典的“值”中,由于某种原因,我遇到了此错误在第6行 from scapy.all
为了进行比较: 在Sublime(以及Atom)中,如果我在已经有4个制表符空间的代码行下按Tab,Sublime将自动跳到上一行的相同制表符间距(4个制表符空间)。 在VS Code中,当尝试完成相
无论我以哪种方式编写以下函数都会引发错误。 @staticmethod def _generate_clone_spec(param1=None, p
我正在 Sublime 文本编辑器中使用 Python。我被添加PEP8 packages . 我将 128 添加到以下文件“pep8_ignore”中。添加128并保存后。 Preferences
我从这里得到了 Google java 风格: https://github.com/google/styleguide/blob/gh-pages/eclipse-java-google-style
刚刚使用 Sublime Text(使用 Sublime Linter)打开了一个文件,并注意到我以前从未见过的 PEP8 格式错误。正文如下: urlpatterns = patterns('',
我已安装 google-java-format插件 IntelliJ我已经启用了插件。当我格式化代码时,我的 java 代码缩进了 2 个空格。如何将 google java 格式化程序插件设置更改为
Haskell Parsec 的 indents 包提供了一种解析缩进式语言(如 Haskell 和 Python)的方法。它重新定义了 Parser类型,那么如何使用 Parsec 的 Text.P
我想让我的代码更有条理。因此,每当我从我的functions.php 文件中复制一个函数并将其粘贴到一个类中时,我需要将函数的每一行缩进一次或多次,以便于阅读并且看起来更美观。我的一些函数只不过是巨大
我直接从教科书中复制了这个 block ,并收到许多错误消息,但我无法解决其中的任何一个。我已经阅读并重读了我书中的这一部分,据我所知,这都是一个 block ,所以我很困惑为什么会有意外的缩进。我将
我直接从教科书中复制了这个 block ,并收到许多错误消息,但我无法解决其中的任何一个。我已经阅读并重读了我书中的这一部分,据我所知,这都是一个 block ,所以我很困惑为什么会有意外的缩进。我将
我一直在尝试找到一种也适合回溯缩进的递归下降解析器算法。但我一直让自己为此寻找麻烦的解决方案。 是否有任何资源也可以处理缩进? 谢谢 最佳答案 根据您的问题,我假设您正在为缩进敏感语言编写自己的递归下
有时,当我在 Sublime text2 中编辑 coffeescript 文件时,将其编译为 js 时出现错误: error: unexpected INDENT
我的main.sass中有这个: #thing { -moz-box-sizing: border-box; -webkit-box-sizing: border
我是一名优秀的程序员,十分优秀!