This section has some of the essential functions for WOS, including player movement, the global chat system, and some of the inventory management. In this section you can see how some of the code this built and have a basic understanding on the structure of World of Stony.
Features Included:
Player Movement: Allows movement using WASD keys.
Global Chat System: Enables players to send messages from anywhere.
Inventory Management: Manages items in a player's inventory.
Fighting: Player fights against a mob.
JavaScript
document.addEventListener("keydown", function(event) {
switch(event.key) {
case "w": player.moveUp(); break;
case "a": player.moveLeft(); break;
case "s": player.moveDown(); break;
case "d": player.moveRight(); break;
}
});
function sendMessage(username, message) {
const chatBox = document.getElementById("chat-box");
const newMessage = document.createElement("p");
newMessage.textContent = `${username}: ${message}`;
chatBox.appendChild(newMessage);
}
class Inventory {
constructor() {
this.items = [];
}
addItem(item) {
this.items.push(item);
}
removeItem(item) {
this.items = this.items.filter(i => i !== item);
}
}
class Player {
constructor() {
this.attackPower = 3;
}
attack(target) {
target.takeDamage(this.attackPower);
}
}
const player = new Player();
const chicken = new Chicken();
player.attack(chicken);
```
Python
class Player:
def __init__(self, x=0, y=0):
self.x = x
self.y = y
def move(self, direction):
moves = {"w": (0, -1), "a": (-1, 0), "s": (0, 1), "d": (1, 0)}
if direction in moves:
dx, dy = moves[direction]
self.x += dx
self.y += dy
def send_message(username, message, chat_log=[]):
chat_log.append(f"{username}: {message}")
return chat_log
class Inventory:
def __init__(self):
self.items = []
def add_item(self, item):
self.items.append(item)
def remove_item(self, item):
if item in self.items:
self.items.remove(item)
class Chicken:
def __init__(self):
self.health = 10
def take_damage(self, damage):
self.health -= damage
print(f"Chicken has {self.health} HP left.")
if self.health <= 0:
print("You defeated the chicken!")
class Player:
def __init__(self):
self.attack_power = 3
def attack(self, target):
target.take_damage(self.attack_power)
player = Player()
chicken = Chicken()
player.attack(chicken)
```