DnDJSHTML5 / index.html
awacke1's picture
Update index.html
9ad3072
raw
history blame
3.56 kB
<!DOCTYPE html>
<html>
<head>
<title>Dungeons & Dragons</title>
<style>
body {
font-family: Arial, sans-serif;
}
#output {
white-space: pre-wrap;
background-color: #f0f0f0;
padding: 10px;
margin-top: 10px;
border-radius: 5px;
}
</style>
</head>
<body>
<h1>Dungeons & Dragons: Adventure Awaits</h1>
<button id="createCharacter">Create Character</button>
<button id="startAdventure">Start Adventure</button>
<button id="attack">Attack</button>
<button id="castSpell">Cast Spell</button>
<button id="useItem">Use Item</button>
<div id="output"></div>
<script>
let character = {};
let inventory = ["health potion", "magic potion", "mysterious key"];
let monsters = [
{ name: "Goblin", health: 30, strength: 5 },
{ name: "Orc", health: 50, strength: 10 },
{ name: "Dragon", health: 100, strength: 20 }
];
document.getElementById("createCharacter").addEventListener("click", createCharacter);
document.getElementById("startAdventure").addEventListener("click", startAdventure);
document.getElementById("attack").addEventListener("click", attack);
document.getElementById("castSpell").addEventListener("click", castSpell);
document.getElementById("useItem").addEventListener("click", useItem);
function createCharacter() {
character = {
name: "Hero",
class: "Warrior",
level: 1,
health: 100,
magic: 50,
strength: 10,
intelligence: 5,
inventory: [...inventory]
};
display(`Character Created: ${character.name}, the ${character.class}`);
}
function startAdventure() {
const encounters = ["a wild beast", "a mysterious traveler", "a hidden treasure", ...monsters.map(m => `a ${m.name}`)];
const encounter = encounters[Math.floor(Math.random() * encounters.length)];
display(`You encounter ${encounter} on your adventure.`);
}
function attack() {
if (!character.name) {
display("You need to create a character first!");
return;
}
const damage = Math.floor(Math.random() * character.strength);
display(`You attack dealing ${damage} damage.`);
}
function castSpell() {
if (!character.name) {
display("You need to create a character first!");
return;
}
const spells = ["Fireball", "Healing Light", "Shadow Strike", "Ice Bolt", "Thunder Wave"];
const spell = spells[Math.floor(Math.random() * spells.length)];
display(`You cast ${spell}! It uses 10 magic points.`);
character.magic -= 10;
}
function useItem() {
if (!character.name) {
display("You need to create a character first!");
return;
}
if (character.inventory.length === 0) {
display("Your inventory is empty!");
return;
}
const item = character.inventory.pop();
display(`You use a ${item}.`);
}
function display(message) {
document.getElementById("output").textContent += message + "\n";
}
</script>
</body>
</html>