Я хочу сделать MOVE_DISTANCE
равным 3 плюс количество убийств. Я пытался изменить некоторые вещи, но это все еще не работало.
MOVE_DISTANCE = 3 + str(kills)
MOVE_DISTANCE = 3 + kills
MOVE_DISTANCE = 3 + (kills)
РЕДАКТИРОВАТЬ: Я знаю, str
и int
нельзя добавить вместе, но я хотел знаю, есть ли способ сделать это, например, изменить str
на int
, а затем добавить их обоих, но я сомневаюсь, что int(kills_int) = str(kills)
сработает.
ВНОВЬ РЕДАКТИРОВАТЬ: Вот вся программа на тот случай, если она вам понадобится
import pgzrun
import math
import random
WIDTH = 800
HEIGHT = 600
CENTER_X = WIDTH/2
CENTER_Y = HEIGHT/2
CENTER = (CENTER_X, CENTER_Y)
FONT_COLOR = (255, 0, 0)
kills = 0
MOVE_DISTANCE = 5
game_over = False
first_spawn = True
fly = Actor("fly")
def draw():
screen.clear()
fly.draw()
draw_counters(kills)
def place_fly():
global first_spawn
if first_spawn:
fly.x = CENTER_X
fly.y = CENTER_Y
first_spawn = False
else:
fly.x = random.randint(0, 800)
fly.y = random.randint(0, 600)
def draw_counters(kills):
screen.draw.text("kills " + str(kills), fontsize=40, center=CENTER, color=FONT_COLOR)
def update():
#DIAGONALS
if keyboard.right and keyboard.down:
fly.x += MOVE_DISTANCE/1.5
fly.y += MOVE_DISTANCE/1.5
if fly.x > WIDTH:
fly.x = WIDTH
if fly.y > HEIGHT:
fly.y = HEIGHT
elif keyboard.left and keyboard.down:
fly.x -= MOVE_DISTANCE/1.5
fly.y += MOVE_DISTANCE/1.5
if fly.x < 0:
fly.x = 0
if fly.y > HEIGHT:
fly.y = HEIGHT
elif keyboard.right and keyboard.up:
fly.x += MOVE_DISTANCE/1.5
fly.y -= MOVE_DISTANCE/1.5
if fly.y < 0:
fly.y = 0
if fly.x > WIDTH:
fly.x = WIDTH
elif keyboard.left and keyboard.up:
fly.x -= MOVE_DISTANCE/1.5
fly.y -= MOVE_DISTANCE/1.5
if fly.y < 0:
fly.y = 0
if fly.x < 0:
fly.x = 0
#STRAIGHTS
elif keyboard.right:
fly.x += MOVE_DISTANCE
if fly.x > WIDTH:
fly.x = WIDTH
elif keyboard.left:
fly.x -= MOVE_DISTANCE
if fly.x < 0:
fly.x = 0
elif keyboard.down:
fly.y += MOVE_DISTANCE
if fly.y > HEIGHT:
fly.y = HEIGHT
elif keyboard.up:
fly.y -= MOVE_DISTANCE
if fly.y < 0:
fly.y = 0
def on_mouse_down(pos):
global kills
if fly.collidepoint(pos):
kills += 1
place_fly()
place_fly()
pgzrun.go()