Code Sketch
sanavi pawar (animation code)
Category: Programming
// 1. Game Setup & Attractive Backdrop
cleari()
// ?? ????? ????? ???? ????????? ?????????? (Sky Blue Gradient Background)
setBackground(cm.linearGradient(0, -200, Color(30, 144, 255), 0, 200, Color(240, 248, 255), false))
// 2. Add Game Title (????? ????????)
val titleText = Picture.text("? APPLE CATCHER ?", 26)
titleText.setFillColor(Color(220, 20, 60)) // ??????? ??? ???
titleText.setPosition(-140, 170)
// 3. Create Styled Game Objects
val basket = Picture.rectangle(90, 20)
basket.setFillColor(Color(139, 69, 19)) // ??? ?????? ?????
basket.setPenColor(noColor)
basket.setPosition(-45, -160)
val apple = Picture.circle(16)
apple.setFillColor(Color(255, 0, 0)) // ?????? ??? ??????
apple.setPenColor(noColor)
apple.setPosition(0, 120)
// ?????????? ?????? ??????? ????????
var score = 0
val scoreText = Picture.text(s"Score: $score", 22)
scoreText.setFillColor(Color(0, 100, 80)) // ??? ????-????? ???
scoreText.setPosition(-180, 130)
// ???? ??????? ????????? ????? ?????
draw(titleText, basket, apple, scoreText)
// 4. Game State Variables
var basketX = -45.0
val basketSpeed = 8.0 // ?????????? ??????? ????? ?????
var appleY = 120.0
var appleX = 0.0
val fallSpeed = 5.0
// 5. Core Game Loop (????? ??? ???)
animate {
// Continuous Keyboard Steering: ???????? ??-????? isKeyPressed ???? ??????? ????? ?????? ?????
if (isKeyPressed(Kc.VK_LEFT) && basketX > -200) {
basketX -= basketSpeed
basket.setPosition(basketX, -160)
}
if (isKeyPressed(Kc.VK_RIGHT) && basketX < 110) {
basketX += basketSpeed
basket.setPosition(basketX, -160)
}
// ?????? ???? ???????? ??????
appleY -= fallSpeed
apple.setPosition(appleX, appleY)
// Precise Collision Detection: ?????? ?????? ???????
if (appleY <= -140 && appleY >= -165) {
if (appleX >= basketX - 10 && appleX <= (basketX + 90)) {
score += 1 // ?????? ?????
// Kojo ?? ?????? .update ?????? ?????? ?????? ????? ?????? ????
scoreText.update(s"Score: $score")
// ?????? ?????? ???? ?????
appleY = 130
appleX = random(-160, 140)
apple.setPosition(appleX, appleY)
}
}
// ?????? ???? ??? ??????? ?????? ???? ?????
if (appleY < -200) {
appleY = 130
appleX = random(-160, 140)
apple.setPosition(appleX, appleY)
}
}
// ??????? ????????? ?????? ?????????? ?????????? ???????? ???? ???
activateCanvas()