我只是无法弄清楚这有什么问题......

#!/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:“缩进错误:unindent与任何外部缩进级别都不匹配”...相关推荐

  1. mplab 语法错误不报错_Python怎么解决报错?

    相信很多小伙伴在初学python的时候,都会遇到很多的报错,那么该怎么解决呢?下面是一些常见的错误以及解决方法. 语法错误 语法错误是初学者最常犯的错误,例如引号没有成一对.括号没有成一对.逻辑判断时 ...

  2. python tk 当输入数值错误是报错_Python的异常处理

    一.Python标准异常总结 所谓异常就是运行期检测到的错误.计算机语言针对可能出现的错误定义了异常类型,某种错误引发对应的异常时,异常处理程序将被启动,从而恢复程序的正常运行. Python标准异常 ...

  3. python整体向右缩进两个级别_关于python:IndentationError:unindent与任何外部缩进级别都不匹配...

    当我编译下面的python代码时,我得到 IndentationError: unindent does not match any outer indentation level import sy ...

  4. python函数第二次运行报错_Python学习笔记2-函数、高级特性

    函数 调用函数 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数 >>> abs(100) 100 >>> abs(-20) 20 ...

  5. [转载] python异常和错误有什么区别_python的错误和异常

    参考链接: Python错误和内置异常 python错误和异常 错误 错误分为语法错误和逻辑错误 语法错误 >>> if File "", line 1 if ^ ...

  6. python列表索引超出范围 等于啥_Python列表错误,列表索引超出范围

    如果我输入1234,那么Values包含字符串"1234".在 然后将字符串转换为整数ValueList=int(Values) # converts string "1 ...

  7. python处理json数据 乱码报错_python操作mysql中文显示乱码的解决方法

    本文实例展示了一个脚本python用来转化表配置数据xml并生成相应的解析代码. 但是在中文编码上出现了乱码,现将解决方法分享出来供大家参考. 具体方法如下: 1. Python文件设置编码 utf- ...

  8. python 引用文件中的类 报错_Python学习笔记7 头文件的添加规则(转载)

    转载自:https://www.cnblogs.com/taurusfy/p/7605787.html ************************************************ ...

  9. python的pymssql模块的报错_python pymssql - pymssql模块官方文档的翻译

    译者注:译者博客(http://blog.csdn.net/lin_strong),转载请保留这条.此为pymssql模块version2.1.4官方文档的翻译,仅供学习交流使用,请勿用于商业用途. ...

  10. python调用SAPexe执行文件报-2147352567,‘发生意外‘错误信息

    现象: 自动化在调用SAP EXE可执行文件时,程序调用起来了,但是进行用户登录时报:pywintypes.com_error: (-2147352567, '\xb7\xa2\xc9\xfa\xd2 ...

最新文章

  1. Python使用matplotlib可视化发散型点图、发散型点图可以同时处理负值和正值、并按照大小排序区分数据、为发散型点图添加数值标签(Diverging Dot Plot )
  2. Java的字符串常量池
  3. Databricks基本操作
  4. 21017-05-13 21:05
  5. IPC 和 RPC (呵呵,我感觉我应该要钻研到这个深度啦)
  6. 并发编程——进程——Process对象的属性和方法
  7. ZOJ - 3228 Searching the String(AC自动机求不重复子串出现次数)
  8. linux与mysql_Linux与MySQL
  9. plsql 为空显示 0 的函数_不加班只加薪!从0到1教你制作出入库进销存表格
  10. 工作112:vue路由跳转错误:Error: Redirected when going from “/login“ to “/home“ via a navigation guard.
  11. MyBatis学习 之 三、动态SQL语句
  12. [EOJ]2019 ECNU XCPC March Selection #1 F
  13. 机器学习中常见的距离公式
  14. 安装Sarge(六) 安装开发环境
  15. Simulink仿真入门到精通(八) M语言对Simulink模型的自动化操作及配置
  16. 心电信号去噪python
  17. 【IIS】修改注册表键值提升IIS的性能
  18. celery异步发送邮箱
  19. MDK5新建stm32l0xx(Cortex-M0)工程步骤
  20. 苹果支付验单java

热门文章

  1. word2013在论文中添加已有的封面
  2. word封面和目录不要设置页码
  3. 自然科学 计算机,自然科学计算器:Natural Scientific Calculator
  4. SharePoint服务器端对象模型 之 使用CAML进展数据查询
  5. thrift0.8.0支持win7的方法
  6. MATLAB无法直接打开M文件
  7. 手写一个词云图生成器,可调形状,可调背景颜色,可调字体色系
  8. sql中的函数取余数
  9. centos usb转网口_CentOS 6.5安装qf9700 USB网卡驱动
  10. Unity 基础数据库操作( Myspl 和 PostgreSQL)