Advertisement
Guest User

Untitled

a guest
Aug 17th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.77 KB | None | 0 0
  1. AppTitle "Undead - Die Zombies kommen!"
  2.  
  3. Graphics 800,600,16,2
  4. SetBuffer BackBuffer()
  5.  
  6. FPS = CreateTimer (60)
  7.  
  8. SeedRnd MilliSecs()
  9. Local timer%=CreateTimer(60)
  10. Local player_X%=400
  11. Local player_Y%=300
  12. Local schuss_X#=0
  13. Local schuss_Y#=0
  14. Local schuss%=False
  15. Local shots%=0
  16. Local shotr%=0
  17. Local random#=0.0
  18.  
  19.  
  20.  
  21. ;------------------------- MAgazin
  22.  
  23.  
  24.  
  25. HidePointer()
  26. wand1 = LoadImage("gfx/wand1.png")
  27. stein2 = LoadImage("gfx/stein2.png")
  28. hit = LoadImage("gfx/hit.png")
  29. ziel = LoadImage("gfx/zielscheibe.png")
  30. health = LoadImage("gfx/gui/health.png")
  31. s_symbol = LoadImage("gfx/waffen/seconda_symbol.png")
  32. gui = LoadImage("gfx/gui/gui.png")
  33. schuss = LoadImage("gfx/schuss.png")
  34. Pointer = LoadImage ("gfx/gui/pointer.png")
  35. level = LoadImage ("gfx/spiel_hintergrund.png")
  36. shadow = LoadImage ("gfx/schatten.png")
  37. Const Filename$ = "gfx/imagestrip.png"
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44. If FileType( Filename$ ) = 1 Then ;Exestiert
  45. Local ImageStrip = LoadAnimImage( Filename$, 64, 64, 0, 72 )
  46. Else
  47. ImageStrip = CreateImage( 72*64, 64 )
  48.  
  49.  
  50. Image = LoadImage ("gfx/spieler.png")
  51.  
  52.  
  53. SetBuffer ImageBuffer( ImageStrip )
  54.  
  55. For i = 0 To 71
  56.  
  57. Local tmpImage = CopyImage( Image )
  58. HandleImage( tmpImage, 32, 32 )
  59. RotateImage( tmpImage, i*5 )
  60. DrawImage( tmpImage, 32+i*64, 32 )
  61. FreeImage( tmpImage )
  62. Next
  63. SaveImage( imageStrip, Filename$ )
  64. FreeImage( imageStrip )
  65. ImageStrip = LoadAnimImage( Filename$, 64, 64, 0, 72 )
  66. EndIf
  67.  
  68.  
  69.  
  70. ;-----------------------------------------------------------------
  71.  
  72.  
  73. SetBuffer BackBuffer( )
  74. Local angle#, image_angle
  75.  
  76. Type shot
  77. Field X#
  78. Field Y#
  79. Field angle#
  80. End Type
  81.  
  82. Global s.shot
  83.  
  84.  
  85.  
  86. Local Datei$, DateiHandle%, Name$
  87. Datei="config/uzi.txt"
  88. If FileExists(Datei$) Then
  89. DateiHandle=ReadFile(Datei)
  90. bulletspeed#=ReadLine(DateiHandle) ; schussgeschwindigkeit
  91. magazine=ReadLine(DateiHandle) ; maximal zu tragene magazine
  92. magazin=ReadLine(DateiHandle) ; anzahl schuss im magazin
  93. CloseFile DateiHandle
  94. EndIf
  95.  
  96. Local spieler$, DateiHandle2%, Name2$
  97. spieler="config/spieler.txt"
  98. If FileExists(spieler) Then
  99. DateiHandle2=ReadFile(spieler)
  100. leben_spieler%=ReadLine(DateiHandle2) ; maximale Gesundheit
  101. walk_speed=ReadLine(DateiHandle2) ; lauf-geschwindigkeit
  102. CloseFile DateiHandle2
  103. EndIf
  104.  
  105.  
  106. Repeat ; --------------------------------------HAUPTSCHLEIFE-----------------------------------
  107.  
  108. DrawImage level, 0,0
  109. DrawImage ziel, 100,100
  110. DrawImage stein2, 400,350
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120. If player_x>785 Then player_x=785
  121. If player_y>585 Then player_y=585
  122.  
  123. If player_x<15 Then player_x=15
  124. If player_y<15 Then player_y=15
  125.  
  126.  
  127.  
  128. ;---------------------------------------------------------------------------------------------------
  129. ; Bewegen & Steuern der Figur & Mauszeiger
  130. ;---------------------------------------------------------------------------------------------------
  131.  
  132. If KeyDown(30) Then player_x=player_x-walk_speed
  133. If KeyDown(32) Then player_x=player_x+walk_speed
  134. If KeyDown(31) Then player_y=player_y+walk_speed
  135. If KeyDown(17) Then player_y=player_y-walk_speed
  136.  
  137. If KeyDown(30) And ImageRectCollide (imagestrip ,player_x,player_y,0,stein,400,350,0) Then player_x=player_x+2
  138. If KeyDown(32) And ImageRectCollide (imagestrip ,player_x,player_y,0,stein,400,350,0) Then player_x=player_x-2
  139. If KeyDown(31) And ImageRectCollide (imagestrip ,player_x,player_y,0,stein,400,350,0) Then player_y=player_y-2
  140. If KeyDown(17) And ImageRectCollide (imagestrip ,player_x,player_y,0,stein,400,350,0) Then player_y=player_y+2
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147. angle# = (ATan2( MouseY( )-player_y, MouseX( )-player_x )+360) Mod 359.0 ;Winkel von der Mitte zur Maus
  148.  
  149. image_angle = Floor(angle# / 5.0) ;Bild-Index errechnen (Floor -> Abrunden der Kommazahl)
  150.  
  151. ;Bild malen mit dem errechnetem Index
  152.  
  153. mx = MouseX()
  154. my = MouseY()
  155.  
  156. DrawImage( ImageStrip, player_x, player_y, image_angle )
  157. HandleImage imagestrip ,28,28
  158.  
  159. DrawImage pointer, mx,my
  160. HandleImage( pointer, 16, 16 )
  161. ;------------------------------------------------------------
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169. DrawImage gui, 0,0
  170. ;DrawImage health, 20,550
  171.  
  172.  
  173. Locate 10,10
  174. Print "WASD zum bewegen"
  175. Locate 10,30
  176. Print "[r] zum nachladen"
  177. Locate 10,50
  178. Print "Maus zum zielen und Schießen"
  179.  
  180. Color 0, 0, 0 ;!!!!!!!
  181. Locate 665,575
  182. Print "Magazin: " + magazin + "/200" ;-------------------
  183. Locate 665,560
  184. Print "Magazine: " + magazine + "/3"
  185. Locate 665,540
  186. Print "Waffe: Uzi"
  187. Locate 10,80
  188. Print "Kugeln verschossen: " + shotr
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196. If MouseDown(1) Or MouseHit(2)
  197. If magazin = 0
  198. Locate 500,500
  199. Else
  200. magazin=magazin-1
  201. shots=shots+1
  202. shotr=shotr+1
  203. s.shot = New shot
  204. s\angle=ATan2(MouseY()-player_y,MouseX()-player_x) ;winkel spieler-maus
  205. s\X=player_x:s\Y=player_y
  206. EndIf
  207. EndIf
  208. If magazin = 0
  209. Locate 340,200
  210. Print "Nachladen! [r]"
  211. EndIf
  212.  
  213.  
  214.  
  215. ;---- Nachladen
  216. If KeyHit(19)
  217. If magazine<1 ; wenn magazin kleiner als 1 - nicht nachladen, ansonsten
  218. Else
  219. If magazin>12 ; Wenn magazin voll, nicht nachladen ansonsten
  220. Else
  221. magazine=magazine-1 ; ein magazin abziehen
  222. magazin=200 ; kugeln einfüllen
  223. EndIf
  224. EndIf
  225. EndIf
  226.  
  227.  
  228. For s.shot = Each shot
  229. s\X=s\X+Cos(s\angle)*bulletspeed
  230. s\Y=s\Y+Sin(s\angle)*bulletspeed
  231. DrawImage Schuss ,s\X,s\Y
  232. ; If ImagesCollide (Schuss ,s\X,s\Y,0,ziel,100,100,0) Then Delete s.shot : shots=shots-1
  233. ;Text 200,200, "Kollision"
  234.  
  235. If s\X>800 Or s\X<0 Or s\Y>600 Or s\Y<0 Or ImagesCollide (Schuss ,s\X,s\Y,0,ziel,100,100,0) Then Delete s.shot : shots=shots-1
  236. Next
  237.  
  238. WaitTimer fps
  239. WaitTimer timer
  240.  
  241. Flip 0
  242. Cls
  243. Until KeyHit(1)
  244. End
  245.  
  246. Function FileExists(Datei$)
  247. If FileType(Datei) =1 Then
  248. Return True
  249. EndIf
  250. End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement