Advertisement
Prithak

RPG

Feb 21st, 2019
382
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.53 KB | None | 0 0
  1. 'Prithak Adhikari
  2. 'Saugat Adhikari
  3. '---------------------------
  4. 'A Project From
  5. '2/16/2019
  6. 'To
  7. '-
  8. '---------------------------
  9. 'This project was created for
  10. 'us to collaborate with a game
  11. 'that we dreamt to made for
  12. 'some time!
  13. SCREEN _NEWIMAGE(800, 600, 32)
  14. DIM idle&(15)
  15. DIM walk&(15)
  16. DIM jump&(15)
  17. DIM bush&(4)
  18. DIM bg AS LONG
  19. obsx = 700
  20. obsy = 500
  21. fps = 30
  22. PRINT "LOADING..."
  23. PRINT "Made by Prithak Games!"
  24. bg = _LOADIMAGE("rpg/tileset/BG/BG.png")
  25. y = 500
  26. ic = 1
  27. FOR i = 1 TO 15
  28. idle&(i) = _LOADIMAGE("rpg/char/Idle (" + LTRIM$(STR$(i)) + ").png")
  29. NEXT i
  30. FOR i = 1 TO 15
  31. walk&(i) = _LOADIMAGE("rpg/char/Walk (" + LTRIM$(STR$(i)) + ").png")
  32. NEXT i
  33. FOR i = 1 TO 15
  34. jump&(i) = _LOADIMAGE("rpg/char/Jump (" + LTRIM$(STR$(i)) + ").png")
  35. NEXT i
  36. FOR i = 1 TO 4
  37. bush&(i) = _LOADIMAGE("rpg/tileset/Object/Bush (" + LTRIM$(STR$(i)) + ").png")
  38. NEXT i
  39. i = 0
  40. type$ = "Idle"
  41. bgx = 0
  42. bgy = 0
  43. bgx2 = 800
  44. bgy2 = 600
  45.  
  46. t = 0
  47. direction = 1
  48. base_y = y - 100
  49. y = base_y
  50. jump = 0
  51. jump_i = 0
  52. DO
  53. CLS
  54. k$ = UCASE$(INKEY$)
  55. IF x >= 0 THEN
  56. _PUTIMAGE (bgx - (x) MOD 800, 0)-STEP(800, 600), bg
  57. _PUTIMAGE (bgx - (x) MOD 800 + 800, 0)-STEP(800, 600), bg
  58. ELSE
  59. _PUTIMAGE (bgx + ABS(x) MOD 800, 0)-STEP(800, 600), bg
  60. _PUTIMAGE (bgx + ABS(x) MOD 800 - 800, 0)-STEP(800, 600), bg
  61. END IF
  62.  
  63. t = t + 1
  64. IF _KEYDOWN(19200) THEN
  65. x = x - 10
  66. obsx = obsx + 10
  67. IF direction = 1 THEN direction = direction * -1
  68. END IF
  69. IF _KEYDOWN(19712) THEN
  70. x = x + 10
  71. obsx = obsx - 10
  72. IF direction = -1 THEN direction = direction * -1
  73. END IF
  74. IF _KEYDOWN(18432) AND jump = 0 THEN
  75. 'start jump sequence
  76. jump_i = 5
  77. jump = 1
  78. END IF
  79.  
  80.  
  81. IF jump THEN
  82. IF jump_i > 0 THEN
  83. jump_i = jump_i - 1
  84. y = y - 50
  85. ELSE
  86. y = y + vy
  87. vy = vy + 0.8
  88. END IF
  89.  
  90. IF y >= base_y THEN
  91. y = base_y
  92. vy = 0
  93. jump = 0
  94. END IF
  95.  
  96. IF direction = 1 THEN
  97. _PUTIMAGE (350, y - 30)-(350 + direction * 200, y + 200), jump&(7)
  98. ELSEIF direction = -1 THEN
  99. _PUTIMAGE (350 + 100, y - 15)-(350 + 100 + direction * 200, y + 200), jump&(7)
  100. END IF
  101. ELSE
  102. IF _KEYDOWN(19200) OR _KEYDOWN(19712) THEN
  103. IF direction = 1 THEN
  104. _PUTIMAGE (350, y)-(350 + direction * 200, y + 200), walk&(t MOD 15 + 1)
  105. ELSEIF direction = -1 THEN
  106. _PUTIMAGE (350 + 100, y)-(350 + 100 + direction * 200, y + 200), walk&(t MOD 15 + 1)
  107. END IF
  108. ELSE
  109. IF direction = 1 THEN
  110. _PUTIMAGE (350, y)-(350 + direction * 200, y + 200), idle&(t MOD 15 + 1)
  111. ELSEIF direction = -1 THEN
  112. _PUTIMAGE (350 + 100, y)-(350 + 100 + direction * 200, y + 200), idle&(t MOD 15 + 1)
  113. END IF
  114. END IF
  115. END IF
  116.  
  117. _PUTIMAGE (obsx, obsy)-(obsx + 100, obsy + 100), bush&(1)
  118.  
  119. IF detect(x, y, obsx, obsy, obsx + 100, obsy + 100) THEN
  120. dead x, y
  121. END IF
  122. _LIMIT fps
  123.  
  124. _DISPLAY
  125. LOOP UNTIL _KEYHIT = 27
  126.  
  127. FUNCTION detect (x, y, x1, y1, x2, y2)
  128. IF x >= x1 AND x <= x2 AND y >= y1 AND y <= y2 THEN
  129. detect = -1
  130. END IF
  131. END FUNCTION
  132.  
  133. SUB dead (x, y)
  134. FOR i = 1 TO 15
  135. die&(i) = _LOADIMAGE("rpg/char/dead (" + LTRIM$(STR$(i)) + ").png")
  136. NEXT i
  137. FOR i = 1 TO 15
  138. _PUTIMAGE (x, y), die&(i)
  139. NEXT i
  140. END SUB
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement