Как сохранить историю результатов во внешний текстовый файл в python - PullRequest
0 голосов
/ 15 апреля 2020

Я хочу использовать только встроенную систему открытия файлов pythons. В каждом раунде пять игроков, но только 3 выигрывают в первом, втором и третьем порядке. Идентификатор игрока добавляется в массив, называемый победителями, например, если выигрывают черепаха 0,3 и 4:

winners = [0,3,4]

элемент 0 в победителях всегда первый позиция, элемент 1 - второй, а элемент 2 - третий

, теперь в текстовом файле я хочу обновить счет в следующем формате:

Turtle1 первый: 1 секунда: 0 третий: 3

Черепаха2 первый: 0 секунд: 1 третий: 0

Черепаха3 первый: 2 секунды: 1 третий: 0

Черепаха4 первый: 0 секунд: 0 третий: 0

Turtle5 первый: 1 секунда: 2 третий: 1

и я хочу переносить счет каждый раз, когда играю в игру

Я открываю файл в КОНЦЕ кода

import turtle
import random
import time

window_width=600
window_height=400
window=turtle.Screen()
window.setup(window_width,window_height)

#All the pens i'm using
start_pen=turtle.Turtle()
start_pen.speed(0)
start_pen.hideturtle()
start_pen.pensize(1.5)
start_pen.penup()

square_pen=turtle.Turtle()
square_pen.speed(0)
square_pen.hideturtle()
square_pen.shape("square")
square_pen.turtlesize(0.75)
square_pen.penup()

turtle_pen=turtle.Turtle()
turtle_pen.speed(0)
turtle_pen.hideturtle()
turtle_pen.penup()
turtle_pen.shape("turtle")

colors=["red","blue","green","pink","orange"]
positions=[[-210,180],[-210,108],[-210,36],[-210,-36],[-210,-108]]
winners=[]

def draw_square(x,y):
    square_pen.setpos(x,y)
    square_pen.stamp()

def draw_start():
    start_pen.setpos(-210,210)
    start_pen.pendown()
    start_pen.left(270)
    start_pen.fd(420)
    start_pen.penup()

def draw_finish():
    offset=30
    x=200
    y=200
    for i in range(0,15):
        draw_square(x,y)
        y-=offset
    x-=(offset/2)
    y+=(offset/2)
    for i in range(0,15):
        draw_square(x,y)
        y+=offset

def stamp_turtle(x,y,color):
    turtle_pen.setpos(x,y)
    turtle_pen.color(color)
    turtle_pen.stamp()

def determine_new_positions(positions):
    speed=30
    random_number=random.randint(0,4)
    if random_number not in winners:
        positions[random_number][0]+=speed
    else:
        determine_new_positions(positions)
    return positions

def determine_winners():
    for i in range(0,5):
        if positions[i][0]>=180 and i not in winners:
            winners.append(i)

def main():
    turtle.tracer(0,0)
    turtle_pen.clearstamps()
    for i in range (0,5):
        stamp_turtle(positions[i][0],positions[i][1],colors[i])
    determine_new_positions(positions)
    determine_winners()
    turtle.update()
    #time.sleep(0.2)


draw_finish()
draw_start()
while len(winners)<=3:
    main()
file= open("history.txt","r")
alltext=file.read()

file= open("history.txt","r")
for i in range(0,5):
    line=file.readline()
    if i==winners[0]:
        print(line[14])
    elif i==winners[1]:
        print(line[23])
    elif i ==winners[2]:
        print(line[31])
print(alltext)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...