Advertisement
PrzemekV5

Zadanie 3

Nov 21st, 2021
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.50 KB | None | 0 0
  1. # po uruchomieniu programu pobieramy współrzędne gracza które
  2. #będą wykorzystane w całym projekcie, będziemy jedynie aktualizować współrzędną "z" gracza żeby odpowiednio dobudowywać etapy
  3. pozycja=player.position()
  4. x=pozycja.get_value(Axis.X)
  5. y=pozycja.get_value(Axis.Y)
  6. z=pozycja.get_value(Axis.Z)
  7.  
  8. #funkcja ta przygotowuje pierwszy segment toru
  9. def tor():
  10.  
  11. #Tworzymy bryłę toru ze skały macierzystej
  12. blocks.fill(BEDROCK, world(x-10,y-1,z-2),world(x+10,y+10,z+35),FillOperation.HOLLOW)
  13. #pierwsza linia uruchamiająca etap 1
  14. blocks.fill(SEA_LANTERN, world(x-9,y-1,z+3),world(x+9,y-1,z+5))
  15. #gameplay.set_game_mode(SURVIVAL, mobs.target(NEAREST_PLAYER))
  16.  
  17. player.on_chat("start", tor)
  18.  
  19. def poZniszczeniu():
  20.  
  21. player.teleport(pos(0, 0, 10))
  22.  
  23. blocks.on_block_broken(GLOWSTONE, poZniszczeniu)
  24.  
  25.  
  26. def etap1(z):
  27. player.say("ETAP 1")
  28. #czyścimy poziomą linię bloków żeby uchronić gracza przed ponownym załadowaniem levelu
  29. blocks.fill(BEDROCK, world(x-10,y-1,z-5),world(x+10,y-1,z+5))
  30. #dodajemy przegrodę za graczem
  31. blocks.fill(BEDROCK, world(x-10,y,z-3),world(x+10,y+10,z-1))
  32. #linia ładująca kolejny etap
  33. blocks.fill(GOLD_BLOCK, world(x-9,y-1,z+25),world(x+9,y-1,z+27))
  34. #przeszkody etapu 1
  35. blocks.fill(IRON_BARS, world(x-9,y-1,z+3),world(x+9,y-1,z+20))
  36. blocks.fill(LAVA, world(x-9,y-2,z+3),world(x+9,y-2,z+20))
  37.  
  38.  
  39. while True:
  40. if blocks.test_for_block(IRON_BARS, pos(0, -1, 0)):
  41.  
  42. mobs.give(mobs.target(NEAREST_PLAYER), DIAMOND_AXE, 1)
  43. for i in range(6):
  44.  
  45. mobs.spawn(CREEPER, randpos(world(x-8,y+1,z+3), world(x+8,y+1,z+20)))
  46. #break kończy pętlę, która ją zawiera.
  47. #sterowanie programem przechodzi do instrukcji bezpośrednio po treści pętli.
  48. break
  49.  
  50. def etap2(z):
  51. player.say("ETAP 2")
  52. blocks.fill(BEDROCK, world(x-10,y-1,z-2),world(x+10,y+10,z+30), FillOperation.HOLLOW)
  53. blocks.fill(BEDROCK, world(x-10,y-1,z-5),world(x+10,y-1,z+5))
  54. blocks.fill(BEDROCK, world(x-10,y,z-3),world(x+10,y+10,z-1))
  55. blocks.fill(GLASS, world(x-9,y-1,z+25),world(x+9,y-1,z+27))
  56.  
  57. for i in range(11):
  58. mobs.spawn(ZOMBIE, randpos(world(x-8,y+3,z+3),world(x+8,y+3,z+20)))
  59.  
  60. def etap3(z):
  61. player.say("ETAP 3")
  62. blocks.fill(BEDROCK, world(x-10,y-1,z-2),world(x+10,y+10,z+30), FillOperation.HOLLOW)
  63. blocks.fill(BEDROCK, world(x-10,y-1,z-5),world(x+10,y-1,z+5))
  64. blocks.fill(BEDROCK, world(x-10,y,z-3),world(x+10,y+10,z-1))
  65. blocks.fill(GRANITE, world(x-9,y-1,z+25),world(x+9,y-1,z+27))
  66.  
  67. for i in range(11):
  68. blocks.place(LAVA, randpos(world(x-9,y+1,z+5),world(x+9,y+1,z+20)))
  69.  
  70. #kod odpowiedzialny za ładowanie poszczególnych etapów
  71. while True:
  72. #sprawdzamy blok pod graczem
  73. if blocks.test_for_block(SEA_LANTERN, pos(0, -1, 0)):
  74. #pobieramy aktualną pozycję z i przekazujemy do funkcji
  75. pozycja=player.position()
  76. z=pozycja.get_value(Axis.Z)
  77. etap1(z)
  78. loops.pause(3000)
  79. elif blocks.test_for_block(GOLD_BLOCK, pos(0, -1, 0)):
  80. #pobieramy aktualną pozycję z i przekazujemy do funkcji
  81. pozycja=player.position()
  82. z=pozycja.get_value(Axis.Z)
  83. etap2(z)
  84. loops.pause(3000)
  85. elif blocks.test_for_block(GLASS, pos(0, -1, 0)):
  86. #pobieramy aktualną pozycję z i przekazujemy do funkcji
  87. pozycja=player.position()
  88. z=pozycja.get_value(Axis.Z)
  89. etap3(z)
  90. loops.pause(3000)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement