AnimeScotch
@AnimeScotch
какой то чел

Как сделать перезапуск кода в python?

Я хочу в последствии сделать кнопку рестарта, но не знаю как сделать сам рестарт.

from tkinter import*
import random
from time import sleep
direction = 'left'
speed_down_shar = 1
groundlevel=400
skor = 0
x=500
name = ('лево')
y=groundlevel
vx=0    #скорость по оси x
vy=0    #скорость по оси y
g=1     #ускорение свободного падения
color = ['violet']
color2 = ['red']
radius=8
x2=random.randrange(0,600)
y2=50
def game():
    global name,x,y,x2,y2,vy,vx,radius,color,color2,skor,speed_down_shar,text_text
    game_canvas.delete(ALL)
    game_canvas.create_image(300,250, image = player_fon)
    game_canvas.create_image(300,475, image = player_dirn)
    game_canvas.create_text(300,20,text= 'score-' + str(skor), fill='#00ff09')
    if y2 > 500:
        game_canvas.create_text(300,20,text= 'score-' + str(skor), fill='#00ff09')
    if  x < x2+radius+50/2 and x > x2-radius-50/2 and y < y2+radius+50/2 and y > y2-radius-50/2 :
        skor = skor + 1
        speed_down_shar = speed_down_shar + 0.1
        print(skor)
        x2=random.randrange(0,600)
        y2=50
        game_canvas.create_oval(100,100, 110,110,fill=color2)
    else:
        y2 = y2 + speed_down_shar
    if isonground():
        vy=0
        y=groundlevel
    else:
        vy = vy + g        
    x = x + vx
    y = y + vy
    if x > 600:
        x = 0
    if x < 0:
        x = 600
    if direction == 'left':
        game_canvas.create_image(x,y, image = player_left)
        name = ('лево')
    else:
        game_canvas.create_image(x,y, image = player_right)
        name = ('право')
    shar1=game_canvas.create_oval(x2+radius,y2+radius,x2-radius,y2-radius,fill=color)
    
    window.after(10,game)
def isonground():
    if y>=groundlevel:
        return True
    else:
        return False 
def left(event):
    global direction,vx
    vx = -6
    direction = 'left'
def right(event):
    global direction,vx
    vx = 6
    direction = 'right'
def stop (event):
    global vx
    vx = 0
def jump(event):
    global y,vy
    if isonground():
        y = y-1
        vy = -20
window = Tk()
window.title(name)
window.geometry('600x500')
game_canvas = Canvas (width = 600,height = 500, bg = 'black') 
game_canvas.pack()
player_left = PhotoImage(file = 'chicken_left.png')
player_right = PhotoImage(file = 'chicken_right.png')
player_dirn = PhotoImage(file = 'dirn3.png')
player_fon = PhotoImage(file = 'fon.png')
game()
#window.bind('<w>',up)
window.bind('<space>',jump)
#window.bind('<s>',down)
window.bind('<s>',stop)
window.bind('<a>',left)
window.bind('<KeyRelease-a>',stop)
window.bind('<d>',right)
window.bind('<KeyRelease-d>',stop)
window.mainloop()
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 1
@besic_py
Новичок в программировании изучаю Тг ботов, бд
Делаешь условие: Если нажата кнопка restart то запускаешь это:
os.execl(sys.executable, sys.executable, *sys.argv)

Сам конечно не особо разбираюсь но такой код должен перезапускать прогу
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы