Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
Menu
Calculatrices
Graph 35 à 100
Graph 25+Pro/25+E/25+E II
Graph 35+USB/75(+E)/85/95 SD
Graph 100(+)
Classpad 300/330(+)
fx-CG 10/20 (Prizm)
Classpad 400(+E)
Graph 90+E
fx-92+ SC
Liens
¤ Transférer un programme sur
sa calculatrice

¤ Vous cherchez une fonction ?
Jeux >> Graph 35 à 100 >> Direction/Tir >> Neon
Neon
Version : v.1.2 Taille : 1980 octets Ajouté le : 2022-02-20 19:49 Modifié le : 2022-02-23 19:06
Auteur et posteur :
Mb88Hors ligneLabélisateurPoints: 944 Défis: 3 Message
Planète Casio - Jeu Casio de direction ou tir - Neon - mb88 - Calculatrices
Nombre de visites sur cette page : 1238
Score au progrank : 33
Note actuelle : 7/10 noté 1 fois
Vous devez être connecté(e) pour noter (inscription).
339 téléchargements | Voir les Tests (1)

Ce programme est sous licence GPL 2.0.


Description en français :

Je vous présente mon premier jeu Casio Basic !!!
NEON est un petit jeu, où vous devez éviter les lasers qui tentent de détruire votre vaisseau.
Essayez d'avoir le plus de points !
J'ajouterai des fonctionnalités et corrigerai des bugs dans de prochaines versions !
Bonne partie !
Vidéo d'une ancienne version (v.1.1) :

Commandes :
[flèches directionnelles] Bouger le vaisseau.
[exit] Arrêter la partie.
[exe] (Sur l'écran de fin de partie) rejouer.
[exit] (Sur l'écran de fin de partie) quitter.

Développement du jeu
   100%

Mises à jour :
v.1.0b1
Première version buggée.
v.1.0
Première version stable :
Correction de certaines erreurs au niveau des graphismes.
Correction des bugs au niveau du gameplay.
Nouvel écran de fin de jeu.
Bug connus :
Les lasers restent en bas de l'écran après avoir touché le vaisseau.
v.1.1
Deuxième version stable :
Menu de sélection de mode de jeu :
Mode "NORMAL".
Mode "HARD".
Mode "CUSTOM".
Optimisé en terme de performances, un grand merci à @Choucas et @Redcmd :
Conditions contenant une seule instruction allégées pour économiser des octets.
LpWhile au lieu de While à plusieurs endroits pour économiser des octets.
Et plein d'autre choses (voir commentaires).
Bugs de lasers inatteignables par le vaisseau fixé.
Bugs d'affichage résolus (Les lasers restent à l'écran après avoir touché le vaisseau, et le score touche l'indication du nombre de vies).
Aucun bug connu pour cette version.
v.1.2
Meilleure gestion des touches [exe] et [exit].
Meilleurs menus
Nouveau menu pour choisir le nombre de vies en mode "CUSTOM".
Aucun bug connu pour cette version.
Fichier 2 : Version C.Basic (NEON v.1.0).
Fichier 3 : ZIP contenant toute les versions.

English description:

This is my first Casio Basic game !!!
In NEON, your goal is to avoid the lasers that are trying to destroy your spacecraft !
Try to get the best score !
I will add functionnalities and fix bugs in future versions !
Enjoy !
Vidéo of an old version (v.1.1) :

Commands :
[arrow keys] Move the spacecraft.
[exit] Stop playing.
[exe] (On the end screen) retry.
[exit] (On the end screen) quit.

Dev. of the game
   100%

Updates:
v.1.0b1
First buggy version.
v.1.0
First stable version :
Fixed graphical errors.
Bug fixes at the gameplay.
New end screen.
Known bugs :
The lasers are staying at the bottom of the screen after touching the spacecraft.
v.1.1
Second stable version :
Menu for selecting the game mode :
"NORMAL" mode.
"HARD" mode.
"CUSTOM" mode.
Performance optimisations, big thanks to @Choucas and @Redcmd :
Better conditions to spare bytes.
LpWhiles are replacing Whiles to spare bytes.
Many other things (see comments).
Bugs with lasers that are off-screen fixed.
Display bugs fixed (Lasers staying on the screen after touching the spacecraft and score touching the lives indication).
No known bug for this version.
v.1.2
Better key press management for [exe] and [exit].
Better menus
New menu for choosing the number of lives in "CUSTOM" mode.
No known bug for this version.
File 2 : C.Basic version (NEON v.1.0).
File 3 : ZIP of all versions.


Note sur 10 Commentaire Date de notation
7Voir le testLe 22.02.2022 à 00:40

Commentaires :

Pages: Précédente | 1, 2

ChoukasHors ligneMembrePoints: 90 Défis: 5 Message
Posté le 22-02-2022 à 18:44 | #
Je vois que tu as ajouté un petit GUI, c'est cool

Petite remarque : lorsqu'on navigue sur le menu de départ, il est plus intuitif de supprimer la flèche de gauche ou celle de droite si il n'y a plus d'option de ce côté. De cette façon, l'utilisateur comprendra qu'il ne peut plus naviguer vers la gauche ou la droite.
Tu peux par exemple écrire :
Normal >, < HARD >, < Custom

Pour continuer sur le menu, essaye de mettre le moins de choses possibles dans la boucle. Mets les affichages "constants" (= les textes qui ne changeront pas durant la navigation dans le menu) en dehors des boucles. Ici, "Use right and left arrow keys to choose" et "MODE" en haut à gauche.

Le mode hard est sympa mais je pensais plutôt à centrer les obstacles vers le joueur (pas trop à gauche ou à droite)
RedcmdHors ligneMembrePoints: 380 Défis: 7 Message
Posté le 22-02-2022 à 20:13 | #
Mb88 a écrit :
Ps Is it possible to add comments in Casio Basic code ?

You can use a single quote ' to create a comment
You may find that under [F6] (CHAR), [F2] (SYBL), 7 across
comments end on the first : or newline

To create delay in C.Basic
You can use its custom TicksWait 20 command (Ticks and Wait are seperate)
this how ever will create a syntax error in normal basic
but if you place the command inside a comment ' then with a preceding /
C.Basic will execte the command, with normal basic just thinking its a comment
Making it possible to only need a single program for both normal and C.Basic
'/TicksWait 20

You can increase the responsiveness of the controls by placing GetKey inside your waiting loop
For your menu
Do:LpWhile GetKey
'Wait until user releases the [EXE] key
Do
    Do
        GetKey → K
    LpWhile Not K
    'your control code
LpWhile K ≠ 31

For the game itself
0 -> K
For 1 -> I To 100
    '/TicksWait 3
    GetKey
    'Because the player will hold the key down until after the ship has moved
    'We dont want to detect the key just before its being released
    I > 40 ⇒ Ans ⇒ Ans -> K
Next


But the best way to get super responsive controls is to decouple the player controls and the rest of the program
This however is rather hard on the super slow basic interpreter and without timing controllers or multitasking
But not impossible
This does mean that you would need to check if the player has hit a laser; inside the movement code

1 → I
Do
    For I -> I To 20
        '/TicksWait 3
        GetKey -> K
        K ⇒ break
    Next

    If K = 27
    Then 'move etc
        I + 5 → I
        '/TicksWait 5
    IfEnd

    If K = 38
    Then 'move etc
        I + 5 → I
        '/TicksWait 5
    IfEnd

    If I ≥ 20
    Then 'your game code
        0 → I
    IfEnd

    I + 2 → I
LpWhile K ≠ 47

Now the player can move independent of the lasers
This creates a loop counting to 20 starting at I, that is able to stop when the player pushes a button
If a key is pushed the movement code is handled straight away, rather than waiting on the loop to finish
But because the movement code takes up time, the loop must be artificially sped up otherwise the lasers will slow down. This is done by just increasing I (I + 5 → I)
Updating the lasers resets the counter back to 20
If a incorrect key is pushed, the loop is exited and the lasers slow down, so we must speed the loop up again I + 2 → I
The different I values were just guesses, you would proably want to change them
Test the different speeds when not pressing a key, when pressing a movement key and when pressing any other random key (that isn't [EXIT] )
Problem with this example is that it assumes the player movement code is super super fast, and the laser movement speed is decently slow
Which can be done, tho not always possible in some games



Its always nice to clear memory up at the end of the program
ClrList 2
ClrList 4
ClrList 5
ClrList 6

(variables don't matter)
Mb88Hors ligneLabélisateurPoints: 944 Défis: 3 Message
Posté le 23-02-2022 à 11:21 | #
Thank you for all your advices !
I don't want to change the mouvements of the ship, because he can't go faster than the lasers, which makes the game a bit harder. Your idea for waiting the key release is very intresting, I will try to implement it. I already clear the lists a the end of the game.
EDIT :
But your key release waiting code was not working, I changed it a bit, and it's working now.

Pages: Précédente | 1, 2

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 138 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd