Есть ли способ добавить строковое значение в интергер? - PullRequest
0 голосов
/ 22 марта 2020

Я хочу сделать 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...