Now with kids mode

This commit is contained in:
Eric Ratliff
2025-06-25 23:28:10 -05:00
parent 681feab148
commit a569e6b7d2
5 changed files with 109 additions and 57 deletions

View File

@@ -5,7 +5,7 @@ let hamburgers = [];
let bullets = [];
let shieldOrb = null;
let greenOrb = null;
let lives = 100;
let lives = 30;
let score = 0;
let gameOver = false;
let lastShieldSpawn = 0;
@@ -13,6 +13,7 @@ let lastGreenSpawn = 0;
let pizzaImg, hamburgerImg;
let level = 1;
let initialObjects = 5;
let kidMode = true;
function preload() {
pizzaImg = loadImage('pizza.png', () => console.log('Pizza image loaded'), () => console.error('Failed to load pizza.png'));
@@ -21,6 +22,7 @@ function preload() {
function setup() {
createCanvas(800, 600);
window.kidMode = kidMode; // Set global kidMode before spawning
ship = new Ship();
spawnObjects(initialObjects);
}
@@ -28,7 +30,7 @@ function setup() {
function spawnObjects(numObjects) {
for (let i = 0; i < numObjects; i++) {
let rand = random();
if (rand < 0.25) {
if (rand < 0.15) {
pizzas.push(new Pizza());
console.log(`Spawned pizza at level ${level}, total pizzas: ${pizzas.length}`);
} else if (rand < 0.25) {
@@ -53,12 +55,13 @@ function draw() {
return;
}
// Display lives, score, and level
// Display lives, score, level, and kid mode
textSize(20);
fill(255);
text("Lives: " + lives, 50, 30);
text("Score: " + score, 50, 60);
text("Level: " + level, 50, 90);
text("Kid Mode: " + (kidMode ? "ON" : "OFF"), 70, 120);
// Handle continuous key input (WASD and Arrow Keys)
if (keyIsDown(65) || keyIsDown(LEFT_ARROW)) { // A or Left Arrow
@@ -134,7 +137,7 @@ function draw() {
if (lives <= 0) {
gameOver = true;
} else {
ship = new Ship(); // Reset ship position
ship = new Ship(true); // Reset ship with safe spawn
}
}
@@ -165,7 +168,7 @@ function draw() {
if (lives <= 0) {
gameOver = true;
} else {
ship = new Ship(); // Reset ship position
ship = new Ship(true); // Reset ship with safe spawn
}
}
@@ -196,7 +199,7 @@ function draw() {
if (lives <= 0) {
gameOver = true;
} else {
ship = new Ship(); // Reset ship position
ship = new Ship(true); // Reset ship with safe spawn
}
}
@@ -218,7 +221,7 @@ function draw() {
level++;
initialObjects = Math.ceil(initialObjects * 1.1); // Increase by 10%
bullets = []; // Clear bullets
ship = new Ship(); // Reset ship position
ship = new Ship(true); // Reset ship with safe spawn
spawnObjects(initialObjects);
console.log(`Starting Level ${level} with ${initialObjects} objects`);
}
@@ -237,7 +240,7 @@ function keyPressed() {
}
}
if (keyCode === 82 && gameOver) { // R to restart
lives = 100;
lives = 30;
score = 0;
level = 1;
initialObjects = 5;
@@ -247,12 +250,17 @@ function keyPressed() {
bullets = [];
shieldOrb = null;
greenOrb = null;
ship = new Ship();
ship = new Ship(true); // Safe spawn on restart
lastShieldSpawn = millis();
lastGreenSpawn = millis();
spawnObjects(initialObjects);
gameOver = false;
}
if (keyCode === 75) { // K to toggle Kid Mode
kidMode = !kidMode;
window.kidMode = kidMode; // Update global kidMode
console.log(`Kid Mode: ${kidMode ? 'ON' : 'OFF'}`);
}
}
function keyReleased() {