L6-build-shooting-hoops.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // game set up
  2. let throwsMade = 0
  3. scene.setBackgroundImage(assets.image`myImage`)
  4. game.showLongText("press A when overlaping with the ball to throw it. Try to get more then 6 points.", DialogLayout.Center)
  5. info.startCountdown(20)
  6. // sprites set up
  7. let hoopSprite = sprites.create(assets.image`myImage0`, SpriteKind.Player)
  8. hoopSprite.setPosition(80, 20)
  9. let playerSprite = sprites.create(img`
  10. . . . . . . f f f f . . . . . .
  11. . . . . f f e e e e f f . . . .
  12. . . . f e e e f f e e e f . . .
  13. . . f f f f f 2 2 f f f f f . .
  14. . . f f e 2 e 2 2 e 2 e f f . .
  15. . . f e 2 f 2 f f 2 f 2 e f . .
  16. . . f f f 2 2 e e 2 2 f f f . .
  17. . f f e f 2 f e e f 2 f e f f .
  18. . f e e f f e e e e f e e e f .
  19. . . f e e e e e e e e e e f . .
  20. . . . f e e e e e e e e f . . .
  21. . . e 4 f f f f f f f f 4 e . .
  22. . . 4 d f 2 2 2 2 2 2 f d 4 . .
  23. . . 4 4 f 4 4 4 4 4 4 f 4 4 . .
  24. . . . . . f f f f f f . . . . .
  25. . . . . . f f . . f f . . . . .
  26. `, SpriteKind.Player)
  27. playerSprite.setPosition(80, 105)
  28. controller.moveSprite(playerSprite, 100, 0)
  29. playerSprite.setStayInScreen(true)
  30. let ballSprite = sprites.create(assets.image`myImage1`, SpriteKind.Player)
  31. ballSprite.setPosition(randint(10, screen.width - 10), playerSprite.y)
  32. // game mechanics
  33. forever(function () {
  34. if (playerSprite.overlapsWith(ballSprite) && controller.A.isPressed()) {
  35. ballSprite.follow(hoopSprite, randint(50, 100))
  36. }
  37. if (ballSprite.overlapsWith(hoopSprite)) {
  38. throwsMade += 1
  39. pause(500)
  40. ballSprite.follow(null)
  41. ballSprite.setPosition(randint(10, screen.width - 10), playerSprite.y)
  42. }
  43. })
  44. // on countdown end
  45. info.onCountdownEnd(function () {
  46. if (throwsMade >= 6) {
  47. game.showLongText("You made " + throwsMade + " baskets.", DialogLayout.Center)
  48. effects.confetti.startScreenEffect()
  49. } else {
  50. game.showLongText("You needed " + (6 - throwsMade) + " more points to win.", DialogLayout.Center)
  51. effects.blizzard.startScreenEffect()
  52. }
  53. game.reset()
  54. })