Joc tipus Flappy bird

En aquest bloc veurem com podem construir un joc tipus Flappy bird, on tenim un personatge que ha de superar una sèrie d'obstacles.



Més concretament es pretén donar resposta a les preguntes següents:


  • Quin tipus de personatges necessitem?
  • Com podem simular el desplaçament d'un personatge?
  • Per què serveix una variable al servidor?


Farem un joc on tenim un ocell, o un altre animal o giny volador, que ha de superar una sèrie d'obstacles sense ensopegar amb ells. Començarem triant el personatge, en el nostre cas triem un helicòpter.



Un cop tenim el personatge, el programem per tal que caigui contínuament. En cas que premem la tecla espai o fem clic amb el ratolí, el nostre personatge remuntarà una mica, però continuarà caient.



A més a més podem posar un fons d'escenari per fer el joc més atractiu:



Afegim els obstacles

Per construir els obstacles farem un nou personatge amb diferents vestits d'aquesta manera:



Aquest obstacle, amb un dels vestits a l'atzar, el farem aparèixer per la dreta de l'escenari i el desplaçarem cap a l'esquerra de manera que simuli el moviment de l'helicòpter:



En lloc de tenir un sol obstacle, en farem aparèixer diferents còpies periòdicament de manera que el joc no tingui final. Quan l'obstacle arribi a l'extrem esquerre el farem desaparèixer:



Cal tenir present que cal fer l'helicòpter més petit fins que tingui una mida adequada per poder superar els obstacles.


La puntuació i el final del joc

Ja tenim programat el moviment bàsic dels dos personatges. Ara cal controlar el xoc de l'helicòpter amb els obstacles i la puntuació.


La variable punts s'anirà incrementant cada cop l'helicòpter superi un obstacle. Com que l'helicòpter l'hem posat en la posició x=-50, podem considerar que l'helicòpter ha superat un obstacle quan l'obstacle passa per la posició x=-100. Per tant modificarem el programa de l'obstacle per dur a terme aquest control:



D'altra banda, per controlar el xoc de l'helicòpter amb els obstacles, només cal afegir un condicional en el programa de l'helicòpter que verifiqui si hi ha aquest contacte. En aquest cas finalitzarà el joc:



Guardem la màxima puntuació

L'Scratch ens ofereix l'opció de definir les variables com a tipus Cloud.



Aquestes variables romanen en el servidor de l'Scratch i permeten emmagatzemar valors que poden ser consultats i modificats posteriorment. L'exemple típic d'aquest tipus de variables és la puntuació màxima.


El que farem doncs, quan s'acaba la partida, és comparar la puntuació obtinguda amb l'actual rècord (maxim) i en cas que sigui superior passarà a ser la puntuació màxima del joc.



I ja tenim una versió bàsica del joc en funcionament!


Podem trobar aquest projecte en el següent enllaç: Flappy bird.