🎨 Student Showcase

Discover amazing projects created by our talented students. Like, love, and star your favorites!

Pong
Scratch
0
Mikhael Dante

Mikhael Dante

1 month ago

Pong

Pong. Pong. Pong. Use the mouse to move the plate thing. Singleplayer...

View
pong game 1 player
Scratch
0
William Tedjosaputro

William Tedjosaputro

1 month ago

pong game 1 player

<!DOCTYPE html> <html lang="id"> <head> <meta charset="UTF-8"> <title>Pong 1 Player</title> <style> body { margin: 0; background: black; color: white; text-align: center; } canvas { display: block; margin: auto; background: #111; } </style> </head> <body> <h2>Pong 1 Player</h2> <p>Gerak: W/S | Target: 42 poin | Jangan kena garis merah!</p> <canvas id="game" width="800" height="500"></canvas> <script> const canvas = document.getElementById("game"); const ctx = canvas.getContext("2d"); let paddle = { x: 20, y: 200, w: 10, h: 100 }; let ball = { x: 400, y: 250, vx: 5, vy: 4, r: 8 }; let score = 0; let keys = {}; document.addEventListener("keydown", e => keys[e.key] = true); document.addEventListener("keyup", e => keys[e.key] = false); function update() { // Gerak paddle if (keys['w']) paddle.y -= 6; if (keys['s']) paddle.y += 6; paddle.y = Math.max(0, Math.min(canvas.height - paddle.h, paddle.y)); // Gerak bola ball.x += ball.vx; ball.y += ball.vy; // Pantul atas bawah if (ball.y < 0 || ball.y > canvas.height) ball.vy *= -1; // Kena paddle = tambah skor if (ball.x - ball.r < paddle.x + paddle.w && ball.y > paddle.y && ball.y < paddle.y + paddle.h) { ball.vx *= -1; score++; } // Kena dinding kanan (garis merah) = kalah if (ball.x > canvas.width) { alert("KALAH! Skor kamu: " + score); resetGame(); } // Menang kalau 42 if (score >= 42) { alert("MENANG! Skor 42 tercapai!"); resetGame(); } } function resetGame() { score = 0; ball.x = 400; ball.y = 250; ball.vx = 5; ball.vy = 4; } function draw() { ctx.clearRect(0, 0, canvas.width, canvas.height); // Garis merah (zona kalah) ctx.fillStyle = "red"; ctx.fillRect(canvas.width - 10, 0, 10, canvas.height); // Bola ctx.fillStyle = "white"; ctx.beginPath(); ctx.arc(ball.x, ball.y, ball.r, 0, Math.PI * 2); ctx.fill(); // Paddle ctx.fillStyle = "blue"; ctx.fillRect(paddle.x, paddle.y, paddle.w, paddle.h); // Skor ctx.fillStyle = "white"; ctx.font = "30px Arial"; ctx.fillText("Score: " + score, 320, 50); } function gameLoop() { update(); draw(); requestAnimationFrame(gameLoop); } gameLoop(); </script> </body> </html>

View
MazeGame
Scratch
0
Mikhael Dante

Mikhael Dante

1 month ago

MazeGame

Find your friend in the maze. You may encounter some things in your way...

View
Dino Jump
Scratch
0
world war shooting game
Scratch
0
George Lie

George Lie

1 month ago

world war shooting game

press space to shoot and left click mini circle to activate sheild

View
catch the chicken
Scratch
0
Ben Xavier Wiguno

Ben Xavier Wiguno

1 month ago

catch the chicken

Permainan ini seru karena menggabungkan kecepatan, strategi, dan sedikit keberuntungan 😄

View
2 player pong game
Scratch
0
CARLOS DAVIDSON EBENEZER F.

CARLOS DAVIDSON EBENEZER F.

1 month ago

2 player pong game

press a/c button for up and down (only player 1) press b/d button for up and down (only player 2)

View
Catch The Fruit
Scratch
1
Nyoman Aditya Natha Maheswara

Nyoman Aditya Natha Maheswara

1 month ago

Catch The Fruit

tangkap semua buahnya ke keranjang buat menang

View
Ghost Catching
Scratch
0
Mikhael Dante

Mikhael Dante

1 month ago

Ghost Catching

The evil ghosts are lurking in the dark forest. Catch them all!

View
Space Wars
Scratch
0
Mikhael Dante

Mikhael Dante

1 month ago

Space Wars

Defeat the powerful enemy in space!

View
hide and witth da bro`s
Scratch
0
Jonathan Myers Tanaya

Jonathan Myers Tanaya

1 month ago

hide and witth da bro`s

this was lowkey because i dont have any ideas rn

View