Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Denota el color utilizado para representar a los Animales//
- function colorDeAnimales(){
- return(Rojo)
- }
- //Denota el color utilizado para representar a los Cultivos//
- function colorDeCultivos() {
- return(Verde)
- }
- //Denota el color utilizado para representar a los Construcciones//
- function colorDeConstrucciones() {
- return(Negro)
- }
- //Denota el color utilizado para representar a los Cultivos//
- function colorDeAgua() {
- return(Azul)
- }
- /*Funciones para denotar las cantidades de cada
- elemento presentes en la hectarea actual*/
- function cantidadDeAnimales() {
- return(nroBolitas(colorDeAnimales()))
- }
- function cantidadDeConstrucciones() {
- return(nroBolitas(colorDeConstrucciones()))
- }
- function cantidadDeCultivos() {
- return(nroBolitas(colorDeCultivos()))
- }
- function cantidadDeAgua() {
- return(nroBolitas(colorDeAgua()))
- }
- //Denota la cantidad mas animales que cultivos en la hectarea //
- function masAnimalesQueCultivos(){
- return (cantidadDeAnimales()> (cantidadDeCultivos()))
- }
- /*EJERCICIO 1A DE LA GRANJA*/
- function hayCultivos(){
- return (nroBolitas(Verde)>0)
- }
- function cultivoEnPeligro() {
- return (hayCultivos() && masAnimalesQueCultivos())
- }
- /*EJERCICIO 1B DE LA GRANJA*///Contrucciones en Peligro//
- function hayConstrucciones(){
- return (nroBolitas(Negro)>0)
- }
- function tripleDeAnimalesEnConstruccion(){
- return (cantidadDeAnimales()>=cantidadDeConstrucciones()*3)
- }
- function construccionesEnPeligro(){
- return (hayConstrucciones()&& tripleDeAnimalesEnConstruccion())
- }
- /*EJERCICIO 1C DE LA GRANJA*///*HECTAREA EN PELIGRO*/
- function hectareaEnPeligro(){
- return (construccionesEnPeligro()|| cultivoEnPeligro())
- }
- /*EJERCICIO 1D DE LA GRANJA*///*HECTAREA EN PELIGRO AL DIR*/
- procedure PuedeMoverDir(dir){
- if (puedeMover(dir))
- {Mover(dir)}
- }
- function hectareaEnPeligroAl(dir){
- //Mover(dir)
- PuedeMoverDir(dir)
- return(hectareaEnPeligro())
- }
- /*Ejercicio 2 ANIMALES EXCEDENTES*/
- function excedenteAnimalesEnCultivos(){
- return (cantidadDeAnimales()-cantidadDeCultivos())
- }
- function excedenteAnimalesEnConstrucciones(){
- return( cantidadDeAnimales()-cantidadDeConstrucciones()*3)
- }
- function animalesExcedentes(){
- if (excedenteAnimalesEnCultivos() > excedenteAnimalesEnConstrucciones()){
- excedente :=(excedenteAnimalesEnCultivos())}
- else
- {
- excedente := (excedenteAnimalesEnConstrucciones())
- }
- return(excedente)
- }
- /*Ejercicio 3A RESOLVER COMPLICTO EN HECTAREA*/
- procedure MoverAnimalesExcedentesAl(dir){
- excedente := animalesExcedentes()
- repeatWith a in 1..excedente
- {Sacar(Rojo)}
- PuedeMoverDir(dir)
- repeatWith i in 1..excedente
- {Poner(Rojo)}
- }
- procedure ResolverConflictoEnHectarea(){
- if(puedeMover(Este) && hectareaEnPeligroAl(Este)){
- MoverAnimalesExcedentesAl(Norte)}
- else
- {if(puedeMover(Este) == False)
- {MoverAnimalesExcedentesAl(Norte)}
- if (hectareaEnPeligroAl(Este) == False)
- {MoverAnimalesExcedentesAl(Este)}
- }
- }
- /*Ejercicio 3B RESOLVER COMPLICTO EN HECTAREA*/
- procedure ProcesarHectarea(){
- if (hectareaEnPeligro()){
- ResolverConflictoEnHectarea()}
- }
- /*Ejercicio 3C PROCESAR CAMPO SIN BORDE*/
- //*para resolver este ejercicio utilice partes del ejercicio entregable 5 y mirando consejos encontrados en el foro y salio*//
- function adaptarHectarea(){
- return(puedeMover(Este)|| puedeMover(Norte))
- }
- procedure IrAlBorde(dir){
- while(puedeMover(dir))
- {Mover(dir)}
- }
- procedure VolverAlOrigenYSubir() {
- IrAlBorde(Oeste)
- Mover(Norte)
- }
- procedure IrASiguienteHectarea() {
- if(puedeMover(Este))
- {Mover(Este)}
- else
- {VolverAlOrigenYSubir()}
- }
- function estaEnBorde (){
- return (not puedeMover (Norte ))
- }
- procedure ProcesarCampoSinBorde (){
- while (not estaEnBorde ()){
- ProcesarHectarea()
- IrASiguienteHectarea()
- }
- }
- procedure Main (){
- ProcesarCampoSinBorde()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement