Kreator Postaci

0

Na początek jak brzmi polecenie:
Napisz program Kreator postaci do gry z podziałem na role. Gracz powinien otrzymać pulę 30 punktów, którą może spożytkować na cztery atrybuty: siła, zdrowie, mądrość i zręczność. Gracz powinien mieć możliwość przeznaczenia punktów z puli w dowolny atrybut, jak również możliwość odbierania punktów przypisanych do atrybutu i przekazywania ich z powrotem do puli:

Mój kod:

# Program kreator postaci

characters = ["Knight", "Paladin", "Sorcerer", "Druid"]
atributes = [["Health", 0], ["Strenght", 0], ["Agility", 0], ["Inteligence", 0]]
points = 30
choice = None

print("""
\t\t\t\tMenu
0.Wyjdź
1.Wybierz Klase
2.Zobacz Pule Punktów 
3.Przydziel Punty
4.Odejmij Punkty

"""
)
while choice != 0:
  choice = int(input("Wybierz pozycje w Menu: "))

  if choice == 0:
    print("Do widzenia")

  if choice == 1:
    print(characters)
    print("Jaką postacią chcesz grać")
    choice = int(input(characters))
    print("Wybrałeś: ", characters[choice])
      
  elif choice == 2:
    print(points)
      
  elif choice == 3:
    print("Wybierz atrybut i przydziel punty")
    choice = int(input(atributes))
    print("Wybrałeś: ", atributes[choice])

  elif choice == 4:
    print("Jakiemu atrybutowi chcesz odjąć punkty")
    choice = int(input(atributes))

print("Wybrałeś klasę postaci: ", characters[choice], "i rozdzieliłeś punkty w następujący sposób: ", atributes)

A mój problem polega na tym, że nie wiem co mam zrobić w 3 ifie, to znaczy wybiera atrybut z listy czyli przykładowo ["Health", 0], i jak widać po przecinku jest int, i chciał bym tak zrobić, żeby odjąć z puli points i dodać go do tej drugiej pozycji, żeby było np: ["Health", 10] a z puli, żeby ubyło i nie mam pojęcia jak to zrobić, wiem, że w tym przypadku jest to [0] i [1] ale jak próbuje dodać int to piszę, że nie można dodać int do listy jakieś wskazówki?

0

Moim zdaniem atrybuty powinny być słownikiem, przydało by się też stworzyć klasę "postać" i na niej operować.

0

Dokończyłem funkcję dodawania punktów,ale dalej myślę że robisz to źle

# Program kreator postaci

characters = ["Knight", "Paladin", "Sorcerer", "Druid"]
atributes = [["Health", 0], ["Strenght", 0], ["Agility", 0], ["Inteligence", 0]]
points = 30
choice = None

print("""
\t\t\t\tMenu
0.Wyjdź
1.Wybierz Klase
2.Zobacz Pule Punktów 
3.Przydziel Punty
4.Odejmij Punkty

"""
)
while choice != 0:
  choice = int(input("Wybierz pozycje w Menu: "))

  if choice == 0:
    print("Do widzenia")

  if choice == 1:
    print(characters)
    print("Jaką postacią chcesz grać")
    choice = int(input(characters))
    print("Wybrałeś: ", characters[choice])
      
  elif choice == 2:
    print(points)
      
  elif choice == 3:
    print("Wybierz atrybut i przydziel punty")
    choice = int(input(atributes))
    print("Wybrałeś: ", atributes[choice])
    print("ile punktów?")
    amount = int(input())
    if amount < points:
      atributes[choice][1] += amount
      points -= amount
    print("teraz", atributes[choice][0], "to", atributes[choice][1], "\nzostało ci jeszcze", points, "punktów to rozdysponowania")

  elif choice == 4:
    print("Jakiemu atrybutowi chcesz odjąć punkty")
    choice = int(input(atributes))

print("Wybrałeś klasę postaci: ", characters[choice], "i rozdzieliłeś punkty w następujący sposób: ", atributes)
0

o dzięki, no ja czytam na nowo bo coś nie kumam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1