Python Code Problem : " IndentationError: unindent does not match any outer indentation level "
Verfasst: Mittwoch 12. August 2020, 18:57
Guten Tag,
ich bin neu hier im Forum und auch in der Python Programmierung. Ich heisse Patrick bin 25j alt und möchte mir Hobbymässig Python aneignen.
Nun habe ich diverse Videos angeschaut und bin auf ein Textadventure gestoßen was ich jetzt abgetippt habe und umbauen will, nur komme ich an einer Stelle nicht weiter weil mir 'IndentationError: unindent does not match any outer indentation level' .
# -*- coding: utf-8 -*-
"""
Created on Wed Aug 12 05:12:03 2020
@author: G-O-D
"""
import random
class Item:
def __init__(self, weigth, worth):
self.weight = weight
self.worth = worth
class Potion(Item):
def __init__(self, weight, worth):
Item.__init__(self, weight, worth)
class HealthPotion(Potion):
def __init__(self, weight, worth, regenerated_health):
Potion.__init__(self, weight, worth)
self.regenerated_health = regenerated_health
class Character:
def __init__(self, hp, ad, name):
self.hp = hp
self.ad = ad
self.name = name
class CP(Character):
def __init__(self):
Character.__init__(self, 100, 10,"Max")
class HRDCP (Character):
def __init__(self):
Character.__init__(self, 1000, 10,"Felix")
class Player(Character):
def __init__(self, name, hp, ad):
Character.__init__(self, hp, ad, name)
self.max_hp = hp
def die(self):
exit(" Verkackt!!")
def get_hit(self, ad):
self.hp = self.hp - ad
if self.hp <= 0:
self.die()
def die(self):
print(" Du bist TOT!")
def rest(self):
self.hp = self.max_hp
class Field:
def __init__(self, enemies):
self.enemies = enemies
self.loot = []
def print_state (self):
print (" Du guckst dich um ")
for i in self.enemies:
print(i.name)
def gen_random():
rand = random.randint(0,2)
if rand == 0: <--------------------------- In dieser Reihe tritt der Fehler auf 'IndentationError: unindent does not match any outer indentation level'
return Field([])
if rand == 1:
return Field([CP()])
if rand == 2:
return Field ([HRDCP(), HRDCP(), CP()])
class Map:
def __init__(self, width, height):
self.state = []
self.x = 0
self.y = 0
for i in range(width):
fields = []
for j in range(height):
fields.append(Field.gen_random())
self.state.append(fields)
def print_state(self):
self.state[self.x][self.y].print_state()
def get_enemies(self):
return self.stte[self.x][self.y].enemies
def forwards(self):
if self.x ==len(self.state):
print(" Du siehst in weiter Ferne Autos die weit weg von dir fahren...")
else:
self.x = self.x + 1
def backwards(self):
if self.x == 0:
print(" Du siehst eine weitere kammer die Spass versprechen kann...")
else:
self.x = self.x - 1
def right(self):
if self.y ==len(self.state[self.x]) -1 :
print(" Du siehst in weiter Ferne Autos die weit weg von dir fahren...")
else:
self.x = self.x + 1
def left(self):
if self.x == 0:
print(" Du siehst in weiter Ferne Autos die weit weg von dir fahren...")
else:
self.x = self.x - 1
def forward(p, m):
m.forward()
def right (p, m):
m.right()
def left(p, m):
m.left()
def backwards(p, m):
m.backwards()
def save ():
pass
def load ():
pass
def quit_game(p, m):
print("Du hast anscheinend keinen Bock mehr ;p...")
def pickup(p, m):
pass
def fight(p, m):
enemies = m.get_enemies()
while len(enemies > 0):
enemies[0].get_hit(p.ad)
if enemies[0].is_dead():
enemies.remove(enemies[0])
for i in enemies:
p.get_hit(i.ad)
def rest(p, m):
p.rest()
help = help(print_help)
Commands = {
'help' : print_help,
'quit' : quit_game,
'pickup' : pickup,
'forward' : forward,
'right' : right,
'left' : left,
'backwards' : backwards,
'fight' : fight,
'save' : save,
'load' : load,
'rest' : rest,
'run' : run_away
}
def print_help(p, m):
print(Commands.keys())
if __name__ == '__main__':
name = input("Gib deinen Namen ein")
p = Player(name, 1000, 100)
map = Map (5,5)
print (" (Gebe Hilfe ein um die Verfügbaren Kommandos zu sehen)\n")
while True:
command = input (">").lower().split(" ")#Nuckelflasche nehmen
if command [0] in Commands:
if len(command) > 1:
Commands[command[0]](p, map, command[1:])
else:
Commands[command[0]](p, map)
else:
print(" Du stehst Hypnotisiert im Raum!")
Irgendwie weiss ich nicht warum?!... Habe auch leider nicht so viel Erfahrung, bis jetzt habe ich mich mit den Grundsachen beschäftigt dieser Script ist der erste größere.
Freue mich über Hilfe ;p
Gruss
Patrick
ich bin neu hier im Forum und auch in der Python Programmierung. Ich heisse Patrick bin 25j alt und möchte mir Hobbymässig Python aneignen.
Nun habe ich diverse Videos angeschaut und bin auf ein Textadventure gestoßen was ich jetzt abgetippt habe und umbauen will, nur komme ich an einer Stelle nicht weiter weil mir 'IndentationError: unindent does not match any outer indentation level' .
# -*- coding: utf-8 -*-
"""
Created on Wed Aug 12 05:12:03 2020
@author: G-O-D
"""
import random
class Item:
def __init__(self, weigth, worth):
self.weight = weight
self.worth = worth
class Potion(Item):
def __init__(self, weight, worth):
Item.__init__(self, weight, worth)
class HealthPotion(Potion):
def __init__(self, weight, worth, regenerated_health):
Potion.__init__(self, weight, worth)
self.regenerated_health = regenerated_health
class Character:
def __init__(self, hp, ad, name):
self.hp = hp
self.ad = ad
self.name = name
class CP(Character):
def __init__(self):
Character.__init__(self, 100, 10,"Max")
class HRDCP (Character):
def __init__(self):
Character.__init__(self, 1000, 10,"Felix")
class Player(Character):
def __init__(self, name, hp, ad):
Character.__init__(self, hp, ad, name)
self.max_hp = hp
def die(self):
exit(" Verkackt!!")
def get_hit(self, ad):
self.hp = self.hp - ad
if self.hp <= 0:
self.die()
def die(self):
print(" Du bist TOT!")
def rest(self):
self.hp = self.max_hp
class Field:
def __init__(self, enemies):
self.enemies = enemies
self.loot = []
def print_state (self):
print (" Du guckst dich um ")
for i in self.enemies:
print(i.name)
def gen_random():
rand = random.randint(0,2)
if rand == 0: <--------------------------- In dieser Reihe tritt der Fehler auf 'IndentationError: unindent does not match any outer indentation level'
return Field([])
if rand == 1:
return Field([CP()])
if rand == 2:
return Field ([HRDCP(), HRDCP(), CP()])
class Map:
def __init__(self, width, height):
self.state = []
self.x = 0
self.y = 0
for i in range(width):
fields = []
for j in range(height):
fields.append(Field.gen_random())
self.state.append(fields)
def print_state(self):
self.state[self.x][self.y].print_state()
def get_enemies(self):
return self.stte[self.x][self.y].enemies
def forwards(self):
if self.x ==len(self.state):
print(" Du siehst in weiter Ferne Autos die weit weg von dir fahren...")
else:
self.x = self.x + 1
def backwards(self):
if self.x == 0:
print(" Du siehst eine weitere kammer die Spass versprechen kann...")
else:
self.x = self.x - 1
def right(self):
if self.y ==len(self.state[self.x]) -1 :
print(" Du siehst in weiter Ferne Autos die weit weg von dir fahren...")
else:
self.x = self.x + 1
def left(self):
if self.x == 0:
print(" Du siehst in weiter Ferne Autos die weit weg von dir fahren...")
else:
self.x = self.x - 1
def forward(p, m):
m.forward()
def right (p, m):
m.right()
def left(p, m):
m.left()
def backwards(p, m):
m.backwards()
def save ():
pass
def load ():
pass
def quit_game(p, m):
print("Du hast anscheinend keinen Bock mehr ;p...")
def pickup(p, m):
pass
def fight(p, m):
enemies = m.get_enemies()
while len(enemies > 0):
enemies[0].get_hit(p.ad)
if enemies[0].is_dead():
enemies.remove(enemies[0])
for i in enemies:
p.get_hit(i.ad)
def rest(p, m):
p.rest()
help = help(print_help)
Commands = {
'help' : print_help,
'quit' : quit_game,
'pickup' : pickup,
'forward' : forward,
'right' : right,
'left' : left,
'backwards' : backwards,
'fight' : fight,
'save' : save,
'load' : load,
'rest' : rest,
'run' : run_away
}
def print_help(p, m):
print(Commands.keys())
if __name__ == '__main__':
name = input("Gib deinen Namen ein")
p = Player(name, 1000, 100)
map = Map (5,5)
print (" (Gebe Hilfe ein um die Verfügbaren Kommandos zu sehen)\n")
while True:
command = input (">").lower().split(" ")#Nuckelflasche nehmen
if command [0] in Commands:
if len(command) > 1:
Commands[command[0]](p, map, command[1:])
else:
Commands[command[0]](p, map)
else:
print(" Du stehst Hypnotisiert im Raum!")
Irgendwie weiss ich nicht warum?!... Habe auch leider nicht so viel Erfahrung, bis jetzt habe ich mich mit den Grundsachen beschäftigt dieser Script ist der erste größere.
Freue mich über Hilfe ;p
Gruss
Patrick