forked from CEN4020-Fall/assignment2
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSleigh.cpp
More file actions
41 lines (34 loc) · 1.2 KB
/
Copy pathSleigh.cpp
File metadata and controls
41 lines (34 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//
// Created by Keith Van Dyke on 10/04/19
//
#include "Sleigh.h"
Sleigh::Sleigh(string brand, string model, string fuelType, int numReindeer) {
setBrand(brand);
setModel(model);
setReindeerCount(numReindeer);
setFuelType(fuelType);
}
Sleigh::~Sleigh() = default;
int Sleigh::getReindeerCount() {
return numberOfReindeer;
}
void Sleigh::setReindeerCount(int numReindeer) {
numberOfReindeer = numReindeer;
}
double Sleigh::mileageEstimate(double time) {
double mileage = 1000 * time;
if (fuelType != "carrots" && numberOfReindeer < 8) {
mileage -= (mileage * 0.30) * (8 - numberOfReindeer); //30% decrease in speed per missing
} //reindeer if not eating carrots
else if (fuelType == "carrots" && numberOfReindeer < 8) {
mileage -= (mileage * 0.15) * (8 - numberOfReindeer); //15% decrease in speed per missing
} //reindeer if eating carrots
if (mileage < 0) {
return 0;
}
return mileage;
}
string Sleigh::toString() {
return "-> Sleigh\n" + PoweredVehicle::toString() + "\n\tReindeer: " +
to_string(numberOfReindeer);
}