Code Sketch
Sample Game Code
Category: Programming
cleari()
clearOutput()
drawStage(black)
val cb = canvasBounds
val len = 180
val len2 = 420
val stage = Picture.rectangle(cwidth, cheight)
stage.setPenColor(cm.white)
stage.setPosition(-cwidth / 2, -cheight / 2)
draw(stage)
val player = Picture.rectangle(50, 50)
player.setPenColor(noColor)
player.setFillColor(cm.white)
drawCentered(player)
val obstacle = Picture.circle(20)
val obstacles = picStack(
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len))
)
obstacles.setPosition(len2, 0)
obstacles.setPenColor(cm.white)
draw(obstacles)
val obstacle2 = picStack(
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len))
)
obstacle2.setPosition(len2 * 2, 0)
obstacle2.setPenColor(cm.white)
draw(obstacle2)
val obstacle3 = picStack(
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len))
)
obstacle3.setPosition(len2 * 3, 0)
obstacle3.setPenColor(cm.white)
draw(obstacle3)
val obstacle4 = picStack(
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len))
)
obstacle4.setPosition(len2 * 4, 0)
obstacle4.setPenColor(cm.white)
draw(obstacle4)
val obstacle5 = picStack(
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len))
)
obstacle5.setPosition(len2 * 5, 0)
obstacle5.setPenColor(cm.white)
draw(obstacle5)
val obstacle6 = picStack(
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len))
)
obstacle6.setPosition(len2 * 6, 0)
obstacle6.setPenColor(cm.white)
draw(obstacle6)
val obstacle7 = picStack(
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len)),
obstacle.withTranslation(0, random(-len, len))
)
obstacle7.setPosition(len2 * 7, 0)
obstacle7.setPenColor(cm.white)
draw(obstacle7)
animate {
obstacles.translate(-5, 0)
obstacle2.translate(-5, 0)
obstacle3.translate(-5, 0)
obstacle4.translate(-5, 0)
obstacle5.translate(-5, 0)
obstacle6.translate(-5, 0)
obstacle7.translate(-5, 0)
if (isKeyPressed(Kc.VK_UP)) {
player.translate(0, 5)
}
if (isKeyPressed(Kc.VK_DOWN)) {
player.translate(0, -5)
}
if (isKeyPressed(Kc.VK_LEFT)) {
player.translate(-5, 0)
}
if (isKeyPressed(Kc.VK_RIGHT)) {
player.translate(5, 0)
}
if (player.collidesWith(obstacles)) {
stopAnimation()
activateEditor()
drawCenteredMessage("You Lose", red, 30)
}
if (player.collidesWith(obstacle2)) {
stopAnimation()
activateEditor()
drawCenteredMessage("You Lose", red, 30)
}
if (player.collidesWith(obstacle3)) {
stopAnimation()
activateEditor()
drawCenteredMessage("You Lose", red, 30)
}
if (player.collidesWith(obstacle4)) {
stopAnimation()
activateEditor()
drawCenteredMessage("You Lose", red, 30)
}
if (player.collidesWith(obstacle5)) {
stopAnimation()
activateEditor()
drawCenteredMessage("You Lose", red, 30)
}
if (player.collidesWith(obstacle6)) {
stopAnimation()
activateEditor()
drawCenteredMessage("You Lose", red, 30)
}
if (player.collidesWith(obstacle7)) {
stopAnimation()
activateEditor()
drawCenteredMessage("You Lose", red, 30)
}
if (player.collidesWith(stage)) {
drawCenteredMessage("You Lose", red, 30)
stopAnimation()
activateEditor()
}
}
showGameTimeCountdown(15, "You Win", green, 30, 0, 40)
activateCanvas()