用js基础循环,对数数组写喂食小游戏 动物园有5个房间,里面可以放入两种动物 老虎:初始体重200;能发出wow的叫声,每叫一声体重减5斤;吃肉增加体重10斤,吃其他东西减轻体重10斤 羊:初始体重100;能发出mie的叫声,每叫一声体重减5斤;吃草增加体重10斤,吃其他东西减轻体重10斤 游戏开始: 1. 首先向5个房间随机放入5只动物,弹窗显示5个房间动物的总体重 2. 用户有10次操作机会 - 每一轮随机显示一个房间号(不显示里面的动物) - 此时可以完成3个操作 - 敲门:里面的动物发出叫声,玩家由此得知里面放的什么动物,但房间动物体重会减少 - 喂肉:给随机出的房间中的动物喂肉吃 - 喂草:给随机出的房间中的动物喂草吃
时间: 2024-02-14 20:17:21 浏览: 49
好的,这是一个有趣的小游戏,下面是用 JavaScript 实现的代码,你可以在浏览器的控制台中运行它:
```javascript
// 定义动物类
class Animal {
constructor(name, weight, voice) {
this.name = name;
this.weight = weight;
this.voice = voice;
}
// 发出叫声
speak() {
console.log(this.voice);
this.weight -= 5;
}
// 吃东西
eat(food) {
if (food === "meat") {
this.weight += 10;
} else if (food === "grass") {
this.weight += 10;
} else {
this.weight -= 10;
}
}
}
// 定义老虎类
class Tiger extends Animal {
constructor(weight) {
super("tiger", weight, "wow");
}
}
// 定义羊类
class Sheep extends Animal {
constructor(weight) {
super("sheep", weight, "mie");
}
}
// 创建动物园
const rooms = [];
for (let i = 0; i < 5; i++) {
const random = Math.floor(Math.random() * 2);
if (random === 0) {
rooms.push(new Tiger(200));
} else {
rooms.push(new Sheep(100));
}
}
let totalWeight = rooms.reduce((acc, room) => acc + room.weight, 0);
alert(`动物园初始总体重为:${totalWeight}斤`);
// 开始游戏
let chances = 10;
while (chances > 0) {
const roomIndex = Math.floor(Math.random() * 5);
const room = rooms[roomIndex];
alert(`现在进入${roomIndex + 1}号房间`);
const action = prompt(
"请选择操作:\n1. 敲门\n2. 喂肉\n3. 喂草"
);
switch (action) {
case "1":
room.speak();
break;
case "2":
room.eat("meat");
break;
case "3":
room.eat("grass");
break;
default:
alert("无效操作");
}
totalWeight = rooms.reduce((acc, room) => acc + room.weight, 0);
alert(`当前总体重为:${totalWeight}斤`);
chances--;
}
alert("游戏结束!");
```
希望这个程序能够带给你一些乐趣!如果你有任何问题,欢迎向我提问。
阅读全文