hindernisse.py 4.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # (c) Hochschule Anhalt, veröffentlicht unter MIT-Lizenz
  2. # Hindernisse
  3. # Autor: Viktor Lysow, Johannes Tümler
  4. # Letzte Änderung: 30.03.2022
  5. # Zweck: Definition der vorhandenen Hinternisse
  6. # Der Nachfolgende Codeblock "BLOCK1" sorgt dafür, dass man aus jeder Datei heraus das Hauptprogramm starten kann.
  7. # Dadurch kann man in jeder Datei auf "play" drücken und es wird automatisch main.py gestartet.
  8. if __name__=="__main__":
  9. import subprocess
  10. # Auf Linux oder Mac aktivieren Sie die folgende Zeile und deaktivieren Sie die Zeile danach:
  11. #subprocess.call("python3 main.py", shell=True) # die richtige Main-Datei aufrufen (unser eigentliches Hauptprogramm)
  12. subprocess.call("main.py", shell=True) # die richtige Main-Datei aufrufen (unser eigentliches Hauptprogramm)
  13. exit(0) # nun das Programm hier beenden .. wir wollen ja nur das Hauptprogramm starten und nicht *diese* Datei.
  14. # Hinweis fürs Debugging: Das VSCode-Debugging funktioniert jedoch nur, wenn man das Debugging in der "main.py" beginnt! D.h. wer debuggen möchte, muss die main.py öffnen und dort Debug starten.
  15. # Ende "BLOCK1"
  16. import pygame
  17. from screen import screen
  18. from screen import feld
  19. # es gibt 13 x 17 Felder (Höhe x Breite)
  20. # , Farbe , (links, oben, breite, höhe), ausgefüllt
  21. grenzeLevel1 = [pygame.draw.rect(screen, (0,0,0), (0,0,feld,feld*12),0), # linke Wand
  22. pygame.draw.rect(screen, (0,0,0), (feld*16,0,feld,feld*13),0), # rechte Wand
  23. pygame.draw.rect(screen, (0,0,0), (0,0,feld*17,feld),0), # obere Wand
  24. pygame.draw.rect(screen, (0,0,0), (0,feld*12,feld*17,feld),0), # untere Wand
  25. # die nächsten Zeilen definieren die diversen Hindernisse des Levels
  26. pygame.draw.rect(screen, (0,0,0), (feld*5, feld, feld*2, feld*4),0),
  27. pygame.draw.rect(screen, (0,0,0), (feld*3, feld*2,feld*2, feld),0),
  28. pygame.draw.rect(screen, (0,0,0), (feld*7, feld*6,feld*2, feld*6),0),
  29. pygame.draw.rect(screen, (0,0,0), (feld*9, feld*6,feld*4, feld),0),
  30. pygame.draw.rect(screen, (0,0,0), (feld*16,0, feld, 13*feld),0),
  31. pygame.draw.rect(screen, (0,0,0), (0, feld*12, feld*17, feld),0)]
  32. # Kollisionen in Level2
  33. grenzeLevel2 = [pygame.draw.rect(screen, (0,0,0), (0,0,feld,feld*12),0), # linke Wand
  34. pygame.draw.rect(screen, (0,0,0), (feld*16,0,feld,feld*13),0), # rechte Wand
  35. pygame.draw.rect(screen, (0,0,0), (0,0,feld*17,feld),0), # obere Wand
  36. pygame.draw.rect(screen, (0,0,0), (0,feld*12,feld*17,feld),0), # untere Wand
  37. # die nächsten Zeilen definieren die diversen Hindernisse des Levels
  38. pygame.draw.rect(screen, (0,0,0), (feld,feld,feld*2,feld*2),0),
  39. pygame.draw.rect(screen, (0,0,0), (feld*8,feld*3,feld*2,feld*2),0),
  40. pygame.draw.rect(screen, (0,0,0), (feld*6,feld*4,feld*3,feld*2),0),
  41. pygame.draw.rect(screen, (0,0,0), (feld*6,feld*4,feld*3,feld*2),0),
  42. pygame.draw.rect(screen, (0,0,0), (feld*5,feld*6,feld*2,feld*4),0),
  43. pygame.draw.rect(screen, (0,0,0), (feld*3,feld*7,feld*2,feld*2),0),
  44. pygame.draw.rect(screen, (0,0,0), (feld*10,feld*7,feld*2,feld*3),0),
  45. pygame.draw.rect(screen, (0,0,0), (feld*9,feld*8,feld,feld),0)]
  46. grenzeLevel= [] #liste mit allen Hindernissen
  47. grenzeLevel.append(grenzeLevel1)
  48. grenzeLevel.append(grenzeLevel2)
  49. tor1 = pygame.Rect(3*feld + feld/2, feld, 5, 5) #Ziel in Level 1
  50. tor2 = pygame.Rect(3*feld + feld/2, feld, 5, 5) #Ziel in Level 2
  51. def drawLevel2():
  52. # , Farbe , (links, oben, breite, höhe), ausgefüllt
  53. pygame.draw.rect(screen, (255,0,0), (0,0,feld,feld*12),0) # linke Wand
  54. pygame.draw.rect(screen, (0,255,0), (feld*16,0,feld,feld*13),0) # rechte Wand
  55. pygame.draw.rect(screen, (0,0,255), (0,0,feld*17,feld),0) # obere Wand
  56. pygame.draw.rect(screen, (255,255,0), (0,feld*12,feld*17,feld),0) # untere Wand
  57. pygame.draw.rect(screen, (0,0,0), (feld,feld,feld*2,feld*2),0)
  58. pygame.draw.rect(screen, (0,0,0), (feld*8,feld*3,feld*2,feld*2),0)
  59. pygame.draw.rect(screen, (0,0,0), (feld*6,feld*4,feld*3,feld*2),0)
  60. pygame.draw.rect(screen, (0,0,0), (feld*6,feld*4,feld*3,feld*2),0)
  61. pygame.draw.rect(screen, (0,0,0), (feld*5,feld*6,feld*2,feld*4),0)
  62. pygame.draw.rect(screen, (0,0,0), (feld*3,feld*7,feld*2,feld*2),0)
  63. pygame.draw.rect(screen, (0,0,0), (feld*10,feld*7,feld*2,feld*3),0)
  64. pygame.draw.rect(screen, (0,0,0), (feld*9,feld*8,feld,feld),0)