Skip to content

Exercise 12 - Objekte und Funktionen

let spaceship = {
name: "Daedalus",
class: "BC-304",
crew: [
{
name: "Steven Caldwell",
rank: "Colonel",
position: "Commanding officer",
},
{
name: "Patrick Bishop",
rank: "Lt. Colonel",
position: "Navigator",
},
{
name: "Melissa Hocken",
rank: "Lt. Colonel",
position: "Pilot",
},
{
name: "Kevin Marks",
rank: "Major",
position: "Weapons Officer",
},
{
name: "Megan Cooper",
rank: "Captain",
position: "Navigator",
},
{
name: "Mark Stern",
rank: "Lt.",
position: "Communications Officer",
},
{
name: "Lindsey Novak",
rank: "Dr.",
position: "Engineer",
},
{
name: "Dave Kleinman",
rank: "Dr.",
position: "Weapons Officer",
},
],
engines: [
{
type: "Maneuvering thrusters",
speed: 300,
speedUnit: "km/s",
consumption: {
kind: "Naquadah",
amount: 1,
unit: "s",
},
},
{
type: "Sublight drive",
speed: 250000,
speedUnit: "km/s",
consumption: {
kind: "Naquadah",
amount: 167,
unit: "s",
},
},
{
type: "Asgard hyperdrive",
speed: 150,
speedUnit: "ly/h",
consumption: {
kind: "Zero Point Module",
},
},
],
fuel: [
{
type: "Naquadah",
kind: "limited",
amount: 10000,
},
{
type: "Zero Point Module",
kind: "unlimited",
},
],
weapons: [
{
type: "Asgard plasma beam",
amount: 4,
damage: 1000,
cooldown: 20,
},
{
type: "Railgun",
amount: 32,
damage: 150,
cooldown: 30,
},
],
};
////////////////////////////////////////////
// Füge eine neue Waffe deiner Wahl hinzu.
// TODO:Erstelle die Function addWeapon
// TODO: Kommentiere den Funktionsaufruf ein:
// addWeapon(spaceship);
////////////////////////////////////////////
// Die 4 Asgard Plasma Beams sollen für insgesamt 5 Minuten (= 300 Sekunden)
// so oft feuern wie es geht.
// Zwischen den Schüssen haben sie 20 Sekunden Cooldown.
// Erstelle die Funktion fireAsgardBeam, die berechnet wie viel Schaden gemacht wird
// Die Funktion hat als Parameter die Zeit in Sekunden für wie lange gefeuert werden soll.
// Verwende in der Funktion eine Schleife zur Berechnung.
// TODO: Erstelle die Funktion
// TODO: Kommentiere die Funktion ein
//console.log("Der Beam hat", fireAsgardBeam(spaceship, 300), "Schaden gemacht.");
////////////////////////////////////////////
// Erstelle eine Funktion, die ein Array aller Crewmitglieder ermittelt.
// Nenne die Funktion getCrewNames.
// Anstatt der Objekte soll für jedes Mitglied dessen Rang und Name ermittelt werden.
// Beispiel: Aus diesem Array ...
let exampleCrew = [
{
name: "Steven Caldwell",
rank: "Colonel",
position: "Commanding officer",
},
{
name: "Patrick Bishop",
rank: "Lt. Colonel",
position: "Navigator",
}
];
// ... würde dieses Array gebildet werden:
let exampleCrewNames = [
"Colonel Steven Caldwell",
"Lt. Colonel Patrick Bishop"
];
// TODO: Erstelle die Funktion
// Kommentiere die Funktion ein:
// console.log(getCrewNames(spaceship));