-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathElevator.cs
More file actions
149 lines (120 loc) · 2.63 KB
/
Copy pathElevator.cs
File metadata and controls
149 lines (120 loc) · 2.63 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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
namespace ElevatorAlgorithm
{
public class Elevator : ElevatorInterface
{
private int minFloor;
private int maxFloor;
private int maxCapacity;
private int currentFloor;
private int people;
private int sum;
private int isIdle;
public int getSum()
{
return sum;
}
public void setSum(int sum)
{
this.sum += sum;
}
public int getPeople()
{
return people;
}
public int setPeople(int people, int z)
{
this.people += people;
Console.Out.WriteLine("\nNUMBER OF PEOPLE ON ELEVATOR " + z + " NOW...>" + getSum() + "\n");
Console.Out.WriteLine("***************MOVING TO NEXT FLOOR***************\n");
return people;
}
public Elevator(int minFloor, int maxFloor, int maxCapacity)
{
this.minFloor = minFloor;
this.maxFloor = maxFloor;
this.maxCapacity = maxCapacity;
currentFloor = minFloor;
}
public int getMinFloor()
{
return minFloor;
}
public int getMaxFloor()
{
return maxFloor;
}
public int getMaxCapacity()
{
return maxCapacity;
}
public int getCurrentFloor()
{
return currentFloor;
}
public void moveNext(int floor, int z)
{
while (floor != currentFloor)
{
if (currentFloor < floor)
{
moveUp(z);
}
else if (currentFloor > floor)
{
moveDown(z);
}
}
if (currentFloor == floor)
{
Console.Out.WriteLine("\nELEVATOR " + z + " HAS ARRIVED AT FLOOR----> " + currentFloor);
}
}
public void moveUp(int z)
{
currentFloor++;
Console.ForegroundColor = ConsoleColor.DarkBlue;
Console.Out.WriteLine("Elevator " + z + " moved up one level to : " + currentFloor + " And carrying "
+ getPeople() + " people");
Console.ForegroundColor = ConsoleColor.White;
Thread.Sleep(500);
}
public void moveDown(int z)
{
currentFloor--;
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.Out.WriteLine("Elevator " + z + " moved down one level to : " + currentFloor + " And carrying "
+ getPeople() + " people");
Console.ForegroundColor = ConsoleColor.White;
Thread.Sleep(500);
}
public int getIsIdle()
{
return isIdle;
}
public int setIsIdle(int a)
{
this.isIdle += a;
return isIdle;
}
}
public interface ElevatorInterface
{
int getMinFloor();
int getMaxFloor();
int getMaxCapacity();
int getCurrentFloor();
int getPeople();
int setPeople(int people, int z);
int getSum();
void setSum(int sum);
void moveUp(int z);
void moveDown(int z);
void moveNext(int floor, int z);
int getIsIdle();
int setIsIdle(int a);
}
}