Código Octopus

Programación multidisciplinaria con Scratch na Educación Primaria e Secundaria

O polbo esvaradío

Reto:

Imos deseñar un xogo no que debemos atrapar un polbo que aparece e desaparece no mar, cada quenda nunha posición diferente. Tampouco se vai amosar sempre ao mesmo tempo. Para iso imos utilizar, entre outras cousas, variables para ir contabilizando os puntos obtidos, sincronizar, etc., e o operador “número ao chou” que se encargará de decidir a posición e o tempo.

Unha posible solución, sen depurar, pode ser a seguinte:

[Scratch: Xogo: O polbo esvaradío 1]

atrapa_o_polbo1

Depuramos:

Facendo o programa así atopamos dous problemas cos puntos:

  • Podemos seguir engadindo puntos unha vez o xogo finalizou.
  • Podemos sumar varios puntos nunha mesma aparición do polbo.

Como o solucionarías?

Pistas:

  • Podemos definir unha variable “Fin” que cando valla 1 indique que o programa finalizou.
  • Tamén podemos utilizar unha variable “permitido” que cando estea a 0 non permita engadir máis puntos, e cando valla 1 si.

Posible solución:

[Scratch: Xogo: O polbo esvaradío 2]

Melloramos:

Neste xogo non podemos obter máis de 10 puntos, polo que resulta un tanto aburrido. No canto de aparecer o polbo un número definido (puxemos 10 veces) poderiamos facer que o xogo termine cando o polbo se nos escape un número determinado de veces e, así, mentres vaiamos atrapando o polbo, iremos sumando máis e máis puntos.

Como o farías?

Pistas:

  • Podemos utilizar unha variable “aparicións” que contabilice as veces que o polbo aparece. As instrucións deben repetirse sempre e cando a diferenza entre aparicións e acertos non sexa superior a un número determinado.

Posible solución:

[Scratch: Xogo: O polbo esvaradío 3]

Máis melloras?

Como expertos e expertas en xogos, seguro que se vos ocorren outras melloras que fagan este xogo máis ameno e atractivo. Adiante!

Tweet about this on TwitterShare on FacebookShare on Google+Email this to someone


Etiquetas: | 12 Maio 2014, por María L      

Deixa unha resposta

Required fields are marked *.