Andrew_Manu

Wollok - Colectivo

May 19th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.61 KB | None | 0 0
  1. object colectivo{
  2.     const si = true
  3.     const no = false
  4.     const pasajeroMaximo = 100
  5.     const pasajeroMinimo = 0
  6.     const combustibleMaximo = 100
  7.     const combustibleMinimo = 0
  8.     const maximaParada = 5
  9.     const minimaParada = 0
  10.     const maxAsientos = 70
  11.    
  12.     const haciaInicio   = 0
  13.     const haciaTerminal = 1
  14.    
  15.     var presupuesto = 0
  16.     var personasParadas  = pasajeroMinimo
  17.     var personasSentadas = pasajeroMinimo
  18.     var totalPersonas = personasParadas + personasSentadas
  19.    
  20.     var direccion = haciaTerminal
  21.     var numeroParada = minimaParada
  22.     var combustible = combustibleMaximo
  23.    
  24.     method pasajerosActual(){
  25.         console.println("Personas paradas " + personasParadas) 
  26.         console.println("Personas sentadas " + personasSentadas)   
  27.         console.println("El total de pasajeros son " + totalPersonas)  
  28.     }
  29.     method combustibleActual() = return combustible
  30.     method consumirCombustible(km){
  31.         combustible -= km * 10 + totalPersonas * 0.2
  32.     }
  33.     method verificarCombustible(){
  34.         if(combustible <= combustibleMinimo){
  35.             combustible = 0
  36.             return no
  37.         }else return si
  38.     }
  39.    
  40.     method establecerDireccion(){
  41.         if(numeroParada == maximaParada and direccion == haciaTerminal) direccion = haciaInicio
  42.         else if(numeroParada == minimaParada and direccion == haciaInicio) direccion = haciaTerminal
  43.     }
  44.     method establecerParada(km){
  45.         if(direccion == haciaTerminal) numeroParada += km
  46.         else numeroParada -= km
  47.     }
  48.     method verificarDestino(destino){
  49.         if(destino > maximaParada or destino < minimaParada) return no
  50.         else return si
  51.     }
  52.     method establecerPasajeros(cantidad){
  53.         if(totalPersonas + cantidad < pasajeroMaximo){
  54.             if(personasSentadas + cantidad > maxAsientos) personasParadas += (personasSentadas + cantidad) - maxAsientos
  55.             else personasSentadas += cantidad
  56.             totalPersonas = personasSentadas + personasParadas
  57.         }else console.println("No queda espacio para más personas")
  58.     }
  59.  
  60.     method avanzar(km){
  61.         if(not self.verificarDestino(km)) return "No podes avanzar esos km"
  62.         if(not self.verificarCombustible()) return "Ya no queda más combustible"
  63.         else{
  64.             self.establecerPasajeros(personas.subir())
  65.             self.establecerDireccion()
  66.             self.establecerParada(km)
  67.             self.consumirCombustible(km)
  68.             self.verificarCombustible()
  69.             return "Se llego a la estacion: " + numeroParada
  70.         }
  71.     }
  72. }
  73.  
  74. /* Personas a subir */
  75. object personas{
  76.     var cantidadASubir = 10
  77.     var cantidadABajar = 0
  78.     method establecerTotalAsubir(cantidad){ cantidadASubir = cantidad }
  79.     method establecerTotalABajar(cantidad){ cantidadABajar = cantidad }
  80.     method subir(){
  81.         cantidadASubir -= cantidadABajar
  82.         return cantidadASubir
  83.     }
  84.     method bajar() = return cantidadABajar
  85. }
Advertisement
Add Comment
Please, Sign In to add comment