Parachute HD (META)

1.0

By jicehel, 2 months ago

Controls: D-Pad: [Arrows / WASD] - A: [J] - B: [K] - Menu: [U] - Home: [I]
Enjoy games at full speed with sound and lights on the Gamebuino META!
Emulator by aoneill

Version en cours de réalisation

  • Reprise du jeu G&W Parachute de Nintendo en 1981.
  • Le joueur contôle la barque afin de la positionner sous les parachutistes afin de les récupérer avant qu'ils ne tombent dans l'eau et se fassent dévorer par les requins.
  • Le joueur perd une vie à chaque fois qu'un parachutiste tombe à l'eau.

Point sur le développement. Je me suis approprié le squelette de programme de Steph et incorporé les sprites et le fond de Parachute.

J'ai commencé à implémenter le mécanisme du jeu (déplacement du bateau, lancement et déscente des parachutistes, chute dans l'eau et déplacement du noyé et du requin) Le score, la pause (Appuie sur A ou sur B), la fin de partie. Il me reste à ajouter quelques sons, les vie bonus lorsque l'on atteind certains scores si on en a perdu, la correction d'un bug d'affichage de "Pause" et "GameOver" Si je peux, j'ajouterais peut être la gestion des hi-score, un menu, un écran de remerciements, un écran des meilleurs scores

Le programme est quasi fini, si vous voyez des améliorations à y faire, je suis preneur.

Last comments

avatar
Steph
1 month ago

Heu… tu compiles avec quoi ? L’IDE Arduino ?
Je viens de compiler ton code avec Visual Studio Code, et j’ai aucun souci :

[Starting] Verify sketch - Parachute-v2.ino
Please see the build logs in Output path: /Users/steph/Tmp/Arduino
Set log4j store directory /Users/steph/Library/Arduino15
Loading configuration...
Initializing packages...
Preparing boards...
Verifying...
Sketch uses 221876 bytes (90%) of program storage space. Maximum is 245760 bytes.
[Done] Finished verify sketch - Parachute-v2.ino

J’ai également effectué une compilation à partir de l’IDE Arduino, et tout se passe bien :

[ ... ]
Using library Gamebuino_META at version 1.3.2 in folder: /Users/steph/Arduino/libraries/Gamebuino_META 
Using library SPI at version 1.0 in folder: /Users/steph/Library/Arduino15/packages/gamebuino/hardware/samd/1.2.2/libraries/SPI 
/Users/steph/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-size -A /var/folders/j3/tqs95dk54c7c8vh_6gfg7d5m0000gn/T/arduino_build_33642/Parachute-v2.ino.elf
Sketch uses 221876 bytes (90%) of program storage space. Maximum is 245760 bytes.

À l’exécution, tout à l’air de bien fonctionner…

Petite remarque au niveau du gameplay : je pense que tu peux faire accélérer le rythme du jeu plus rapidement. L’attente est un peu longue je trouve. Mais c’est un détail.

avatar
jicehel
1 month ago

Bon, j’ai du mal à m’y remettre. Je n’ai pas fais de grosses modifs mais je n’arrive pas à retirer ses erreurs de compilation à cause des includes

Linking everything together…
“C:\Users\Jean-Charles\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4/bin/arm-none-eabi-gcc” “-LC:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820” -Os -Wl,–gc-sections -save-temps “-TC:\Users\Jean-Charles\AppData\Local\Arduino15\packages\gamebuino\hardware\samd\1.2.2\variants\gamebuino_meta/linker_scripts/gcc/flash_with_bootloader.ld” “-Wl,-Map,C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820/Parachute_Meta.ino.map” --specs=nano.specs --specs=nosys.specs -mcpu=cortex-m0plus -mthumb -Wl,–cref -Wl,–check-sections -Wl,–gc-sections -Wl,–unresolved-symbols=report-all -Wl,–warn-common -Wl,–warn-section-align -o “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820/Parachute_Meta.ino.elf” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Animate.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Parachute_Meta.ino.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\Gamebuino-Meta.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Adafruit_NeoPixel\esp8266.c.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Adafruit_NeoPixel\Adafruit_NeoPixel.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Adafruit_ZeroDMA\Adafruit_ZeroDMA.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Bootloader\Bootloader.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Buttons\Buttons.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Collide\Collide.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Display-ST7735\Display-ST7735.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Graphics\font3x3.c.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Graphics\font3x5.c.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Graphics\font5x7.c.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Graphics\Graphics.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Graphics\Image.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Graphics-SD\BMP.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Graphics-SD\GMV.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Graphics-SD\Graphics-SD.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Gui\Gui.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Gui\KeyboardLayouts.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Language\Language.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\MetaMode\MetaMode.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Misc\Misc.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Save\Save.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\MinimumSerial.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\FatLib\FatFile.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\FatLib\FatFileLFN.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\FatLib\FatFilePrint.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\FatLib\FatFileSFN.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\FatLib\FatVolume.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\FatLib\FmtNumber.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\FatLib\StdioStream.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\FatLib\fstream.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\FatLib\istream.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\FatLib\ostream.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\SdCard\SdSpiCard.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\SdCard\SdSpiCardEX.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\SdCard\SdioCardEX.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\SdCard\SdioTeensy.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\SpiDriver\SdSpiESP8266.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\SpiDriver\SdSpiGamebuino.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\SpiDriver\SdSpiParticle.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\SpiDriver\SdSpiSAM3X.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\SpiDriver\SdSpiSTM32.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\SdFat\src\SpiDriver\SdSpiTeensy3.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Sound\Pattern.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Sound\Raw.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Sound\Sound.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Sound\Sound_FX.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Sound\Tone.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\Gamebuino_META\utility\Sound-SD\Sound-SD.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\libraries\SPI\SPI.cpp.o” “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\core\variant.cpp.o” -Wl,–start-group “-LC:\Users\Jean-Charles\AppData\Local\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Lib/GCC/” -larm_cortexM0l_math -lm “C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820/…\arduino_cache_708115\core\core_gamebuino_samd_gamebuino_meta_native_1c60331e104e4bd07bdb7f2b3eeff1a7.a” -Wl,–end-group
C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Parachute_Meta.ino.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:61: multiple definition of `player’

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Animate.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:61: first defined here

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Parachute_Meta.ino.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:51: multiple definition of `gameState’

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Animate.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:51: first defined here

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Parachute_Meta.ino.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:38: multiple definition of `speedBlades’

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Animate.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:38: first defined here

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Parachute_Meta.ino.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:37: multiple definition of `floodedAnimation’

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Animate.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:37: first defined here

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Parachute_Meta.ino.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:36: multiple definition of `sharkAnimation’

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Animate.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:36: first defined here

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Parachute_Meta.ino.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:35: multiple definition of `helicopterAnimation’

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Animate.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:35: first defined here

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Parachute_Meta.ino.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:34: multiple definition of `parachutes’

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Animate.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:34: first defined here

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Parachute_Meta.ino.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:33: multiple definition of `parachuteLaunchCount’

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Animate.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:33: first defined here

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Parachute_Meta.ino.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:32: multiple definition of `speedMax’

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Animate.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:32: first defined here

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Parachute_Meta.ino.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:31: multiple definition of `spawnCount’

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Animate.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:31: first defined here

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Parachute_Meta.ino.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:30: multiple definition of `spawnDelay’

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Animate.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:30: first defined here

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Parachute_Meta.ino.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:29: multiple definition of `moveTick’

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Animate.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:29: first defined here

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Parachute_Meta.ino.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:28: multiple definition of `misses’

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Animate.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:28: first defined here

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Parachute_Meta.ino.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:27: multiple definition of `minHighscore’

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Animate.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:27: first defined here

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Parachute_Meta.ino.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:26: multiple definition of `score’

C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch\Animate.cpp.o:C:\Users\JEAN-C~1\AppData\Local\Temp\arduino_build_504820\sketch/Global.h:26: first defined here

collect2.exe: error: ld returned 1 exit status

Utilisation de la bibliothèque Gamebuino_META version 1.3.2 dans le dossier: C:\Users\Jean-Charles\Documents\Arduino\libraries\Gamebuino_META
Utilisation de la bibliothèque SPI version 1.0 dans le dossier: C:\Users\Jean-Charles\AppData\Local\Arduino15\packages\gamebuino\hardware\samd\1.2.2\libraries\SPI
exit status 1
Erreur de compilation pour la carte Gamebuino Meta

Je mets à jour le code sur Github

avatar
jicehel
1 month ago

Hum, un peu compliqué en ce moment, je n’avais pas trop la tête à programmer mais je vais m’y remettre un peu aujourd’hui, demain et mercredi. Ne t’inquiètes pas mais si je ne donnes pas de nouvelle c’est que je ne me mets pas dessus.