hindernisse.py 4.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. # Ende "BLOCK1"
  15. import pygame
  16. from screen import screen
  17. feld = 48 # pixel
  18. # es gibt 13 x 17 Felder (Höhe x Breite)
  19. # , Farbe , (links, oben, breite, höhe), ausgefüllt
  20. grenzeLevel1 = [pygame.draw.rect(screen, (0,0,0), (0,0,feld,feld*12),0), # linke Wand
  21. pygame.draw.rect(screen, (0,0,0), (feld*16,0,feld,feld*13),0), # rechte Wand
  22. pygame.draw.rect(screen, (0,0,0), (0,0,feld*17,feld),0), # obere Wand
  23. pygame.draw.rect(screen, (0,0,0), (0,feld*12,feld*17,feld),0), # untere Wand
  24. # die nächsten Zeilen definieren die diversen Hindernisse des Levels
  25. pygame.draw.rect(screen, (0,0,0), (feld*5, feld, feld*2, feld*4),0),
  26. pygame.draw.rect(screen, (0,0,0), (feld*3, feld*2,feld*2, feld),0),
  27. pygame.draw.rect(screen, (0,0,0), (feld*7, feld*6,feld*2, feld*6),0),
  28. pygame.draw.rect(screen, (0,0,0), (feld*9, feld*6,feld*4, feld),0),
  29. pygame.draw.rect(screen, (0,0,0), (feld*16,0, feld, 13*feld),0),
  30. pygame.draw.rect(screen, (0,0,0), (0, feld*12, feld*17, feld),0)]
  31. # Kollisionen in Level2
  32. grenzeLevel2 = [pygame.draw.rect(screen, (0,0,0), (0,0,feld,feld*12),0), # linke Wand
  33. pygame.draw.rect(screen, (0,0,0), (feld*16,0,feld,feld*13),0), # rechte Wand
  34. pygame.draw.rect(screen, (0,0,0), (0,0,feld*17,feld),0), # obere Wand
  35. pygame.draw.rect(screen, (0,0,0), (0,feld*12,feld*17,feld),0), # untere Wand
  36. # die nächsten Zeilen definieren die diversen Hindernisse des Levels
  37. pygame.draw.rect(screen, (0,0,0), (feld,feld,feld*2,feld*2),0),
  38. pygame.draw.rect(screen, (0,0,0), (feld*8,feld*3,feld*2,feld*2),0),
  39. pygame.draw.rect(screen, (0,0,0), (feld*6,feld*4,feld*3,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*5,feld*6,feld*2,feld*4),0),
  42. pygame.draw.rect(screen, (0,0,0), (feld*3,feld*7,feld*2,feld*2),0),
  43. pygame.draw.rect(screen, (0,0,0), (feld*10,feld*7,feld*2,feld*3),0),
  44. pygame.draw.rect(screen, (0,0,0), (feld*9,feld*8,feld,feld),0)]
  45. grenzeLevel= [] #liste mit allen Hindernissen
  46. grenzeLevel.append(grenzeLevel1)
  47. grenzeLevel.append(grenzeLevel2)
  48. tor1 = pygame.Rect(3*feld + feld/2, feld, 5, 5) #Ziel in Level 1
  49. tor2 = pygame.Rect(3*feld + feld/2, feld, 5, 5) #Ziel in Level 2
  50. def drawLevel2():
  51. # , Farbe , (links, oben, breite, höhe), ausgefüllt
  52. pygame.draw.rect(screen, (255,0,0), (0,0,feld,feld*12),0) # linke Wand
  53. pygame.draw.rect(screen, (0,255,0), (feld*16,0,feld,feld*13),0) # rechte Wand
  54. pygame.draw.rect(screen, (0,0,255), (0,0,feld*17,feld),0) # obere Wand
  55. pygame.draw.rect(screen, (255,255,0), (0,feld*12,feld*17,feld),0) # untere Wand
  56. pygame.draw.rect(screen, (0,0,0), (feld,feld,feld*2,feld*2),0)
  57. pygame.draw.rect(screen, (0,0,0), (feld*8,feld*3,feld*2,feld*2),0)
  58. pygame.draw.rect(screen, (0,0,0), (feld*6,feld*4,feld*3,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*5,feld*6,feld*2,feld*4),0)
  61. pygame.draw.rect(screen, (0,0,0), (feld*3,feld*7,feld*2,feld*2),0)
  62. pygame.draw.rect(screen, (0,0,0), (feld*10,feld*7,feld*2,feld*3),0)
  63. pygame.draw.rect(screen, (0,0,0), (feld*9,feld*8,feld,feld),0)