A petit jeu de tetris en C++ pour Casio FXCG50 et FX9860G
Go to file
Jérôme Henry-Barnaudière - GeeHB 3c1e524769 Corrections TRACE pour fx9860G 2023-12-21 11:27:15 +01:00
assets Corrections TRACE pour fx9860G 2023-12-21 11:27:15 +01:00
assets-cg Version non regressive pour CG50 et à tester pour FX9860G ... 2023-12-01 16:23:39 +01:00
assets-fx Corrections TRACE pour fx9860G 2023-12-21 11:27:15 +01:00
src Corrections TRACE pour fx9860G 2023-12-21 11:27:15 +01:00
utils Version non regressive pour CG50 et à tester pour FX9860G ... 2023-12-01 16:23:39 +01:00
.gitignore Compil. ok pour fx9860g 2023-11-30 17:15:57 +01:00
CHANGELOG.md Version non regressive pour CG50 et à tester pour FX9860G ... 2023-12-01 16:23:39 +01:00
CMakeLists.txt Corrections TRACE pour fx9860G 2023-12-21 11:27:15 +01:00
LICENCE.md Premiers tests - BUG : Récuprération des paramètres 2023-11-09 22:10:39 +01:00
README.md Corrections TRACE pour fx9860G 2023-12-21 11:27:15 +01:00
TODO.md Premiers tests ok pour Grapg 35 + E II 2023-12-19 20:16:49 +01:00

README.md

geeTetris - Un jeu de Tetris pour les Casio GRAPH90+E / FX-CG50 et GRAPH35+E ii

Présentation

geeTetris est un jeu de type Tetris pour les calculatrices Casio Graph90+E et Graph35+E ii développé en C++ en utilisant gint.

Il offre différentes options : affichage de l'ombre de la pièce, démarrage avec un handicap de lignes 'sales', démarrage sur un niveau plus rapide. Il permet aussi de jouer avec la calculatrice en mode horizontal (position standard) ou en mode vertical.

Informations de version

Dépôt   https://gitea.planet-casio.com/Jhb/geeTetris
Date 21 dec. 2023
Version stable 0.6.5 - branche main
Dépendances Casio / gint : -lstdc++
Testé sur Linux (Fedora 39) avec code::blocks
Casio Graph90+E et Casio Grapg35+E ii avec gint

Informations pour la compilation

Sources

Les sources sont organisés selon dossiers suivants :

  • src/ : Sources spécifiques à l'application;
  • src/shared : Sources des objets pouvant être utilisés dans d'autres projets.

Constantes de l'application

La majorité des comportements est régi par des constantes que l'on peut trouver pour leur grande majorité dans deux fichiers distincts :

  • src/consts.h - Contantes et définitions générales de l'application
  • src/shared/casioCalcs.h - Constantes spécifiques aux calculatrices.

A défaut, les constantes, toujours en majusucules dans les sources, sont définies avec les objets qui les concernent spécifiquement. Par exemple src/shared/tabs.h et src/shared/tabs.cpp proposent les définitions liées aux onglets.

Faute d'émulateur, tous les sources sont 100% fonctionnels en C/CPP ANSI. Ils peuvent donc être compilés dans un projet Windows (testé avec Visual Studio) ou sous Linux. Dans ce cas seuls les affichages ne seront pas effectués :).

Mode TRACE et capture d'écran

Il est possible de compiler les sources afin d'ajouter la fonction de capture d'écran (utilisation de fxlink). Pour cela, il faut :

  • dans src/shared/trace.h : définir la constante TRACE_MODE :

trace.h

  • dans CMakelists.txt : Ajouter la compilation du module src/shared/scrCapture.cpp. La ligne est par défaut commentée : CMakeLists

Ne reste plus qu'à recompiler le ou les binaires.

Utilisation du clavier

A partir du menu principal

L'application se présente sous la forme d'onglets associés aux touches de contrôle. Les différents onglets permettent soit de modifier les paramètres de l'application soit de lancer l'application :

                   Touches                             Action
F1 Affichage de l'écran d'accueil
F2 Choix du niveau de départ. Plus le niveau est important et plus les pièces tomberont rapidement mais plus les lignes complètes raporteront de points. Par défaut le jeu commence au niveau 1.
F3 Choix du nombre de lignes 'sales' affichées au démarrage de la partie. Par défaut il n'y a aucune ligne sur l'écran.
F4 Affichage de l'ombre de la pièce. En l'absence d'ombre les lignes complètes raporteront plus de points. Les ombres sont affichées par défaut.
F5 Lancement d'une partie avec les paramètres sélectionnés.
F6 Sortie de l'application.
left right Modification de la valeur du paramètre dans les onglets Level et Lines.
shift 7 Activation / désactivation de la capture (communication avec fxlink). Il faut le programme soit compilé en mode TRACE.
shift 7 Affichage du tableau des scores.

Attention L'activation du mode capture peut bloquer la calculatrice.

Pendant la partie ...

Quel que soit le mode d'affichage choisi, vertical ou horizontal, les touches suivantes fonctionneront à l'identique à tout moment de la partie :

Touche Action
Rotation Changement du mode d'affichage. Par défaut l'affichage est en mode horizontal (calculatrice en mode normal), un appui transformera instantanément les affichages du jeu vers le mode vertical. Compte tenu des dimensions de l'écran, en mode vertical les pièces peuvent être plus larges. Le jeu est assurément plus jouable. Réciproquement suite à un second appui, il retourna au mode normal.
Pause Pause du jeu (Graph90+E seulement). En mode pause, une image d'écran factice est affichée. Lorsque l'on appuie à nouveau sur la touche, le jeu reprend son cours.
Exit Sortie du jeu et retour au menu principal.

Contrôles en mode horizontal

Touche Action
Gauche Déplacement de la pièce vers la gauche
Droite Déplacement de la pièce vers la droite
Bas Descente de la pièce d'un rang
Rotation Rotation de la pièce
Descente Faire tomber la pièce le plus bas possible

Contrôles en mode vertical

Les contrôles "suivent" le mouvement de la calculatrice :

Touche Action
Gauche Déplacement de la pièce vers la gauche
Droite Déplacement de la pièce vers la droite
Bas Descente de la pièce d'un rang
Rotation Rotation de la pièce
Descente Faire tomber la pièce le plus bas possible

Copies d'écran

Ecran d'accueil de geeTetris :

Accueil

Accueil

Choix du niveau de démarrage :

Level

Level

Choix du nombre de ligne 'sales' à ajouter en début de partie :

Dirty lines

Dirty lines

Affichage ou masquage de l'ombre des pièces :

Shdow

Jeu en mode normal :

Horz

Horz

... la même partie continue en affichage vertical :

Vertical

Vertical

Affichage des meilleurs scores à partir de la page principale :

high