Código Octopus

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

Facer unha lista de obxectos comidos

Problema:

Nesta ocasión queremos deseñar un xogo no que o polbo coma todos os peixes do estanque. Para iso imos empregar un novo tipo de variables que son as listas, que son quen de almacenar varios obxectos e contalos. Crea primeiro unha listacrear unha lista e abriranse unha chea de novos bloques con ela.

[Scratch: Facer unha lista de obxectos comidos]
Octopus móvese coas frechas e ten que comer todos os animais que se moven

Proposta de solución:

O primeiro que temos que crear é a lista lista peixes, que vai funcionar como unha variable, só que en lugar de almacenar un número ou palabra vai almacenar unha lista de números ou palabras. Sobre esta lista podemos actuar do seguinte xeito:

  1. Escondela ou amosala: esconder e amosar lista
  2. Engadir ou borrar elementos desta lista, tanto en orde de chegada como engadilos nunha posición especificada ou substituílos por outros novos:

inserir elementos en listas

3. Detectar os atributos da lista para empregalos no programa:

  • O primeiro e o último elemento e a lonxitude da lista  convértense en variables: variables de lista
  • Podemos detectar se unha palabra ou número forma parte da lista con: detecta se a lista contén

Agora imos explicar como se engaden elementos á lista, poñamos por caso o cabaliño de mar.

Primeiro teremos que dicirlle ao polbo que, se toca ao cabaliño, lle envíe unha mensaxe:

enviar mensaxe a cabaliño

Agora vemos como reacciona o cabaliño cando lle chega a nova mensaxe: vai engadir a palabra “cabaliño” á lista e despois vaise agochar para non ser tocado máis veces.

reacción do cabaliño ao recibir a mensaxe

Este mesmo código aplicámosllelo a todos os animais:

todos os animais reciben mensaxes

E facemos que o polbo detecte a todos os animais:

detectar todos os animais

Unha vez escrito este código a lista irá medrando a medida que o polbo coma os animais, ata que nela aparezan todos os animais (que son 6 en total). Queremos que detecte ese momento e o convirta no final do xogo, para iso engadimos o seguinte código:

código que detecta se comeu todo

Só nos queda animar o polbo facendo que se mova coas frechas do teclado, e aos peixes, que se moverán aleatoriamente.

movemento coas frechas

E animar os animais, inserindo este código con pequenas modificacións para que teñan un movemento semellante pero non igual:

codigo de animación dos animais

Sen esquecermos poñer a cero as variables todas ao empezar o xogo:

O polbo colocámolo no centro da pantalla e borramos a lista:

poñer a cero

Cada animal colocámolo nun extremo da pantalla e amosámolo, por exemplo, no caso da nécora, colocámola no extremo inferior dereito:

hai que comelo todo9

Xuntando todo o código do polbo quedará:

22648179

E para un animal, como a nécora:

codigo completo da nécora

Exercicios complementarios:

  • Engádelle emoción programando unha conta atrás.
  • Engádelle aínda máis emoción creando un animal que sexa velenoso para o polbo. Se come ese animal o polbo morre e acábase o xogo, volven aparecer todos os animais e a lista ponse a cero… escolle ti o que pasa.

 

Créditos:

Baseado en titoriais de Scratch