Beispiel #1
0
def parse_planet_parameters(line, planet):
    """Считывает данные о планете из строки.
    Предполагается такая строка:
    Входная строка должна иметь слеюущий формат:
    Planet <радиус в пикселах> <цвет> <масса> <x> <y> <Vx> <Vy>

    Здесь (x, y) — координаты планеты, (Vx, Vy) — скорость.
    Пример строки:
    Planet 10 red 1000 1 2 3 4

    Параметры:

    **line** — строка с описание планеты.
    **planet** — объект планеты.
    """
    l = line.split()
    planet = Planet()
    planet.R = line(1)
    planet.color = line(2)
    planet.m = line(3)
    planet.x = line(4)
    planet.y = line(5)
    planet.Vx = line(6)
    planet.Vy = line(7)
    return planet
Beispiel #2
0
def parse_planet_parameters(line):
    """Считывает данные о планете из строки.
    Предполагается такая строка:
    Входная строка должна иметь слеюущий формат:
    Planet <радиус в пикселах> <цвет> <масса> <x> <y> <Vx> <Vy>

    Здесь (x, y) — координаты планеты, (Vx, Vy) — скорость.
    Пример строки:
    Planet 10 red 1000 1 2 3 4

    Параметры:

    **line** — строка с описание планеты.
    **planet** — объект планеты.
    """
    planet = Planet()

    line_elems = line.split(' ')
    planet.size = float(line_elems[1])
    planet.color = str(line_elems[2])
    planet.m = float(line_elems[3])
    planet.x = float(line_elems[4])
    planet.y = float(line_elems[5])
    planet.Vx = float(line_elems[6])
    planet.Vy = float(line_elems[7])

    return planet
    pass  # FIXME: not done yet...
Beispiel #3
0
def destruction(body, space_objects):
    body.Vx *= 0.8
    body.Vy *= 0.8
    body.R *= 0.5
    body.m *= 0.5
    turn(body, 1)

    newbody = Planet()
    newbody.R = body.R
    newbody.m = body.m
    newbody.x = body.x
    newbody.y = body.y
    newbody.Vx = body.Vx
    newbody.Vy = body.Vy
    newbody.color = body.color

    turn(newbody, -2)

    space_objects.append(newbody)
Beispiel #4
0
def parse_parameters(line):
    """Считывает данные о небесном теле из строки.
    Входная строка должна иметь слеюущий формат:
    Star <радиус в пикселах> <цвет> <масса> <x> <y> <Vx> <Vy>

    Здесь (x, y) — координаты, (Vx, Vy) — скорость.
    Пример строки:
    Star 10 red 1000 1 2 3 4

    Параметры:

    **line** — строка с описание небесного тела.
    **star** — объект.
    """
    object_type = line.split()[0].lower()
    if object_type == "star":
        star = Star()
        star.type = line.split()[0]
        star.R = float(line.split()[1])
        star.color = line.split()[2]
        star.m = float(line.split()[3])
        star.x = float(line.split()[4])
        star.y = float(line.split()[5])
        star.Vx = float(line.split()[6])
        star.Vy = float(line.split()[7])
        return star
    elif object_type == "planet":
        planet = Planet()
        planet.type = line.split()[0]
        planet.R = float(line.split()[1])
        planet.color = line.split()[2]
        planet.m = float(line.split()[3])
        planet.x = float(line.split()[4])
        planet.y = float(line.split()[5])
        planet.Vx = float(line.split()[6])
        planet.Vy = float(line.split()[7])
        planet.name = line.split()[10]

        return planet
    else:
        print("Unknown space object")
Beispiel #5
0
def parse_planet_parameters(line):
    """Считывает данные о планете из строки.
    Предполагается такая строка:
    Входная строка должна иметь слеюущий формат:
    Planet <радиус в пикселах> <цвет> <масса> <x> <y> <Vx> <Vy>

    Здесь (x, y) — координаты планеты, (Vx, Vy) — скорость.
    Пример строки:
    Planet 10 red 1000 1 2 3 4

    Параметры:

    **line** — строка с описание планеты.
    **planet** — объект планеты.
    """
    planet = Planet()
    s = line
    a = s.find(' ')  #индекс первого пробела
    s = s[a + 1:]
    a = s.find(' ')
    planet.r = float(s[:a])  #радиус планеты
    s = s[a + 1:]
    a = s.find(' ')
    planet.color = s[:a]
    s = s[a + 1:]
    a = s.find(' ')
    planet.m = float(s[:a])  #масса планеты
    s = s[a + 1:]
    a = s.find(' ')
    planet.x = float(s[:a])
    s = s[a + 1:]
    a = s.find(' ')
    planet.y = float(s[:a])
    s = s[a + 1:]
    a = s.find(' ')
    planet.vx = float(s[:a])
    s = s[a + 1:]
    a = s.find(' ')
    planet.vy = float(s[:a])
    #pass  # FIXME: not done yet...
    return planet