Adding the 'Sports stats' exercice but modified to mesopotamian gods
This commit is contained in:
94
_small_exercices/gods.js
Normal file
94
_small_exercices/gods.js
Normal file
@@ -0,0 +1,94 @@
|
||||
// CLASS of gods
|
||||
const god = {
|
||||
_gods: [
|
||||
{
|
||||
name: "Ea",
|
||||
pantheon: "Mesopotamian",
|
||||
domain: ["Intelligence", "Wisdom", "Knowledge"]
|
||||
},
|
||||
{
|
||||
name: "Shamash",
|
||||
pantheon: "Mesopotamian",
|
||||
domain: ["Sun"]
|
||||
},
|
||||
{
|
||||
name: "Nergal",
|
||||
pantheon: "Mesopotamian",
|
||||
domain: ["Death", "Hell"]
|
||||
},
|
||||
{
|
||||
name: "Ningirsu",
|
||||
pantheon: "Mesopotamian",
|
||||
domain: ["War"]
|
||||
},
|
||||
{
|
||||
name: "Aton",
|
||||
pantheon: "Egyptian",
|
||||
domain: ["Sun"]
|
||||
}
|
||||
],
|
||||
_battles: [
|
||||
{
|
||||
opponent: "Asag",
|
||||
warrior: "Ningirsu",
|
||||
outcome: "Asag lose and his stone armies are dispersed.",
|
||||
pantheon: "Mesopotamian",
|
||||
},
|
||||
{
|
||||
opponent: "Humbaba",
|
||||
warrior: "Gilgamesh",
|
||||
outcome: "Gilgamesh kills Humbaba with the help of Enkidu",
|
||||
pantheon: "Mesopotamian",
|
||||
}
|
||||
],
|
||||
// GETTER for gods
|
||||
get gods() {
|
||||
return this._gods;
|
||||
},
|
||||
// GETTER for battles
|
||||
get battles() {
|
||||
return this._battles;
|
||||
},
|
||||
// METHOD for adding a god
|
||||
addGod(newName, newDomain, newPantheon) {
|
||||
let god = {
|
||||
name: newName,
|
||||
domain: newDomain,
|
||||
pantheon: newPantheon
|
||||
};
|
||||
this._gods.push(god);
|
||||
},
|
||||
// METHOD for adding a battle
|
||||
addBattle(newOpponent, newWarrior, newOutcome, newPantheon) {
|
||||
let battle = {
|
||||
opponent: newOpponent,
|
||||
warrior: newWarrior,
|
||||
outcome: newOutcome,
|
||||
pantheon: newPantheon
|
||||
};
|
||||
this._battles.push(battle);
|
||||
},
|
||||
// METHOD for retrieving gods by domains
|
||||
getGodsByDomain(domain) {
|
||||
return this._gods.filter(god => god.domain.includes(domain));
|
||||
},
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
// LOGGING of the first arrays in the god CLASS
|
||||
console.log(god.battles);
|
||||
console.log(god.gods);
|
||||
// Adding a new god and logging the result of the method
|
||||
god.addGod("Kishar", ["Earth"], "Mesopotamian");
|
||||
console.log(god.gods);
|
||||
// Adding a new battle and logging the result of the method
|
||||
god.addBattle("Tiamat", "Marduk", "Tiamat loses her fight against Marduk and her corpse become the sky and the soil.", "Mesopotamian");
|
||||
console.log(god.battles);
|
||||
|
||||
*/
|
||||
|
||||
const godNames = god.gods.map(g => g.name);
|
||||
const godDomains = god.gods.map(g => g.domain);
|
||||
console.log(godNames);
|
||||
console.log(godDomains);
|
||||
42
_small_exercices/meal_maker.js
Normal file
42
_small_exercices/meal_maker.js
Normal file
@@ -0,0 +1,42 @@
|
||||
const menu = {
|
||||
_meal: "",
|
||||
_price: 0,
|
||||
|
||||
set meal(mealToCheck) {
|
||||
if (typeof mealToCheck === "string") {
|
||||
this._meal = mealToCheck;
|
||||
} else {
|
||||
console.log('Please enter a valid string for the meal.');
|
||||
},
|
||||
|
||||
set price(priceToCheck) {
|
||||
if (typeof priceToCheck === "number") {
|
||||
this._price = priceToCheck;
|
||||
} else {
|
||||
console.log('Please enter a valid number for the price.');
|
||||
},
|
||||
|
||||
get todaysSpecial() {
|
||||
if (this._meal && this._price) {
|
||||
return(`Today's Special is ${this._meal} for ${this._price}€ !`);
|
||||
} else {
|
||||
return(`Meal or price was not set correctly.`)
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
menu.meal = "Enchiladas";
|
||||
menu.price = 15;
|
||||
console.log(menu.todaysSpecial);
|
||||
|
||||
menu.meal = "Hamburger savoyard";
|
||||
menu.price = 18;
|
||||
console.log(menu.todaysSpecial);
|
||||
|
||||
menu.meal = "Camembert au four";
|
||||
menu.price = "15";
|
||||
console.log(menu.todaysSpecial); // change the name of the plate but not the price
|
||||
|
||||
menu.meal = true;
|
||||
menu.price = "Canard laqué";
|
||||
console.log(menu.todaysSpecial); // doesn't change the name nor the price
|
||||
Reference in New Issue
Block a user