Advertisement
Guest User

Untitled

a guest
Jul 12th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.36 KB | None | 0 0
  1. %Platformer
  2.  
  3. % Creates a window
  4. var winID : int := Window.Open ("graphics: 895;575, offscreenonly,nobuttonbar, title: Square²")
  5.  
  6.  
  7. %Score
  8. var scoreSeconds : int := 0
  9.  
  10. %Username
  11. var username : string
  12.  
  13. %Level Change
  14. var userMap1 : boolean := false
  15.  
  16. % Type used for points and vectors to track
  17. type Vector :
  18. record
  19. x : real
  20. y : real
  21. end record
  22.  
  23. % Holds keyboard data
  24. var pressedChars : array char of boolean
  25. var chars : array char of boolean
  26. Input.KeyDown (chars)
  27. pressedChars := chars
  28.  
  29. % Position and velocity of the player
  30. var pos : Vector
  31. pos.x := 150;
  32. pos.y := 275
  33. var vel : Vector
  34. vel.x := 0;
  35. vel.y := 0
  36.  
  37. % Position of the camera
  38. var cam : Vector
  39. cam.x := 0;
  40. cam.y := 0
  41.  
  42. % Size of the player
  43. var size : Vector
  44. size.x := 20;
  45. size.y := 20
  46.  
  47. %Player shape change
  48. var square, leaf, star : boolean
  49. square := true
  50. leaf := false
  51. star := false
  52.  
  53. % Collision booleans and directions
  54. var isTouchingGround : boolean := false
  55. var isTouchingWall : boolean := false
  56. var wallDir : int := 0
  57.  
  58. %Pause Key Variable
  59. var PauseKey : char
  60.  
  61. %Font Varialbes
  62. var font1 : int := Font.New ("Fixedsys:30")
  63. var font2 : int := Font.New ("Fixedsys:12")
  64.  
  65. %Variables for level changing
  66. var level1b : boolean := true
  67. var level2b : boolean := false
  68.  
  69. %Wall Jump Enable/Disable
  70. var wallJumpAbility : boolean := true
  71.  
  72. %User Colour
  73. var userColour : int := blue
  74.  
  75. %Variables needed
  76. var numOfPeople : int := 10
  77.  
  78. var names : array 1 .. numOfPeople of string %place to hold the names
  79. var scorse : array 1 .. numOfPeople of int %place to hold the scorse
  80. var fileName : string := "hiscores.txt" %name of the file where the top sorces will be placed and read from
  81.  
  82. %Load high score file
  83. var fileIn : int %the file stream
  84. var i : int := 0 %this is a counter to tell what name we are on
  85.  
  86. open : fileIn, fileName, get
  87.  
  88. loop
  89. exit when eof (fileIn) %exit when end of file
  90. i += 1 %add one to the counter
  91.  
  92. get : fileIn, names (i) %gets the name of the person at line i
  93. get : fileIn, scorse (i) %gets the sorcer of the person at line i
  94. end loop
  95.  
  96. %Sorting Method
  97. %sort the high score list to put the person
  98. %with the highest sorce 1st and lowest last
  99.  
  100. %bouble sort procedure
  101. %puts the arrays in order of smallest to biggest
  102. procedure sort
  103. for ii : 1 .. numOfPeople
  104. for iii : 2 .. numOfPeople
  105. if scorse (iii - 1) > scorse (iii) then
  106. %switchs the values
  107. var temp : int := scorse (iii - 1)
  108. scorse (iii - 1) := scorse (iii)
  109. scorse (iii) := temp
  110.  
  111. %also have to swtich the names so they
  112. %keep lined up with the scorse
  113. var temp2 : string := names (iii - 1)
  114. names (iii - 1) := names (iii)
  115. names (iii) := temp2
  116. end if
  117. end for
  118. end for
  119. end sort
  120.  
  121. var newIndex : int := 0 %the place to put this new sorce
  122.  
  123. proc updateHiscore
  124. %Update highscore list
  125.  
  126. sort
  127.  
  128. %now we need to check if the newScore beats any of the old ones
  129. %NOTE: this could be done throw any searching alrgithem but
  130. %i am using this one b/c it is easy rather then fast
  131.  
  132.  
  133. %if the newScore is better then all of them
  134. if scoreSeconds < scorse (1) then
  135. newIndex := 1
  136.  
  137. %else sreach for the spot where the new score fits
  138. else
  139. for k : 1 .. (numOfPeople - 1)
  140. if scoreSeconds < scorse (k) and scoreSeconds > scorse (k + 1) then
  141. newIndex := (k + 1)
  142. end if
  143.  
  144. %chechtch any of thous pesky entrys with the same score
  145. if scoreSeconds > scorse (k) then
  146. newIndex := k
  147. end if
  148. end for
  149. end if
  150.  
  151. %if newIndex = 0 then newScore dose not get on the list
  152. if newIndex not= 0 then
  153.  
  154. %now we need to put the newScore and newName in the list in the right place, but 1st we have
  155. %to shift all the ones below it down.
  156.  
  157. for decreasing j : numOfPeople .. (newIndex + 1)
  158. names (j) := names (j - 1)
  159. scorse (j) := scorse (j - 1)
  160. end for
  161.  
  162. %now we simply place the new entry in
  163. names (newIndex) := username
  164. scorse (newIndex) := scoreSeconds
  165. end if
  166.  
  167. end updateHiscore
  168.  
  169. %Display hiscore list
  170.  
  171. proc hiscoreWin
  172. var winID4 : int := Window.Open ("graphics: 500; 400, title: Hiscores")
  173. var highscoreback : int := Pic.FileNew ("GUI/highscore.jpg")
  174.  
  175. %Rewrite highscores
  176. %Re-write and save new highscore
  177.  
  178. open : newIndex, "hiscores.txt", put
  179. for d : 1 .. 10
  180. put : newIndex, names (d)
  181. put : newIndex, scorse (d)
  182. end for
  183.  
  184. close : newIndex
  185.  
  186. Pic.Draw (highscoreback, 0, 0, picMerge)
  187.  
  188. sort
  189.  
  190. %now we need a for loop to go throw each array and put that data on the screen
  191.  
  192. var hiy : int := 8
  193. for d : 1 .. numOfPeople
  194. locate (hiy + d, 15)
  195. put d, ". ", names (d), " - ", scorse (d)
  196. end for
  197. loop
  198. if chars ('q') then
  199. quit
  200. end if
  201. end loop
  202.  
  203. end hiscoreWin
  204.  
  205. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  206.  
  207. %Username Window
  208. var mapChoice : string
  209.  
  210. proc usernameWin
  211. var winID3 : int := Window.Open ("graphics: 375; 230, title: Username")
  212. var usernamePicture : int := Pic.FileNew ("GUI/username.jpg")
  213.  
  214. Pic.Draw (usernamePicture, 0, 0, picMerge)
  215. locate (9, 13)
  216. get username
  217.  
  218. Window.Hide (winID3)
  219. Window.SetActive (winID)
  220. end usernameWin
  221.  
  222. var userMap : int
  223.  
  224. %Map Selection
  225. proc selectMap
  226. var mapDir : string
  227. var streamNumber : int
  228. var fileName : string
  229. var dir : string
  230. dir := Dir.Current + "/usermaps"
  231. streamNumber := Dir.Open (dir)
  232. assert streamNumber > 0
  233. var font : int := Font.New ("arial:12")
  234. var y : int := maxx div 2
  235.  
  236.  
  237.  
  238. if userMap1 = true then
  239. var winID5 : int := Window.Open ("graphics: 595; 575, title: Map Selection")
  240. var mapSelectBack : int := Pic.FileNew ("GUI/mapselect.jpg")
  241. Pic.Draw (mapSelectBack, 0, 0, picCopy)
  242. locate (6, 8)
  243.  
  244. for i : 1 .. 10
  245. fileName := Dir.Get (streamNumber)
  246. %put fileName
  247. Font.Draw (fileName, 50, y, font, red)
  248. y -= 15
  249. end for
  250. Dir.Close (streamNumber)
  251.  
  252.  
  253. get mapDir
  254. mapDir := "usermaps/" + mapDir %+ ".bmp"
  255.  
  256.  
  257. if File.Exists (mapDir) then
  258. locate (6, 40)
  259. put "File Found"
  260. delay (1000)
  261. else
  262. locate (6, 40)
  263. put "File Not Found"
  264. delay (1000)
  265. quit
  266. end if
  267.  
  268. userMap := Pic.FileNew (mapDir)
  269.  
  270. Window.Close (winID5)
  271. Window.SetActive (winID)
  272. end if
  273.  
  274. end selectMap
  275.  
  276. % Picture(s) used for background and collision detection
  277. var platform1 : int := Pic.FileNew ("GUI/map.jpg")
  278.  
  279. %Console Window and Settings(code)
  280. var console : int := Pic.FileNew ("GUI/console.jpg")
  281. var consoleText : string
  282. var x, y, mouse : int
  283. var consoleTextFont : int := Font.New ("Arial:9")
  284. var realCommand : boolean := false
  285. var noclip : boolean := false
  286.  
  287. proc consoleWindow
  288. var winID2 : int := Window.Open ("graphics: 370;340,nobuttonbar, title: Console")
  289.  
  290.  
  291. Mouse.Where (x, y, mouse)
  292. Pic.Draw (console, 0, 0, picCopy)
  293. locate (20, 4)
  294. colorback (26)
  295. get consoleText
  296.  
  297.  
  298. if consoleText = "cheats" then
  299. realCommand := true
  300. Font.Draw ("teleport1", 25, maxy - 105, consoleTextFont, white)
  301. Font.Draw ("teleport2", 25, maxy - 115, consoleTextFont, white)
  302. Font.Draw ("homepos", 25, maxy - 125, consoleTextFont, white)
  303. Font.Draw ("shrink", 25, maxy - 135, consoleTextFont, white)
  304. Font.Draw ("grow", 25, maxy - 145, consoleTextFont, white)
  305. Font.Draw ("normal", 25, maxy - 155, consoleTextFont, white)
  306. Font.Draw ("skip100", 25, maxy - 165, consoleTextFont, white)
  307. Font.Draw ("high", 25, maxy - 175, consoleTextFont, white)
  308. Font.Draw ("walljump1", 25, maxy - 185, consoleTextFont, white)
  309. Font.Draw ("walljump0", 25, maxy - 195, consoleTextFont, white)
  310. Font.Draw ("green", 25, maxy - 205, consoleTextFont, white)
  311. Font.Draw ("quit", 25, maxy - 215, consoleTextFont, white)
  312. Font.Draw ("square", 25, maxy - 225, consoleTextFont, white)
  313. Font.Draw ("leaf", 25, maxy - 235, consoleTextFont, white)
  314. Font.Draw ("star", 25, maxy - 245, consoleTextFont, white)
  315. Font.Draw ("noclip0", 25, maxy - 255, consoleTextFont, white)
  316. Font.Draw ("noclip1", 25, maxy - 265, consoleTextFont, white)
  317. end if
  318.  
  319. if consoleText = "teleport1" then
  320. realCommand := true
  321. pos.x := 1150;
  322. pos.y := 175
  323. vel.x := 0;
  324. vel.y := 0
  325. end if
  326.  
  327. if consoleText = "teleport2" then
  328. realCommand := true
  329. pos.x := 650;
  330. pos.y := 355
  331. vel.x := 0;
  332. vel.y := 0
  333. end if
  334.  
  335. if consoleText = "homepos" then
  336. realCommand := true
  337. pos.x := 150;
  338. pos.y := 175
  339. vel.x := 0;
  340. vel.y := 0
  341. end if
  342.  
  343. if consoleText = "shrink" then
  344. realCommand := true
  345. size.x -= 10;
  346. size.y -= 10
  347. end if
  348.  
  349. if consoleText = "normal" then
  350. realCommand := true
  351. size.x := 20;
  352. size.y := 20
  353. end if
  354.  
  355. if consoleText = "grow" then
  356. realCommand := true
  357. size.x += 10;
  358. size.y += 10
  359. end if
  360.  
  361. if consoleText = "skip100" then
  362. realCommand := true
  363. pos.x += 100
  364. end if
  365.  
  366. if consoleText = "higher" then
  367. realCommand := true
  368. vel.y += 250
  369. end if
  370.  
  371. if consoleText = "walljump1" then
  372. realCommand := true
  373. wallJumpAbility := true
  374. end if
  375.  
  376. if consoleText = "walljump0" then
  377. realCommand := true
  378. wallJumpAbility := false
  379. end if
  380.  
  381. if consoleText = "quit" then
  382. Window.Hide (winID2)
  383. Window.SetActive (winID)
  384. end if
  385.  
  386. if consoleText = "green" then
  387. realCommand := true
  388. userColour := green
  389. end if
  390.  
  391. if consoleText = "square" then
  392. realCommand := true
  393. square := true
  394. star := false
  395. leaf := false
  396. end if
  397.  
  398. if consoleText = "star" then
  399. realCommand := true
  400. square := false
  401. star := true
  402. leaf := false
  403. end if
  404.  
  405. if consoleText = "leaf" then
  406. realCommand := true
  407. square := false
  408. star := false
  409. leaf := true
  410. end if
  411.  
  412. if consoleText = "noclip1" then
  413. realCommand := true
  414. noclip := true
  415. end if
  416.  
  417. if consoleText = "noclip0" then
  418. realCommand := true
  419. noclip := false
  420. end if
  421.  
  422. if consoleText = "resettimer" then
  423. realCommand := true
  424. scoreSeconds := 0
  425. end if
  426.  
  427.  
  428. if realCommand = true then
  429. Font.Draw ("Console: User has implemented the following: ", 25, maxy - 55, consoleTextFont, white)
  430. Font.Draw (consoleText, 25, maxy - 70, consoleTextFont, white)
  431. delay (2000)
  432. else
  433. Font.Draw ("Invalid Command Line", 25, maxy - 55, consoleTextFont, white)
  434. end if
  435.  
  436. Font.Draw ("You can only apply one command at a time.", 25, maxy - 290, consoleTextFont, white)
  437. delay (500)
  438.  
  439. realCommand := false
  440.  
  441. Window.Hide (winID2)
  442. Window.SetActive (winID)
  443.  
  444.  
  445. end consoleWindow
  446.  
  447.  
  448. % Faster to draw alot of fillboxes
  449. proc fillbox (x : real, y : real, x2 : real, y2 : real, c : int)
  450. if square = true then
  451. Draw.FillBox (round (x + cam.x), round (y + cam.y), round (x2 + cam.x), round (y2 + cam.y), userColour)
  452. elsif leaf = true then
  453. Draw.FillMapleLeaf (round (x + cam.x), round (y + cam.y), round (x2 + cam.x), round (y2 + cam.y), userColour)
  454. elsif star = true then
  455. Draw.FillStar (round (x + cam.x), round (y + cam.y), round (x2 + cam.x), round (y2 + cam.y), userColour)
  456. end if
  457. end fillbox
  458.  
  459. proc deadScreen
  460. cls
  461. put "dead"
  462. end deadScreen
  463.  
  464. proc levelChange
  465. % Draws background
  466. if userMap1 = false then
  467. Pic.Draw (platform1, round (cam.x), round (cam.y), picCopy)
  468. elsif userMap1 = true then
  469. Pic.Draw (userMap, round (cam.x), round (cam.y), picCopy)
  470. end if
  471. end levelChange
  472.  
  473. proc level
  474. loop
  475.  
  476. %Updates Score
  477. scoreSeconds := 1 + scoreSeconds
  478.  
  479. %Fills non-picture areas with a distracting colour
  480. drawfill (-100, -100, green, black)
  481.  
  482. % Get keyboard state
  483. Input.KeyDown (chars)
  484.  
  485. %Pause button
  486. if chars (' ') then
  487. Font.Draw ("Game Paused", maxx div 2, maxy - 50, font1, red)
  488. Font.Draw ("Press any key to continue", maxx div 2, maxy - 100, font2, 11)
  489. Font.Draw (username, maxx div 2, maxy - 150, font2, 11)
  490. Font.Draw (intstr (scoreSeconds), maxx div 2, maxy - 200, font2, 11)
  491. Draw.FillStar (150, 285, 300, 400, yellow)
  492. View.Update
  493. PauseKey := getchar
  494. end if
  495.  
  496. %Cheats button
  497. if chars ('c') and userMap1 = false then
  498. consoleWindow
  499. end if
  500.  
  501. %Restart button
  502. if chars ('r') then
  503. pos.x := 150;
  504. pos.y := 155
  505. vel.x := 0;
  506. vel.y := 100
  507. end if
  508.  
  509.  
  510. % Move dependent of collision with level and what keys are down
  511. if (isTouchingGround) then
  512. if chars ('w') then
  513. vel.y += 15
  514. end if
  515.  
  516. if chars ('a') then
  517. vel.x -= 1
  518. end if
  519. if chars ('d') then
  520. vel.x += 1
  521. end if
  522. else
  523.  
  524. % Wall Jump
  525. if (isTouchingWall) and wallJumpAbility = true then
  526. if chars ('w') then
  527. vel.y += 15
  528. vel.x += 5 * wallDir
  529. end if
  530. end if
  531.  
  532. if chars ('a') then
  533. vel.x -= 0.1
  534. end if
  535. if chars ('d') then
  536. vel.x += 0.1
  537. end if
  538. end if
  539.  
  540. % isTouchingGround is by default false and also helps with jump
  541. isTouchingGround := false
  542.  
  543.  
  544. % If moving left
  545. if (round (vel.x) < 0) then
  546. if (whatdotcolour (round (pos.x + vel.x - size.x + cam.x), round (pos.y - size.y + cam.y)) = black or whatdotcolour (round (pos.x + vel.x - size.x + cam.x), round (pos.y + size.y +
  547. cam.y)) =
  548. black) and noclip = false then
  549.  
  550.  
  551. isTouchingWall := true
  552. wallDir := 1
  553.  
  554. vel.x := 0
  555. else
  556. pos.x += vel.x
  557. isTouchingWall := false
  558. end if
  559.  
  560. % If moving right
  561. elsif (round (vel.x) > 0) then
  562. % Does the player hit a wall?
  563. if (whatdotcolour (round (pos.x + vel.x + size.x + cam.x), round (pos.y - size.y + cam.y)) = black or whatdotcolour (round (pos.x + vel.x + size.x + cam.x), round (pos.y + size.y +
  564. cam.y)) =
  565. black) and noclip = false then
  566. % Find where the player hit the wall
  567. isTouchingWall := true
  568. wallDir := -1
  569.  
  570. vel.x := 0
  571. else
  572. pos.x += vel.x
  573. isTouchingWall := false
  574. end if
  575. end if
  576.  
  577. %If Dead
  578. if pos.y - size.y < -50 then
  579. %quit
  580. end if
  581.  
  582. %If Winning Area
  583. if pos.x - size.x > maxx + 5800 and pos.y - size.y < 50 and userMap1 = false then
  584. Music.PlayFileStop
  585. Music.PlayFile ("music/LevelUpSound.wav")
  586. updateHiscore
  587. delay (1000)
  588. hiscoreWin
  589. exit
  590. end if
  591.  
  592. if pos.x - size.x > 1075 and pos.x - size.x < 1300 and pos.y - size.y > 2750 and pos.y - size.y < 2900 then
  593. pos.x := 2250;
  594. pos.y := 550
  595. vel.x := 0;
  596. vel.y := 56
  597. end if
  598.  
  599. if (vel.y < 0) then
  600. % Does the player hit a floor?
  601. if (whatdotcolour (round (pos.x - size.x + cam.x), round (pos.y + vel.y - size.y + cam.y)) = black or whatdotcolour (round (pos.x + size.x + cam.x), round (pos.y + vel.y - size.y +
  602. cam.y)) =
  603. black) then
  604. % Find where the player hit the floor
  605. for i : round (vel.y) .. 0
  606. if (whatdotcolour (round (pos.x - size.x + cam.x), round (pos.y + i - size.y + cam.y)) ~= black and whatdotcolour (round (pos.x + size.x + cam.x), round (pos.y + i -
  607. size.y +
  608. cam.y))
  609. ~= black) then
  610. % Move the player there
  611. pos.y := round (pos.y) + i;
  612. end if
  613. end for
  614.  
  615. isTouchingGround := true
  616.  
  617. vel.y := 0
  618. else
  619. pos.y += vel.y
  620. end if
  621. % If moving up
  622. elsif (vel.y > 0) then
  623. % Does the player hit a ceiling?
  624. if (whatdotcolour (round (pos.x - size.x + cam.x), round (pos.y + vel.y + size.y + cam.y)) = black or whatdotcolour (round (pos.x + size.x + cam.x), round (pos.y + vel.y + size.y +
  625. cam.y)) =
  626. black) and noclip = false then
  627. % Find where the player hit the ceiling
  628. for decreasing i : round (vel.y) .. 0
  629. if (whatdotcolour (round (pos.x - size.x + cam.x), round (pos.y + i + size.y + cam.y)) ~= black and whatdotcolour (round (pos.x + size.x + cam.x), round (pos.y + i +
  630. size.y +
  631. cam.y))
  632. ~= black) and noclip = false then
  633. % Move the player there
  634. pos.y := round (pos.y) + i;
  635. end if
  636. end for
  637. vel.y := 0
  638. else
  639. pos.y += vel.y
  640. end if
  641. end if
  642.  
  643. % Move camera to center it on the player
  644. cam.x -= round ((pos.x + cam.x - maxx / 2) / 10)
  645. cam.y -= round ((pos.y + cam.y - maxy / 2) / 10)
  646.  
  647. % Move downward to simulate gravity, less when against a wall
  648. if (isTouchingWall and vel.y < 0) and noclip = false then
  649. vel.y -= 9.8 / 30
  650. else
  651. vel.y -= 9.8 / 10
  652. end if
  653.  
  654.  
  655. % Set a maximum speed, less against a wall
  656. if (isTouchingWall) and (vel.y < -10) then
  657. vel.y := -10
  658. end if
  659.  
  660. if (vel.y < -15) then
  661. vel.y := -15
  662. elsif (vel.y > 15) then
  663. vel.y := 15
  664. end if
  665.  
  666. if (vel.x < -15) then
  667. vel.x := -15
  668. elsif (vel.x > 15) then
  669. vel.x := 15
  670. end if
  671.  
  672. % Simulates friction
  673. if (isTouchingGround) then
  674. vel.x /= 1.2
  675. end if
  676.  
  677. % Sets previous key states to the current key states
  678. pressedChars := chars
  679.  
  680. % Clears
  681. cls
  682.  
  683. levelChange
  684.  
  685.  
  686. % Draws player
  687. fillbox (pos.x - size.x, pos.y - size.y, pos.x + size.x, pos.y + size.y, blue)
  688.  
  689. % Updates window
  690. Window.Update (winID)
  691.  
  692. % Delays
  693. delay (8)
  694. end loop
  695. end level
  696.  
  697. var backgroundTitle : int := Pic.FileNew ("GUI/title.jpg")
  698. var backgroundInstruction : int := Pic.FileNew ("GUI/instructions.jpg")
  699. var backgroundPassword : int := Pic.FileNew ("GUI/password.jpg")
  700. var password1 : string
  701. var backgroundMapCreator : int := Pic.FileNew ("GUI/createmapinstruction.jpg")
  702. var backgroundCredits : int := Pic.FileNew ("GUI/credits.jpg")
  703.  
  704.  
  705. proc instruction
  706. loop
  707. Input.KeyDown (chars)
  708. cls
  709. Pic.Draw (backgroundInstruction, 0, 0, picCopy)
  710. if chars (KEY_ENTER) then
  711. cls
  712. level
  713. end if
  714. View.Update
  715. end loop
  716. end instruction
  717.  
  718. proc mapCreator
  719. loop
  720. View.Set ("offscreenonly")
  721. Pic.Draw (backgroundMapCreator, 0, 0, picCopy)
  722. View.Update
  723. end loop
  724. end mapCreator
  725.  
  726. proc credits
  727. loop
  728. Input.KeyDown (chars)
  729. cls
  730. Pic.Draw (backgroundCredits, 0, 0, picCopy)
  731. if chars (KEY_ENTER) then
  732. cls
  733. level
  734. end if
  735. View.Update
  736. end loop
  737. end credits
  738.  
  739.  
  740. proc titlePage
  741.  
  742. %Starts Playing Music
  743. %Music.PlayFileLoop ("Music.mp3")
  744. %Music.PlayFileLoop ("gamePlay.mp3")
  745. Music.PlayFileLoop ("music/derezzed.mp3")
  746.  
  747.  
  748. var x, y, mouse : int
  749. loop
  750. View.Set ("offscreenonly")
  751. Mouse.Where (x, y, mouse)
  752. Pic.Draw (backgroundTitle, 0, 0, picCopy)
  753. put x, " ", y
  754. if x > 458 and x < 698 and y > 405 and y < 464 and mouse = 1 then
  755. level
  756. end if
  757.  
  758. if x > 509 and x < 747 and y > 322 and y < 381 and mouse = 1 then
  759. instruction
  760. View.Update
  761. end if
  762.  
  763. if x > 459 and y > 238 and x < 697 and y < 299 and mouse = 1 then
  764. mapCreator
  765. end if
  766.  
  767. if x > 459 and y > 72 and x < 699 and y < 132 and mouse = 1 then
  768. credits
  769. end if
  770.  
  771.  
  772. View.Update
  773. end loop
  774.  
  775. end titlePage
  776.  
  777.  
  778.  
  779. usernameWin
  780. selectMap
  781. titlePage
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement