Python 为什么可以';我用浮点数代替整数吗? 导入pygame 随机输入 pygame.init() #创建屏幕 screen=pygame.display.set_模式((1000600)) #标题+标志 pygame.display.set_标题(“太空入侵者”) icon=pygame.image.load(“chicken.png”) pygame.display.set_图标(图标) #玩家图标 player_icon=pygame.image.load(“spaceship.png”) playerX=400 playerY=500 player_changeX=0 玩家_changeY=0 #敌手 敌方图标=pygame.image.load(“spaceinvaders.png”) enemyX=random.randint(0936) enemyY=random.randint(-100,-50) 敌人_changeX=random.randint(0.1,0.5) 敌人_changeY=random.randint(0.1,0.5) 如果Enemy>=500: 打印(“游戏结束”) 退出() def播放器(x,y): 屏幕。blit(播放器图标,(x,y)) def敌人(x,y): 屏幕。光点(敌人_图标,(x,y)) #游戏循环 运行=真 运行时: #背面彩色RGB 屏幕填充((0,0,0)) 对于pygame.event.get()中的事件: 如果event.type==pygame.QUIT: 运行=错误 #如果按了该键,请检查它是右键还是左键 如果event.type==pygame.KEYDOWN: 如果event.key==pygame.K_左: 玩家_changeX=-1 如果event.key==pygame.K_RIGHT: 玩家_changeX=1 如果event.key==pygame.K_UP: 玩家_changeY=-1 如果event.key==pygame.K_向下: 玩家_changeY=1 如果event.type==pygame.KEYUP: 如果event.key==pygame.K_左或event.key==pygame.K_右: player_changeX=0 如果event.key==pygame.K_向上或event.key==pygame.K_向下: 玩家_changeY=0 #如果玩家到达边界 如果playerX>=936: playerX=20 如果playerX=936: 灌肠=20 如果enemyX

Python 为什么可以';我用浮点数代替整数吗? 导入pygame 随机输入 pygame.init() #创建屏幕 screen=pygame.display.set_模式((1000600)) #标题+标志 pygame.display.set_标题(“太空入侵者”) icon=pygame.image.load(“chicken.png”) pygame.display.set_图标(图标) #玩家图标 player_icon=pygame.image.load(“spaceship.png”) playerX=400 playerY=500 player_changeX=0 玩家_changeY=0 #敌手 敌方图标=pygame.image.load(“spaceinvaders.png”) enemyX=random.randint(0936) enemyY=random.randint(-100,-50) 敌人_changeX=random.randint(0.1,0.5) 敌人_changeY=random.randint(0.1,0.5) 如果Enemy>=500: 打印(“游戏结束”) 退出() def播放器(x,y): 屏幕。blit(播放器图标,(x,y)) def敌人(x,y): 屏幕。光点(敌人_图标,(x,y)) #游戏循环 运行=真 运行时: #背面彩色RGB 屏幕填充((0,0,0)) 对于pygame.event.get()中的事件: 如果event.type==pygame.QUIT: 运行=错误 #如果按了该键,请检查它是右键还是左键 如果event.type==pygame.KEYDOWN: 如果event.key==pygame.K_左: 玩家_changeX=-1 如果event.key==pygame.K_RIGHT: 玩家_changeX=1 如果event.key==pygame.K_UP: 玩家_changeY=-1 如果event.key==pygame.K_向下: 玩家_changeY=1 如果event.type==pygame.KEYUP: 如果event.key==pygame.K_左或event.key==pygame.K_右: player_changeX=0 如果event.key==pygame.K_向上或event.key==pygame.K_向下: 玩家_changeY=0 #如果玩家到达边界 如果playerX>=936: playerX=20 如果playerX=936: 灌肠=20 如果enemyX,python,pygame,pycharm,Python,Pygame,Pycharm,首先,您请求的是一个介于0.1和0.5之间的整数,由于明显的原因,这是不可能的 要获得浮点值,可以使用random.uniform(0.1,0.5) 尽管我必须在这里指出,像素不能是浮点值,因为没有半像素。因此,您必须考虑是否真的需要一个浮点值作为像素更改值。敌方_changeX=random.randint(0.1,0.5)您要求的是一个介于0.1和0.5之间的整数。你有没有想过这在数学上是不可能的?我知道你不能得到一个介于0.1和0.5之间的整数,我怎么能要求一个浮点数呢?我会的。据说我能在

首先,您请求的是一个介于
0.1
0.5
之间的整数,由于明显的原因,这是不可能的

要获得
浮点值
,可以使用
random.uniform(0.1,0.5)


尽管我必须在这里指出,像素不能是浮点值,因为没有半像素。因此,您必须考虑是否真的需要一个浮点值作为像素更改值。

敌方_changeX=random.randint(0.1,0.5)
您要求的是一个介于0.1和0.5之间的整数。你有没有想过这在数学上是不可能的?我知道你不能得到一个介于0.1和0.5之间的整数,我怎么能要求一个浮点数呢?我会的。据说我能在2分钟内完成
import pygame
import random

pygame.init()

# create screen
screen = pygame.display.set_mode((1000, 600))

# Title + Logo
pygame.display.set_caption("Space Invader")
icon = pygame.image.load("chicken.png")
pygame.display.set_icon(icon)

# Player icon
player_icon = pygame.image.load("spaceship.png")
playerX = 400
playerY = 500

player_changeX = 0
player_changeY = 0

# enemy Player
enemy_icon = pygame.image.load("space-invaders.png")
enemyX = random.randint(0, 936)
enemyY = random.randint(-100, -50)

enemy_changeX = random.randint (0.1, 0.5)
enemy_changeY = random.randint (0.1, 0.5)

if enemyY >= 500:
    print("Game over")
    exit()


def player(x, y):
    screen.blit(player_icon, (x, y))


def enemy(x, y):
    screen.blit(enemy_icon, (x, y))


# game loop
running = True
while running:

    # backround colour  RGB
    screen.fill((0, 0, 0))

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
            # If key pressed check whether its right or left
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                player_changeX = -1
            if event.key == pygame.K_RIGHT:
                player_changeX = 1
            if event.key == pygame.K_UP:
                player_changeY = -1
            if event.key == pygame.K_DOWN:
                player_changeY = 1
        if event.type == pygame.KEYUP:
            if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
                player_changeX = 0
            if event.key == pygame.K_UP or event.key == pygame.K_DOWN:
                player_changeY = 0
    # If player reaches boarder
    if playerX >= 936:
        playerX = 20
    if playerX <= 0:
        playerX = 936
    if playerY <= 0:
        playerY = 0
    if playerY >= 550:
        playerY = 550
    # enemy control
    if enemyX >= 936:
        enemyX = 20
    if enemyX <= 0:
        enemyX = 936
    if enemyY <= 0:
        enemyY = 0
    if enemyY >= 550:
        enemyY = random.randint(-100, -50)

    # Player change in coordinates
    playerX += player_changeX
    playerY += player_changeY

    #enemy change in coordinates
    enemyX += enemy_changeX
    enemyY += enemy_changeY

    #Results
    player(playerX, playerY)
    enemy(enemyX, enemyY)
    pygame.display.update()