Skip to content

Commit 05df4e1

Browse files
committed
final and test
1 parent 5d7ffcd commit 05df4e1

1 file changed

Lines changed: 71 additions & 14 deletions

File tree

oo/carro.py

Lines changed: 71 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
1313
A Direção terá a responsabilidade de controlar a direção. Ela oferece
1414
os seguintes atributos:
15-
1) Valor de direção com valores possíveis: Norte, Sul, Lest, Oeste
15+
1) Valor de direção com valores possíveis: Norte, Sul, Leste, Oeste
1616
2) Método girar_a_direita
1717
3) Método girar_a_esquerda
1818
N
@@ -56,7 +56,7 @@
5656
>>> direcao.valor
5757
'Norte'
5858
>>> direcao.girar_a_esquerda()
59-
>>> direcao.valor
59+
>>> direcao.valor
6060
'Oeste'
6161
>>> direcao.girar_a_esquerda()
6262
>>> direcao.valor
@@ -100,34 +100,59 @@ def acelerar(self):
100100
self.velocidade += 1
101101

102102
def frear(self):
103-
if self.velocidade < 2:
104-
self.velocidade = 0
105-
else:
106-
self.velocidade -= 2
107-
103+
#if self.velocidade < 2:
104+
# self.velocidade = 0
105+
#else:
106+
# self.velocidade -= 2
107+
self.velocidade -= 2
108+
self.velocidade = max(0, self.velocidade)
108109

109110
class Direcao:
110111
direcao = ('Norte', 'Leste', 'Sul', 'Oeste')
111112

112113
def __init__(self):
113-
self.valor = 0
114+
self.valor = Direcao.direcao[0]
114115

115116
def girar_a_direita(self):
116-
if self.valor == 3:
117-
self.valor = direcao[0]
117+
if self.valor == 'Oeste':
118+
self.valor = Direcao.direcao[0]
118119
else:
119-
self.valor += 1
120+
self.valor = Direcao.direcao[Direcao.direcao.index(self.valor)+1]
120121

121122
def girar_a_esquerda(self):
122-
if self.valor == 0:
123-
self.valor = 3
123+
if self.valor == 'Norte':
124+
self.valor = Direcao.direcao[3]
124125
else:
125-
self.valor -= 1
126+
self.valor = Direcao.direcao[Direcao.direcao.index(self.valor)-1]
126127

127128
def calcular_direcao(self):
128129
return direcao[self.valor]
129130

130131

132+
class Carro:
133+
def __init__(self, direcao, motor):
134+
self.direcao = direcao
135+
self.motor = motor
136+
137+
def calcular_velocidade(self):
138+
return self.motor.velocidade
139+
140+
def acelerar(self):
141+
self.motor.acelerar()
142+
143+
def frear(self):
144+
self.motor.frear()
145+
146+
def calcular_direcao(self):
147+
return self.direcao.valor
148+
149+
def girar_a_direita(self):
150+
self.direcao.girar_a_direita()
151+
152+
def girar_a_esquerda(self):
153+
self.direcao.girar_a_esquerda()
154+
155+
131156
if __name__ == '__main__':
132157
# Testando o motor
133158
motor = Motor()
@@ -146,5 +171,37 @@ def calcular_direcao(self):
146171
# Testando a direção
147172
direcao = Direcao()
148173
print(direcao.valor)
174+
direcao.girar_a_direita()
175+
print(direcao.valor)
176+
direcao.girar_a_direita()
177+
print(direcao.valor)
178+
direcao.girar_a_direita()
179+
print(direcao.valor)
180+
direcao.girar_a_direita()
181+
print(direcao.valor)
149182

183+
direcao.girar_a_esquerda()
184+
print(direcao.valor)
185+
direcao.girar_a_esquerda()
186+
print(direcao.valor)
187+
direcao.girar_a_esquerda()
188+
print(direcao.valor)
189+
direcao.girar_a_esquerda()
190+
print(direcao.valor)
150191

192+
#t Testando o carro
193+
carro = Carro(direcao, motor)
194+
print(carro.calcular_velocidade())
195+
carro.acelerar()
196+
print(carro.calcular_velocidade())
197+
carro.acelerar()
198+
print(carro.calcular_velocidade())
199+
carro.frear()
200+
print(carro.calcular_velocidade())
201+
print(carro.calcular_direcao())
202+
carro.girar_a_direita()
203+
print(carro.calcular_direcao())
204+
carro.girar_a_esquerda()
205+
print(carro.calcular_direcao())
206+
carro.girar_a_esquerda()
207+
print(carro.calcular_direcao())

0 commit comments

Comments
 (0)