Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Escribir el procedimiento InvertirTablero() que recorre el tablero invirtiendo los colores de las bolitas.*/
- /* ***************Iniciar el recorrido*************** */
- procedure IrAlBorde(dir) {
- while (puedeMover(dir))
- {Mover(dir)}
- }
- procedure CabezalALaPrimeraColumna(){
- IrAlBorde(Este)
- }
- procedure CabezalALaPrimeraFila(){
- IrAlBorde(Norte)
- }
- procedure CabezalALaPrimeraCelda(){
- CabezalALaPrimeraColumna()
- CabezalALaPrimeraFila()
- }
- /* ************Procesar Elemento Actual************* */
- procedure SacarN(color, cant){
- repeatWith indice in 1..nroBolitas(color)
- {Sacar(color)}
- }
- procedure SacarTodas(color){
- SacarN(color, nroBolitas(color))
- }
- procedure PonerX(col, cantidad){
- repeatWith i in 1..cantidad
- {Poner(col)}
- }
- /*Proposito: establece el numero de bolitas de la
- celda actual sin importar las que habia*/
- procedure Establecer(col, cantidad) {
- SacarTodas(col)
- PonerX(col, cantidad)
- }
- /*Proposito: establece el numero de bolitas de dos colores
- al mismo tiempo.*/
- procedure EstablecerDos(col1, cantidadCol1, col2, cantidadCol2){
- Establecer(col1, cantidadCol1)
- Establecer(col2, cantidadCol2)
- }
- procedure IntercambiarColores(col2, col1) {
- EstablecerDos(col1, nroBolitas(col2), col2, nroBolitas(col1))
- }
- procedure InvertirCelda() {
- IntercambiarColores( Azul, Rojo)
- IntercambiarColores( Verde, Negro)
- }
- /* *********Pasar Al Siguiente********* */
- /* **********PROCESAMOS COLUMNA********** */
- function llegoALaBase(){
- return (puedeMover(Sur)==False)
- }
- procedure InvertirColumna(){
- CabezalALaPrimeraFila()
- while (not llegoALaBase())
- {
- InvertirCelda()
- Mover(Sur)
- }
- InvertirCelda()
- }
- /* **********PROCESAMOS TABLERO********** */
- function llegoAlBorde(){
- return (puedeMover(Oeste)==False)
- }
- procedure InvertirTablero(){
- CabezalALaPrimeraColumna()
- while (not llegoAlBorde())
- {
- InvertirColumna()
- Mover(Oeste)
- }
- InvertirColumna()
- }
- procedure Main(){
- InvertirTablero()
- }
Add Comment
Please, Sign In to add comment