-
Notifications
You must be signed in to change notification settings - Fork 0
/
updown.ts
81 lines (72 loc) · 1.66 KB
/
updown.ts
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
class Elevador
{
private pisosTotales : number;
private pisoActual : number;
private estadoPuerta : number;
constructor(paraPT : number)
{
this.pisosTotales = paraPT; //paraPT es el parametro de los pisos totales
this.pisoActual = 1;
this.estadoPuerta = 0;
}
public getPisosTotales() : number
{
return this.pisosTotales;
}
public getPisoActual() : number
{
return this.pisoActual;
}
public getEstadoPuerta() : number
{
return this.estadoPuerta;
}
public abrirPuerta() : number
{
if(this.getEstadoPuerta() == 0)
{
return this.estadoPuerta = 1;
}
}
public cerrarPuerta() : number
{
if(this.getEstadoPuerta() == 1)
{
return this.estadoPuerta = 0;
}
}
private subir()
{
this.pisoActual++;
console.log('Subiendo...');
}
private bajar()
{
this.pisoActual--;
console.log('Bajando...');
}
public irPiso(pisoDestino : number)
{
if(pisoDestino >= 1 && pisoDestino <= 5 && this.getEstadoPuerta() == 0)
{
if(pisoDestino > this.getPisoActual())
{
while(this.getPisoActual() < pisoDestino)
{
this.subir();
}
}
else if(pisoDestino < this.getPisoActual())
{
while(this.getPisoActual() > pisoDestino)
{
this.bajar();
}
}
}
}
}
let ele1 = new Elevador(5)
console.log(ele1.irPiso(3));
console.log(ele1.irPiso(1));
console.log(ele1.getPisoActual());