/**** * Classes ****/ // Class for the Dungeon var Dungeon = Container.expand(function () { var self = Container.call(this); self.rooms = {}; self.addRoom = function (x, y, description, items, enemies) { self.rooms[`${x},${y}`] = { description: description, items: items || [], enemies: enemies || [] }; }; self.getRoom = function (x, y) { return self.rooms[`${x},${y}`]; }; return self; }); //<Assets used in the game will automatically appear here> //<Write imports for supported plugins here> // Class for the Player var Player = Container.expand(function () { var self = Container.call(this); self.inventory = []; self.position = { x: 0, y: 0 }; // Starting position at the dungeon entrance self.move = function (direction) { switch (direction) { case 'north': self.position.y -= 1; break; case 'south': self.position.y += 1; break; case 'east': self.position.x += 1; break; case 'west': self.position.x -= 1; break; } game.updateDescription(); }; self.pickItem = function (item) { self.inventory.push(item); }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ // Initialize player and dungeon var player = new Player(); var dungeon = new Dungeon(); // Add rooms to the dungeon dungeon.addRoom(0, 0, "Zindanın girişindesiniz. Önünüzde iki koridor var: Biri kuzeye, diğeri doğuya gidiyor."); dungeon.addRoom(0, -1, "Kuzeyde karanlık bir oda. Duvarlarda eski yazıtlar var."); dungeon.addRoom(1, 0, "Doğuda bir hazine odası. Parlayan bir kılıç var.", ["kılıç"]); // Function to update the game description based on player's position game.updateDescription = function () { var room = dungeon.getRoom(player.position.x, player.position.y); if (room) { console.log(room.description); if (room.items.length > 0) { console.log("Eşyalar: " + room.items.join(", ")); } if (room.enemies.length > 0) { console.log("Düşmanlar: " + room.enemies.join(", ")); } } else { console.log("Bu bölgede bir şey yok."); } }; // Initial game description game.updateDescription(); // Example of player actions player.move('north'); // Move player north player.move('east'); // Move player east player.pickItem('kılıç'); // Pick up the sword
/****
* Classes
****/
// Class for the Dungeon
var Dungeon = Container.expand(function () {
var self = Container.call(this);
self.rooms = {};
self.addRoom = function (x, y, description, items, enemies) {
self.rooms[`${x},${y}`] = {
description: description,
items: items || [],
enemies: enemies || []
};
};
self.getRoom = function (x, y) {
return self.rooms[`${x},${y}`];
};
return self;
});
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
// Class for the Player
var Player = Container.expand(function () {
var self = Container.call(this);
self.inventory = [];
self.position = {
x: 0,
y: 0
}; // Starting position at the dungeon entrance
self.move = function (direction) {
switch (direction) {
case 'north':
self.position.y -= 1;
break;
case 'south':
self.position.y += 1;
break;
case 'east':
self.position.x += 1;
break;
case 'west':
self.position.x -= 1;
break;
}
game.updateDescription();
};
self.pickItem = function (item) {
self.inventory.push(item);
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Initialize player and dungeon
var player = new Player();
var dungeon = new Dungeon();
// Add rooms to the dungeon
dungeon.addRoom(0, 0, "Zindanın girişindesiniz. Önünüzde iki koridor var: Biri kuzeye, diğeri doğuya gidiyor.");
dungeon.addRoom(0, -1, "Kuzeyde karanlık bir oda. Duvarlarda eski yazıtlar var.");
dungeon.addRoom(1, 0, "Doğuda bir hazine odası. Parlayan bir kılıç var.", ["kılıç"]);
// Function to update the game description based on player's position
game.updateDescription = function () {
var room = dungeon.getRoom(player.position.x, player.position.y);
if (room) {
console.log(room.description);
if (room.items.length > 0) {
console.log("Eşyalar: " + room.items.join(", "));
}
if (room.enemies.length > 0) {
console.log("Düşmanlar: " + room.enemies.join(", "));
}
} else {
console.log("Bu bölgede bir şey yok.");
}
};
// Initial game description
game.updateDescription();
// Example of player actions
player.move('north'); // Move player north
player.move('east'); // Move player east
player.pickItem('kılıç'); // Pick up the sword