π
<-
Chat plein-écran
[^]

News 2024

News 2023
Juin (2)
Avril (1)
Mars (2)

News 2022
Juin (4)
Mai (4)
Avril (4)
Mars (3)

News 2021
Août (5)
Juin (1)
Mai (3)
Avril (12)
Mars (4)

News 2020
Août (1)
Juin (2)
Mai (2)
Avril (7)
Mars (4)

News 2019
Août (1)
Juin (1)
Mai (3)
Avril (7)
Mars (10)

News 2018
Août (3)
Juin (3)
Mai (8)
Avril (13)
Mars (5)

News 2017
Août (1)
Mai (10)
Avril (3)
Mars (4)

News 2016
Août (12)
Juin (8)
Mai (12)
Avril (7)
Mars (9)

News 2015
Août (11)
Juin (6)
Mai (10)
Avril (2)
Mars (6)

News 2014
Octobre (12)
Août (4)
Juin (13)
Mai (14)
Avril (12)
Mars (15)

News 2013
Octobre (30)
Août (14)
Juin (27)
Mai (12)
Avril (29)
Mars (19)
Janvier (27)

News 2012
Octobre (37)
Août (40)
Juillet (27)
Juin (19)
Mai (35)
Avril (34)
Mars (42)
Janvier (46)

News 2011
Octobre (22)
Août (23)
Juillet (14)
Juin (29)
Mai (44)
Avril (24)
Mars (27)

News 2010
Août (6)
Juillet (10)
Juin (4)
Mai (1)
Avril (2)
Mars (1)

News 2009
Juin (1)

Lib nSpireLTE (LiTe Engine) pour faciliter le dév natif

Nouveau messagede SlyVTT » 03 Jan 2022, 13:30

Développer sur calculatrice est une activité passionnante et permet à de nombreux étudiants de mettre un pied dans le monde de la programmation. Très souvent le premier contact est réalisé via des langages de haut niveau directement intégrés aux machines, historiquement basés sur le langage BASIC, mais désormais très souvent via le langage PYTHON qui est intégré aux dernières générations de calculatrice de manière native.

Ces langages interprétés à l'exécution offrent comme principal avantage d'être relativement simples à approcher et ont souvent une courbe d'apprentissage adaptée aux débutants. Ils sont donc parfaits pour de la programmation simple dans le cadre scolaire ou pour développer de petits programmes rapidement. Un second avantage de ces langages est la mise à disposition d'un certain nombre de routines adaptées à la machine hôte afin de réaliser les opérations classiques dans un programme (vérifier si une touche est appuyée, créer un fichier et écrire dedans, lire les coordonnées de la souris ou du curseur, ...). Hélas, très souvent cette simplicité va de pair avec une relative lenteur du langage (car interprété, par opposition à compilé) et une certaine limitation dans les fonctions disponibles ou dans leur comportement. Apparaît donc très rapidement pour les plus passionnés une envie de plus d'ouverture pour des projets plus ambitieux tels que des jeux.

Une possibilité offerte sur un grand nombre de machines est de passer à la programmation dite "native", de plus bas niveau en langages compilés/assemblés tels que l'Assembleur (ou ASM) ou le C/C++. Ces langages offrent pour principaux avantages d'être particulièrement bien adaptés pour parler directement au matériel en présence. A cela s'ajouter qu'ils sont compilés, c'est à dire traduits directement en code interprétable par le processeur, sans de multiples couches logicielles intermédiaires, donnant très souvent un code nettement plus rapide et permettant de programmer à peu près tout ce que l'on veut, du moment que le matériel suit.


Malheureusement, ces langages ont un côté rebutant pour la simple et bonne raison que pour réaliser les opérations simples décrites précédemment, il n'y a généralement rien de prévu (ou le strict minimum), et il faut donc développer tout un panel de "fonctions de base" pour créer un programme utilisable. C'est très souvent ce point qui limite la percée de ces langages très puissants. Bien entendu, une fois ces fonctions disponibles, elles seront réutilisables dans le futur dans d'autres programmes, mais l'effort initial à fournir est considéré comme conséquent et en décourage plus d'un.


Heureusement, il existe des bibliothèques de fonctions développées par des passionnés qui permettent de créer beaucoup plus rapidement de beaux programmes en s'affranchissant de la partie "mains dans le cambouis". Nous pouvons par exemple citer la bibliothèque SDL supportée par de nombreuses architectures (PC/MAC/PS3/TI nSpire ...) et dont le but est d'offrir un panel de fonctions permettant de créer des jeux et/ou des programmes divers et variés.


SDL est une magnifique librairie, permettant de faire de nombreuses choses, mais est parfois un peu vécue comme le marteau pour tuer la mouche. Avoir à disposition un panel réduit de fonctions permettant de réaliser seulement quelques opérations simples nécessaires à tout programme qui se respecte, sans fioritures, permettrait de combiner la simplicité d’un langage de plus haut niveau sans alourdir inutilement le poids de l’exécutable généré en incorporant tout un lot de fonctions dont seulement 1 ou 2% seront utilisées par le programme en cours de développement.


Posons-nous quelques instants et soyons plein de compassion pour ce jeune développeur voulant mettre à profit sa belle calculatrice flambant neuve et ne sachant que faire. Quelle solution pour lui ?

Et bien, jeune (ou moins jeune d’ailleurs) possesseur de TI nSpire, sache qu’en lisant les lignes suivantes, ton avenir de développeur en langage natif va se dégager de ces gros nuages noirs et que le soleil rayonnera rapidement sur toi …

En effet, dans le cadre du développement de la bibliothèque GUI Toolkit NF pour TI nSpire, un certain nombre de ces fonctions de base ont été codées afin de créer les fondations du Toolkit (NF signifiant d’ailleurs au passage « New Foundation »). Ces fonctions sont intégrées dans l’ensemble de la bibliothèque mais peuvent être utilisées indépendamment du GUI Toolkit NF.

Il a donc été choisi de créer une variante légère de cette bibliothèque (appelée nSpireLTE avec LTE pour LiTe Engine) et offrant les fonctions de base pour créer des petits programmes en C++.

Cette bibliothèque LTE se compose de 4 modules :
- KeyManagerLTE : contenant les fonctions de bas niveau permettant de lire l’état du clavier de la TI nSpire
- MouseManagerLTE : contenant les fonctions de bas niveau permettant de lire l’état du touchpad de la TI nSpire (mouvement du curseur, click central et gestion des flèches)
- TimeManagerLTE : permettant de gérer les fonctions liées au temps sur la nSpire (timer, sleep, heure actuelle)
- DebuggerLTE : permettant de debugger des programmes en offrant un panel de fonctions pour réaliser des sorties de logs dans un fichier et tracker impitoyablement les bugs et plantages.



1) Installation :



L’installation et l’utilisation est on ne peut plus simple, il suffit de télécharger l’archive et de décompresser le fichier nSpireLTE.zip dans votre projet de manière à avoir un répertoire nSpireLTE dans l’arborescence de votre projet de développement.

Ensuite, il suffit d’inclure la librairie dans votre fichier contenant la fonction main() via une directive :

Code: Tout sélectionner
#include "./nSpireLTE/nSpireLTE.hpp"
et le tour est joué. Piece of Cake !! Comme dirait nos amis outre Manche :-)


2) Les modules :



Comme précédemment annoncé, la nSpireLTE est composée de 4 modules dont le rôle est de couvrir 4 besoins très classiques en programmation. Chacun des modules sera détaillé par la suite.

Tous les modules fonctionnent de la même manière, on commence par les initialiser :
Code: Tout sélectionner
   ...
    Module::Initialize();
   ...

puis on peut ensuite accéder à ses fonctions via :
Code: Tout sélectionner
   ...
    Module::Fonction( parametres_fonctions ... );
   ...

Une fois l'utilisation du module terminée (généralement en fin de programme), on clos le module via:
Code: Tout sélectionner
   ...
    Module::Close();
   ...

Vraiment facile à utiliser.


A) KeyManager

La gestion des événements liés au clavier est présent dans tous les programmes (ou presque) sur la TI nSpire. Il faut dire qu'avec toutes ces touches disponibles, il serait dommage de ne pas les utiliser.

Chaque touche possède un keycode selon l'image suivante Image

Le module KeyManager reprend à son compte la gestion de toutes les touches avec un marquage rouge. La nSpire étant une machine complexe, le module MouseManager (que nous détaillerons dans le prochain paragraphe) s'occupera quant à lui des touches marquées en bleu et en vert, toutes en rapport avec la zone du TouchPad.


Chaque touche possède 3 fonctions dédiées (par exemple pour la touche kbESC):
- KeyManager::kbESC() vaudra true (=1) si la touche est appuyée et false (=0) sinon.
- KeyManager::kbESC_Press_Event() vaudra true (=1) si la touche a été pressée depuis le dernier tour de KeyManager::Logic() et false (=0) sinon.
- KeyManager::kbESC_Release_Event() vaudra true (=1) si la touche a été relâchée depuis le dernier tour de KeyManager::Logic() et false (=0) sinon.

L'état du clavier est mis à jour via la fonction KeyManager::Logic() qu'il convient d'inclure dans la boucle de gestion des évènements.

A ces fonctions individuelles se rajoutent des fonctions plus globales :
- KeyManager::IsKeyPressEvent() vaudra true (=1) si une touche du clavier a été pressée depuis le dernier tour de KeyManager::Logic() et false (=0) sinon.
- KeyManager::IsAnyKeyPressed() vaudra true (=1) si une touche du clavier est pressée et false (=0) sinon.

Il est possible de réinitialiser l'état du driver avec un appel à KeyManager::ResetState();

Voici un exemple simple d'utilisation.

Code: Tout sélectionner
#include <stdlib.h>
#include "./nSpireLTE/nSpireLTE.hpp"

int main(int argc, char **argv)
{
    KeyManager::Initialize();

   bool done = false;
   
   while (!done)
   {
      KeyManager::Logic();
      
      if (KeyManager::kbCTRL() && KeyManager::kbESC())
      {
         done = true;
      }
      
      if (KeyManager::kb8_Press_Event())
        {
            printf( " La touche [8] a ete pressee.\n" );
        }

        if (KeyManager::kb8_Release_Event())
        {
            printf( " La touche [8] a ete relachee.\n" );
        }
      
      if (KeyManager::kbDOT_Press_Event())
        {
            printf( " La touche [.] a ete pressee.\n" );
        }

        if (KeyManager::kbDOT_Release_Event())
        {
            printf( " La touche [.] a ete relachee.\n" );
        }
   }

    KeyManager::Close();

    return 0;
}



B) MouseManager

Le module MouseManager est très similaire au module KeyManager.

Pour les touches avec les keycodes "bleus", l'utilisation est strictement identique, seul l'appel se fait via MouseManager::kb.. au lieu de KeyManager::kb..

Les événements sont du même type, par exemple pour la touche flèche droite :
- MouseManager::kbRIGHT() vaudra true (=1) si la touche est appuyée et false (=0) sinon.
- MouseManager::kbRIGHT_Press_Event() vaudra true (=1) si la touche a été pressée depuis le dernier tour de MouseManager::Logic() et false (=0) sinon.
- MouseManager::kbRIGHT_Release_Event() vaudra true (=1) si la touche a été relâchée depuis le dernier tour de MouseManager::Logic() et false (=0) sinon.

Mais le rôle de MouseManager est aussi de gérer le TouchPad lorsque il est utilisé comme une souris (c'est à dire en passant le doigt dessus et en cliquant la partie centrale) :
- MouseManager::GetX() retourne la position X du curseur de souris (sans gestion de sa représentation graphique, valeur entre 0 et 320 pixels)
- MouseManager::GetY() retourne la position Y du curseur de souris (sans gestion de sa représentation graphique, valeur entre 0 et 240 pixels)
- MouseManager::GetB() retourne l'état du bouton de souris (true si cliqué et false sinon)

Il est possible de gérer la sensibilité du TouchPad via la fonction MouseManager::SetSensibility( valeur ) avec valeur comprise entre entre 0.1 et 10.
10 étant très (très) rapide et 0.1 très (très) lent. 3 est une bonne valeur a priori.

Encore une fois rien de mieux qu'un exemple simple.

Code: Tout sélectionner
#include <stdlib.h>
#include "./nSpireLTE/nSpireLTE.hpp"

int main(int argc, char **argv)
{
    KeyManager::Initialize();
    MouseManager::Initialize();

   bool done = false;
   unsigned int MX;
   unsigned int MY;
   bool MB;
   
   MouseManager::SetSensibility( 3 );
   
   
   while (!done)
   {
      KeyManager::Logic();
      MouseManager::Logic();
      
      if (KeyManager::kbCTRL() && KeyManager::kbESC())
      {
         done = true;
      }
      
      MX = MouseManager::GetX();
      MY = MouseManager::GetY();
      MB = MouseManager::GetB();
      
      if (MB)
      {
         printf( " Mouse position is (%d, %d) - Button Clicked.\n", MX, MY );
      }
      else
      {
         printf( " Mouse position is (%d, %d).\n", MX, MY );
      }         
      
   }

    KeyManager::Close();
    MouseManager::Close();
   
    return 0;
}



C) TimeManager

TimeManager est le module responsable de la gestion des timers et du temps.

Si vous voulez bloquer le programme, TimeManager::Delay( valeur ) vous permettra de bloquer durant valeur millisecondes.
Si vous voulez avoir l'heure courante, TimeManager::GetCurrentTime( ) vous donnera toutes les informations nécessaires.

Il est à noter que le module TimeManager ne demande pas d'appel cyclique à une fonction Logic() pour fonctionner.

Code: Tout sélectionner
#include <stdlib.h>
#include "./nSpireLTE/nSpireLTE.hpp"

int main(int argc, char **argv)
{
    KeyManager::Initialize();
    MouseManager::Initialize();
   TimeManager::Initialize();

   bool done = false;
   
   int Heure, Minute, Seconde;
   
   while (!done)
   {
      KeyManager::Logic();
      MouseManager::Logic();
      
      if (KeyManager::kbCTRL() && KeyManager::kbESC())
      {
         done = true;
      }
      
      TimeManager::GetCurrentTime( &Heure, &Minute, &Seconde );
      
      if (KeyManager::IsKeyPressEvent() || MouseManager::IsKeyArrowPressEvent())
      {
         printf( " [Pause for the next 5s]\n" );
         TimeManager::Delay( 5000 );
         printf( " [OK, Done end of the 5s]\n" );
      }
      
      printf( " Hello : current time is %d:%d:%d\n", Heure, Minute, Seconde );
   }

    KeyManager::Close();
    MouseManager::Close();
   TimeManager::Close();
   
    return 0;
}



D) Debugger

Le module Debugger est un peu particulier, mais tellement nécessaire. Programmer revient toujours à un moment où à un autre à chercher désespérément un bug et à essayer de comprendre pourquoi telle ou telle partie du code ne fonctionne pas comme prévu ou pis, fait crasher la machine.

Le module Debugger vise à proposer quelques routines pour aider à la résolution de ces soucis.

Le module Debugger permet de créer des fichiers dits de "Logs" afin de tracer les fonctions. Il est intimement lié au module TimeManager vu précédemment.

Par exemple, afin de savoir si un plantage se produit avant ou après une fonction, il suffit d'ajouter dans le code source :
Code: Tout sélectionner
   ...
    Debugger::Log( "J'arrive juste avant la fonction à tester\n" );
   
   fonction_a_tester();
   
   Debugger::Log( "Je suis juste après la fonction à tester\n" );
   ...


Si dans le fichier de log vous avez bien les deux lignes inscrites, alors cette fonction n'est pas incriminée dans le plantage, sinon, il vous faudra analyser cette fonction plus finement, par exemple en y incorporant des lignes de logs supplémentaires, possiblement en y incluant des valeurs utiles.

Le module contient deux familles de fonctions:
- Debugger::Log( ...) : les fonctions de log sans horodatage
- Debugger::TimerLog( ...) : les fonctions de log avec horodatage permettant de garder une trace du temps écoulé depuis l'initialisation du module

Les fonctions se rapprochent des classiques "printf()" du C et permettent de multiples sorties de valeurs via les traditionnels "%d", "%l", "%s" et toutes les options de formatage de chaines.

Par défaut, le fichier log se nomme "DebugDefOut.txt.tns" et est situé à la racine de la nSpire, mais ce fichier peut être changé via un appel à la fonction : Debugger::SetDebuggerFile( nomdufichier )

Voici un exemple simple d'utilisation.

Code: Tout sélectionner
#include <stdlib.h>
#include "./nSpireLTE/nSpireLTE.hpp"

int main(int argc, char **argv)
{
    KeyManager::Initialize();
   TimeManager::Initialize();
   Debugger::Initialize();

   bool done = false;
   
   int Heure, Minute, Seconde;
   
   MouseManager::SetSensibility( 3 );
   
   Debugger::Log( "Hello Dear Programmer\n" );   
   Debugger::TimerLog( "We will enter the Main Loop\n" );
   Debugger::TimerLog( "and start logging the actions.\n" );   
   
   while (!done)
   {
      KeyManager::Logic();
      MouseManager::Logic();
      
      if (KeyManager::kbCTRL() && KeyManager::kbESC())
      {
         done = true;
         Debugger::TimerLog( "CTRL+ESC pressed : ask for closure\n" );   
      }
      
      if (KeyManager::kb7_Press_Event())
      {
         Debugger::TimerLog( "[7] pressed\n" );
      }
      if (KeyManager::kb8_Press_Event())
      {
         Debugger::TimerLog( "[8] pressed\n" );
      }
      if (KeyManager::kb9_Press_Event())
      {
         Debugger::TimerLog( "[9] pressed\n" );
      }
      
      if (KeyManager::kb7_Release_Event())
      {
         Debugger::TimerLog( "[7] released\n" );
      }
      if (KeyManager::kb8_Release_Event())
      {
         Debugger::TimerLog( "[8] released\n" );
      }
      if (KeyManager::kb9_Release_Event())
      {
         Debugger::TimerLog( "[9] released\n" );
      }
   }

   Debugger::TimerLog( "We quit the Main Loop\n" );
   Debugger::TimerLog( "and will return to the OS.\n" );
   Debugger::Log( "Bye bye, and see you soon\n" );   

    KeyManager::Close();
   TimeManager::Close();
   Debugger::Close();
   
    return 0;
}



3) Conclusion :



La librairie nSpireLTE vise à offrir les fonctions de base nécessaires à l'écriture et au débogage de programmes pour la nSpire. Ce court article vise à expliquer les grandes lignes d'utilisation de chacun des 4 modules de la librairie, mais n'est aucunement exhaustif. Chacun des modules contient des fonctionnalités supplémentaires. Nous ne pouvons que vous inviter à regarder dans les fichiers .hpp si vous êtes intéressés et à découvrir l'ensemble des fonctions de chacun des modules.

En vous souhaitant un bon code et plein de beaux programmes pour la nSpire.
Dernière édition par SlyVTT le 14 Jan 2022, 21:49, édité 1 fois.
Lien vers le sujet sur le forum: Lib nSpireLTE (LiTe Engine) pour faciliter le dév natif (Commentaires: 2)

Mise à jour TI-Nspire CX II 5.4.0

Nouveau messagede critor » 07 Jan 2022, 00:00

15069Pour bien démarrer l'année 2022, Texas Instruments nous sort aujourd'hui une nouvelle mise à jour 5.4 pour ses calculatrices TI-Nspire CX II.

Le numéro de version complet est 5.4.0.257, et la compilation a eu lieu le 11 novembre 2021.

Elle fait donc suite à la version précédente 5.3.2 compilée le 29 juin 2021.
Attention, comme la version précédente 5.3.2, cette nouvelle version 5.4 n'est pas compatible avec Ndless r2018, et son installation est comme à l'habitude bien évidemment sans aucun retour possible. Toute tentative de réinstaller une version inférieure te sera par la suite refusée.

Si tu choisis de mettre à jour ta calculatrice avec l'une de ces versions, tu renonces donc à Ndless pour une durée indéterminée, des jours, semaines, mois ou même années comme c'est déjà arrivé, nous l'ignorons.

Entre le changement de numérotation majeur de la version 5.4 et le fait que la publication (et donc les tests de validation) ont pris près de 2 mois, nous aurions pu nous attendre à de grandes nouveautés.

Cela ne semble toutefois pas être le cas. Le changelog officiel n'évoque vaguement que 2 choses :
Texas Instruments a écrit:
  • améliorations des fonctionnalités « Mode examen »
  • diverses corrections de bugs mineurs

Nous avons cherché pendant plusieurs heures, aussi bien niveau mode examen que niveau bugs déjà rencontrés, mais n'avons strictement rien réussi à trouver comme nouveauté ou amélioration.

Il y a toujours les problèmes avec les images-ressources que tu importes dans tes documents via l'éditeur Lua du logiciel TI-Nspire.

Elles sont affichées correctement par les scripts Lua, mais sont inversées verticalement lors d'un affichage par les scripts Python via le module ti_image.

Pire, sur certaines images nous avons même avec une distorsion horizontale en prime... :(

Niveau Python, il y a toujours un bug bien violent avec la fonction set_color() de la bibliothèque ti_draw. Si jamais tu commets l'erreur de lui passer le paramètre de couleur sous la forme d'une liste au lieu d'un tuple, la calculatrice redémarre instantanément :
Code: Tout sélectionner
from ti_draw import *
set_color(255, 0, 0) # ok

c = (255, 0, 0)
set_color(c) # ok

c = [255, 0, 0]
set_color(c) # reset



Téléchargements :
Lien vers le sujet sur le forum: Mise à jour TI-Nspire CX II 5.4.0 (Commentaires: 10)

Crafti, clone Minecraft TI-Nspire, porté sur Xbox

Nouveau messagede critor » 13 Jan 2022, 12:10

Depuis plusieurs années, Vogtinator est le principal dévelopeur de Ndless, le jailbreak te permettant de lancer du code machine tiers sur les TI-Nspire.

Pour la rentrée 2015 justement Vogtinator t'avait sorti Crafti, un très impressionnant clone de Minecraft pour Ndless.

Te souviens-tu également de notre cher et très prolifique gameblabla ? Il t'avait porté des émulateurs de consoles de jeux par 10aines pour TI-Nspire CX et Ndless, t'ouvrant ainsi la porte à plusieurs milliers de jeux sur ta calculatrice ! :favorite:

De façon générale, nombre de jeux pour nos calculatrices sont des adaptations ou portages de jeux sortis pour ordinateurs et consoles.

Et bien aujourd'hui gameblabla nous emmène pour une fois sur le chemin inverse ; il vient de réaliser un portage de Crafti pour la console de jeux Microsoft Xbox ! :D

Ndless ayant hélas cessé d'être adapté aux nouvelles mises à jour TI-Nspire CX depuis bientôt une année, retrouve donc maintenant sur ta Xbox les joies et plaisirs des TI-Nspire Ndlessées :

Téléchargements :
Lien vers le sujet sur le forum: Crafti, clone Minecraft TI-Nspire, porté sur Xbox (Commentaires: 3)

Magic Light v1.0 pour nSpire CX(-II) et Casio Graph 90+E

Nouveau messagede SlyVTT » 14 Jan 2022, 22:32

Lors d'une news précédente, nous vous informions de la réalisation en cours d'un puzzle game intitulé Magic Light sur Casio Graph 90+E par SlyVTT en remerciement du gain de cette machine lors du concours de rentrée 2021.

L'idée du jeu étant aussi fortement liée au thème du concours d'Automne de Planète Casio CPC #28 qui se résumait en un simple mot : GLACIAL et pour lequel un prototype de test avait été implémenté.

Le développement de Magic Light est désormais terminé, et nous sommes heureux de vous en faire une brève présentation, accompagnée de quelques infos supplémentaires.


En effet, depuis la précédente information, de l'eau a coulé sous les ponts, et le développement de la version 1.0 de Magic Light s'est accompagné de la réécriture du jeu pour le rendre compatible avec les TI nSpire CX/CX-II.

Ce n'est donc pas une release que nous annonçons aujourd'hui, mais deux. Oui Madame, vous avez bien entendu, deux versions pour le prix d'une seule.


Magic Light est un puzzle game et pour le coup une création originale tirant pleinement profit des écrans couleurs de la Graph 90+E et de la TI nSpire CX/CX-II comme nous allons le voir ensemble. Après un menu d'accueil stylé et animé, entrons donc dans le vif du sujet.

Une démo du gameplay sur Graph 90+E est disponible via cette petite vidéo capturé sur l'émulateur :


En tant que héro du jeu, tu te dois ici d'arpenter les différentes salles d'un donjon ... à la recherche des fragments de lumière dérobés aux villageois par le Sorcier Noir et ses 4 Magiciennes de Filles ... afin de ramener couleurs et joie disparues au village. Pour cela, tu dois te rendre dans le chateau forteresse du Magicien où il a caché son butin.

Mais les portes sont fermées et ne peuvent s'ouvrir que si tu résous le puzzle de lumière que te posera chaque salle. Autour de chaque salle sont donc disposés des portes ainsi que des capteurs réagissant à certaines couleurs. Chaque porte est connectée à un certain nombre de capteurs, de 1 à 3, et ne s'ouvre que si ils sont tous éclairés simultanément par les bonnes couleurs.

Pour cela tu disposes dans chaque salle de plusieurs éléments déplaçables avec les touches fléchées du clavier, après les avoir sélectionnés avec les touches ad-hoc correspondant au menu de bas d'écran :
  • le personnage à faire sortir de la salle
  • une boule de cristal émettant une lumière blanche, initialement au centre
  • les blocs filtrant la lumière et ne laissant passer que certaines couleurs : les blocs rouge, vert, bleu et noir

Image

Pour savoir quels capteurs sont associés à une porte, il te faut les éclairer. Un indicateur s'allumera alors au-dessus des portes concernées.

Image

Bien entendu, le château grouille de monstres en tout genre et le Sorcier ainsi que les Magiciennes feront tout pour te dissuader de reprendre leur butin et le ramener au village. Il te faudra donc faire preuve de prudence et de dextérité en plus de jugeote pour traverser cette épreuve.

Le moteur physique codé pour le jeu permet de projeter la forme correcte des faisceaux lumineux sur les murs et les obstacles, mais pas seulement :
  • selon les niveaux, des blocs fixes peuvent également être présents et bloquer le passage de la lumière
  • et les blocs filtrant la lumière peuvent être combinés pour former de nouvelles couleurs par synthèse additive

Il vous faudra donc réfléchir à deux fois pour positionner tout ce petit monde à la bonne place, sachant les monstres sont là pour vous embêter et ne vous veulent pas forcément que du bien.
Et il ne faudra pas oublier de ramasser les trésors, vous y trouverez des points de vie pour récupérer de la santé, mais aussi des points pour augmenter votre score, et surtout, n'oublions pas le plus important, les fragments de couleurs à récupérer pour sauver le village ...

Image

Les menus devraient être assez clairs pour vous permettre de jouer simplement.

Le jeu offre 3 niveaux de difficulté :
  • facile : avec 5 points de vie, permet de ne pas galérer
  • normal : avec 3 points de vie, permet de mieux ressentir la pression des monstres
  • hardcore : c'est simple, t'es touché ... t'es mort !!

Image


Il vous faudra donc réussir à parcourir les 33 niveaux du jeu et affronter 1000 dangers afin de retrouver les 5 fragments du "Jewel of Colors" et ainsi rapporter la lumière et les couleurs aux villageois.


Bien entendu les deux versions ne sont pas strictement similaires, les machines ayant des spécificité techniques très différentes. Néanmoins, comme visible sur les captures suivantes d'écran issues de la version nSpire, le design a été ajusté au mieux pour adapter le jeu le plus fidèlement possible à la TI nSpire.

Image Image
Image Image
Image


Nous vous souhaitons un très bon moment sur Magic Light, en espèrant que vous saurez rapporter la couleur au village.
Lien vers le sujet sur le forum: Magic Light v1.0 pour nSpire CX(-II) et Casio Graph 90+E (Commentaires: 3)

Crafti, clone Minecraft TI-Nspire, porté sur Playstation 2

Nouveau messagede critor » 20 Jan 2022, 16:28

Depuis plusieurs années, Vogtinator est le principal dévelopeur de Ndless, le jailbreak te permettant de lancer du code machine tiers sur les TI-Nspire.

Pour la rentrée 2015 justement Vogtinator t'avait sorti Crafti, un très impressionnant clone de Minecraft pour les TI-Nspire capables d'exploiter le jailbreak Ndless.

Te souviens-tu également de notre cher et très prolifique gameblabla ? Il t'avait porté des émulateurs de consoles de jeux par 10aines pour TI-Nspire CX et Ndless, t'ouvrant ainsi la porte à plusieurs milliers de jeux sur ta calculatrice ! :favorite:

De façon générale, nombre de jeux pour nos calculatrices sont des adaptations ou portages de jeux sortis pour ordinateurs et consoles plusieurs années auparavant.

Dans une actualité précédente, gameblabla innovait en nous emmenant pour une fois sur le chemin inverse, réalisant en effet un nouveau portage de Crafti pour la console de jeux Microsoft Xbox.

Et bien aujourd'hui gameblabla récidive, signant cette fois-ci un portage de Crafti pour la console de jeux Sony Playstation 2 ! :D

Ndless ayant hélas visiblement cessé d'être adapté aux nouvelles mises à jour TI-Nspire CX depuis bientôt une année, retrouve donc maintenant également sur ta Playstation 2 les délices des TI-Nspire Ndlessées :

Téléchargements :
Lien vers le sujet sur le forum: Crafti, clone Minecraft TI-Nspire, porté sur Playstation 2 (Commentaires: 0)

Nouvel emballage carton TI-Nspire CX II-T CAS pour l'Europe

Nouveau messagede critor » 24 Jan 2022, 13:36

14115Comme nous te l'avons déjà annoncé pour cette année scolaire 2021-2022, l'ensemble de la gamme Texas Instruments passe progressivement aux emballages carton. Fini les emballages historiques à coque blister rigide très difficiles à ouvrir proprement, quasiment impossibles à réutiliser une fois ouverts, pénibles et encombrants à ranger, et n'ayant donc dans la plupart des cas que la poubelle comme seule destination possible après ouverture ! :bj:

À ce sujet nous t'avons déjà présenté les nouveaux emballages :
150591399414124

1412014117Pour cette année 2021-2022 tu peux donc encore te retrouver en rayon avec un même modèle de calculatrice à la fois sous emballage carton et blister, exactement au même prix puisque utilisant le même code barre.

Rappelons que pour les TI-83 Premium CE Edition Python il est dans ton intérêt de choisir l'emballage carton, et pas seulement pour l'écologie et la planète.

En effet, grande nouveauté de la rentrée 2021, pour le même prix le nouvel emballage carton a l'avantage exclusif d'intégrer également le logiciel d'émulation sous la forme d'une licence d'utilisation de 3 ans, ce qui n'est pas le cas des anciens emballages blister. :#non#:

Aujourd'hui, Adriweb vient enfin de nous dénicher des images du nouvel emballage carton TI-Nspire CX II-T CAS.

Ici il s'agit d'un modèle distribué dans l'ensemble de l'Europe et son emballage non spécifique à la France est visiblement unique, Texas Instruments ayant en effet fait le choix du multilingue. On ne manque apparemment pas de polyglottes chez Texas Instruments, pas moins de 8 lignes avec dans l'ordre :
  • Allemand
  • Finlandais
  • Suédois
  • Italien
  • Anglais
  • Français
  • Espagnol
  • Néerlandais
Le dos de l'emballage met en avant les fonctionnalités du logiciel de Mathématiques intégré TI-Nspire et entre autres son langage de programmation Python, à ce jour hélas sans aucune concurrence sérieuse parmi le haut de gamme.

Source : viewtopic.php?f=49&t=25097&p=266147#p266147
Lien vers le sujet sur le forum: Nouvel emballage carton TI-Nspire CX II-T CAS pour l'Europe (Commentaires: 4)

Crafti, clone Minecraft TI-Nspire, porté sur Nintendo 64

Nouveau messagede critor » 25 Jan 2022, 10:25

Depuis plusieurs années, Vogtinator est le principal dévelopeur de Ndless, le jailbreak te permettant de lancer du code machine tiers sur les TI-Nspire.

Pour la rentrée 2015 justement Vogtinator t'avait sorti Crafti, un très impressionnant clone de Minecraft pour les TI-Nspire capables d'exploiter le jailbreak Ndless.

Te souviens-tu également de notre cher et très prolifique gameblabla ? Il t'avait porté des émulateurs de consoles de jeux par 10aines pour TI-Nspire CX et Ndless, t'ouvrant ainsi la porte à plusieurs milliers de jeux sur ta calculatrice ! :favorite:

De façon générale, nombre de jeux pour nos calculatrices sont des adaptations ou portages de jeux sortis pour ordinateurs et consoles plusieurs années auparavant.

En janvier 2017, gameblabla innovait en nous emmenant hors des sentiers battus, réalisant en effet exactement le contraire : des portages de Crafti pour la console de jeux Sega Dreamcast, ainsi que pour les bornes d'arcade Sega Naomi car utilisant un matériel très similaire.

En ce mois de janvier 2021 pour fêter les 4 ans de son exploit, gameblabla récidive. Comme nous t'en informions déjà dans deux actualités précédentes, il vient en effet de réaliser de nouveaux portages de Crafti pour les consoles de jeux Microsoft Xbox et Sony Playstation 2.

Et bien ce n'est pas fini. Aujourd'hui gameblabla multirécidive, nous signant cette fois-ci un portage de Crafti pour la console de jeux Nintendo 64 ! :D

Ndless ayant hélas visiblement cessé d'être adapté aux nouvelles mises à jour TI-Nspire CX depuis bientôt une année, retrouve donc maintenant également sur ta Nintendo 64 les meilleurs délices des TI-Nspire CX Ndlessées :

Téléchargements :
Lien vers le sujet sur le forum: Crafti, clone Minecraft TI-Nspire, porté sur Nintendo 64 (Commentaires: 0)

Mise à jour TI-Nspire CX II 5.4.0.259

Nouveau messagede critor » 27 Jan 2022, 21:35

15158Texas Instruments nous sort à nouveau aujourd'hui une mise à jour 5.4 pour ses calculatrices TI-Nspire CX II.

Le numéro de version complet est 5.4.0.259, et la compilation a eu lieu le 11 janvier 2022.

Cette mise à jour fait donc suite à la version précédente 5.4.0.257 compilée le 11 novembre 2021 mais publiée seulement le 6 janvier dernier.

Nous sommes très hautement surpris d'avoir une nouvelle mise à jour après seulement 3 semaines, compilée visiblement quelques jours après la sortie de la version précédente. Il faut croire qu'un défaut significatif a été identifié suite à la publication de la version 5.4.0.257, sans toutefois être trop complexe à corriger. Peut-être quelque chose touchant à la sécurité ou au mode examen, deux arguments de vente majeurs chez Texas Instruments.

Attention, comme toutes les versions précédentes depuis la 5.3.2 incluse, cette nouvelle version 5.4.0.259 n'est pas compatible avec Ndless r2018, et son installation est comme à l'habitude bien évidemment sans aucun retour possible. Toute tentative de réinstaller une version inférieure te sera par la suite refusée.

Si tu choisis de mettre à jour ta calculatrice avec l'une de ces versions, tu renonces donc à Ndless pour une durée indéterminée, des jours, semaines, mois ou même années comme c'est déjà arrivé, nous l'ignorons.

Le changelog officiel n'a pas été mis à jour, évoquant vaguement que les deux mêmes choses que pour la version précédente :
Texas Instruments a écrit:
  • améliorations des fonctionnalités « Mode examen »
  • diverses corrections de bugs mineurs


Nous avons cherché pendant plusieurs heures, aussi bien niveau mode examen que niveau bugs déjà rencontrés, mais n'avons strictement rien réussi à trouver comme nouveauté ou amélioration visible pour l'utilisateur.

Il y a toujours les problèmes avec les images-ressources que tu importes dans tes documents via l'éditeur Lua du logiciel TI-Nspire.

Elles sont affichées correctement par les scripts Lua, mais sont inversées verticalement lors d'un affichage par les scripts Python via le module ti_image.

Pire, sur certaines images nous avons même avec une distorsion horizontale en prime... :(

Niveau Python, il y a toujours un bug bien violent avec la fonction set_color() de la bibliothèque ti_draw. Si jamais tu commets l'erreur de lui passer le paramètre de couleur sous la forme d'une liste au lieu d'un tuple, la calculatrice redémarre instantanément :
Code: Tout sélectionner
from ti_draw import *
set_color(255, 0, 0) # ok

c = (255, 0, 0)
set_color(c) # ok

c = [255, 0, 0]
set_color(c) # reset



Téléchargements :
Lien vers le sujet sur le forum: Mise à jour TI-Nspire CX II 5.4.0.259 (Commentaires: 5)

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1691 utilisateurs:
>1674 invités
>12 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)