Ziel ist ein Programm, welches ein Labyrinth erstellt und es dem Spieler erlaubt, sich im Labyrinth zu bewegen. Er gewinnt, wenn er den Ausgang erreicht.

Player.py 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import random as rd
  2. import time as t
  3. import sys
  4. import os
  5. xyPlayer= [1,1] # festlegen der Startposition des Spielers
  6. xSense = 0
  7. ySense = 0
  8. #lesen des Labs, fallls in .txt-Datei enthalten
  9. def re():
  10. Data = open("TestLab.txt","r") #festlegen des Dateipfades
  11. global Mat #Mat ist die Matrix, die koordinatenbezogen Informationen ueber das Lab vereint
  12. Mat = []
  13. for line in Data: #Auslesen des Labs und ueberfuehren in eine Matrix
  14. li = line.strip().split(" ")
  15. Mat.append(li)
  16. Data.close()
  17. def sense(xSense,ySense): #Spieler "tastet" nach begehbaren Feldern
  18. feldwert = Mat[xSense][ySense]
  19. print "Feldwert = {}".format(feldwert)
  20. if feldwert == "1":
  21. xyPlayer[0] = xSense
  22. xyPlayer[1] = ySense
  23. print "Neue Koordinaten: x-Koordinate: {0}; y-Koordinate: {1}".format(xyPlayer[0],xyPlayer[1])
  24. elif feldwert == "0":
  25. print "Bonk!"
  26. elif feldwert == "S":
  27. xyPlayer[0] = xSense
  28. xyPlayer[1] = ySense
  29. print "Sie sind wieder am Start!{0}Neue Koordinaten: x-Koordinate: {1}; y-Koordinate: {2}".format("\n",xyPlayer[0],xyPlayer[1])
  30. elif feldwert == "Z":
  31. xyPlayer[0] = xSense
  32. xyPlayer[1] = ySense
  33. print "Sie sind am Ziel angekommen!{0}Neue Koordinaten: x-Koordinate: {1}; y-Koordinate: {2}".format("\n",xyPlayer[0],xyPlayer[1])
  34. else:
  35. print "fehler"
  36. def schritt(dir,val):
  37. if dir == "xPlayer":
  38. xSense = int(xyPlayer[0]) + val
  39. ySense = int(xyPlayer[1])
  40. print "xSense = {}".format(xSense)
  41. print "ySense = {}".format(ySense)
  42. elif dir == "yPlayer":
  43. xSense = int(xyPlayer[0])
  44. ySense = int(xyPlayer[1]) + val
  45. print "xSense = {}".format(xSense)
  46. print "ySense = {}".format(ySense)
  47. sense(xSense,ySense)
  48. def movement():
  49. move = raw_input("Geben Sie eine Bewegungrichtung an! (WASD)")
  50. if move == "W":
  51. schritt("xPlayer",-1)
  52. elif move == "S":
  53. schritt("xPlayer",1)
  54. elif move == "A":
  55. schritt("yPlayer",-1)
  56. elif move == "D":
  57. schritt("yPlayer",1)
  58. re()
  59. print Mat
  60. while True:
  61. movement()