如何在游戏中修复浮点整数TypeError

问题描述

我正在制作一款名为Bunnies and Badgers的游戏,这是我到目前为止的代码

import pygame
from pygame.locals import *
pygame.init()
width,height = 640,480
screen = pygame.display.set_mode((width,height))
player = pygame.image.load("resources/images/dude.png")
grass = pygame.image.load("resources/images/grass.png")
castle = pygame.image.load("resources/images/castle.png")
while 1:
    screen.fill(0)
    screen.blit(player,(100,100))
    for x in range(width/grass.get_width()+1):
        for y in range(height/grass.get_height()+1):
            screen.blit(grass,(x*100,y*100))
    screen.blit(castle,(0,30))
    screen.blit(castle,135))
    screen.blit(castle,240))
    screen.blit(castle,345))
    pygame.display.flip()
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit() 
            exit(0)

但是,当我运行模块时,出现此错误

Traceback (most recent call last):
  File "C:\Users\Ben\Documents\U Game Online\Games\Bunnies and Badgers\game.py",line 12,in <module>
    for x in range(width/grass.get_width()+1):
TypeError: 'float' object cannot be interpreted as an integer

我看不到带有错误给出的代码的任何错误。

解决方法

范围函数需要一个整数参数。只需在调用range时将参数设置为int即可。

for x in range(int(width/grass.get_width()+1)):
        for y in range(int(height/grass.get_height()+1)):
            screen.blit(grass,(x*100,y*100))

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...