albertohilal

Clase 3 Ejercicio 3.1.3 PASO2

Aug 26th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. /*Escribir un procedimiento Progresion que dados un numero n
  2. y una direccion dir (Norte, Este, Sur u Oeste), coloque 1 bolita roja en la celda actual, 2 bolitas rojas en la celda lindante en la direccion dir, 3 en la siguiente, etc. repitiendo esto n veces.*/
  3.  
  4. procedure PrepararTablero(){
  5. VaciarTablero()
  6. IrAlOrigen()
  7. }
  8. /* pone en cada celda n veces bolillas*/
  9. procedure PonerX(color, veces){
  10. repeatWith indice in 1..veces {
  11. Poner(Rojo)
  12. }
  13. }
  14.  
  15. /* Mueve en dir cada vez hasta la longitud dada*/
  16. procedure MoverX(dir, longitud){
  17. repeatWith indice in 1..longitud {
  18. Mover(dir)
  19. }
  20. }
  21.  
  22. /*. La intención del parámetro "medida" es que indique la medida de la progresión.
  23. Es decir, cuántas celdas ocupará la progresión horizontalmente.
  24. En la pasada 1 pone una, en la 2 pone dos, etc*/
  25.  
  26. procedure DibujarProgresion(medida) {
  27. repeatWith indice in 1..medida {
  28. PonerX(Rojo, indice)
  29. Mover(Este)
  30. }
  31. }
  32.  
  33. /* "cant" es exclusivamente para la cantidad de progresiones (cantidad de lineas verticales)
  34. "longitud" para la longitud de las progresiones individuales (cantidad de celdas horizontales)*/
  35.  
  36. procedure DibujarLineas(cant, longitud) {
  37. repeatWith indice in 1..cant {
  38. DibujarProgresion(longitud)
  39. MoverX(Oeste, longitud) // Retroceder hasta donde comenzaste a dibujar
  40. Mover(Norte)
  41.  
  42. }
  43.  
  44. }
  45.  
  46. procedure Main() {
  47. PrepararTablero()
  48. DibujarLineas(4,4)
  49. }
Advertisement
Add Comment
Please, Sign In to add comment