Découvrez le jeu Web de serpent addictif réalisé par l'auteur de ce site : ![]() |
Compatibilités :
- Il est recommandé de désactiver l'application Français
(ou tout autre language) avant l'installation.
- Symbolic : vous devez avoir la version 1.8 pour n'avoir aucun problème
avec cette application (dans le cas contraire, Symbolic sera juste désactivée).
- MirageOS : Avant toute installation, décochez les options "Quick
Key Repeat", "ALPHA/APPS+ON" et "Block the Memory Menu From
Access" (dans "Tasker And Key Hooks").
En pressant [ON] [APPS], Omnicalc exécutera automatiquement MirageOS
s'il existe sur votre calculatrice.
Même si vous n'avez pas MirageOS, vous aurrez accès à la
fonction [ON] [ALPHA] : elle permet d'éteindre la calculatrice en la
laissant tel quelle lorsque vous la réallumerez (très utile lors
de l'édition d'un programme).
- Parentheses Assistant : lorsque vous appuyez sur une parenthèse fermante, la parenthèse ouvrante correspondante est mise en inverse pour vous retrouver plus facilement dans une grande équation. S'il n'y a aucune parenthèse ouvrante correspondante, vous ne pourrez pas la fermer.
- Memory Protection : Permet de ne pas autoriser "Reset" dans le menu MEM mais aussi d'empécher toute suppression de variables (ou programmes) dans ce même menu (mais permet toujours la visualisation et l'archivage).
- Entries Menu : Lorsque vous appuirez sur [2nd] [ENTRY], les dernières entrées vous seront proposées sous forme de menu bien plus pratique.
- RAM Recovery (uniquement pour TI-83 Plus Silver Edition) : Cette fonction fera automatiquement une sauvegarde du contenu de la RAM lorsque vous éteignez votre calculatrice. Si vous appelez la fonction RestoreMem(), vous pourrez restaurer le contenu de la RAM ainsi enregistré.
- Virtual Calculators (uniquement pour TI-83 Plus Silver Edition) : Vous permet de créer une seconde "TI virtuelle" (vous aurrez ainsi deux TI en une). Pour passer de l'une à l'autre, faites la combinaison de touches [ON]+[MODE] : "1" ou "2" apparaîtra en haut à droite pour vous rapeler celle que vous venez d'activer.
- Base Conversion : Permet l'affichage
de résultats dans une base donnée. Faites la combinaison de touches
[ON]+[LOG] et entrez la base dans laquelle vous souhaitez faire apparaître
les résultats. Pour ceci, entrez un nombre entre 2 et 36.
Attention : pour des bases inférieures à 10, vous devez la faire
précéder par un zéro.
Pour revenir à l'affichage décimal par défaut, entrez juste
10.
Exemple : [ON]+[LOG] [0] [2] active l'affichage binaire ; ainsi, 28
donnera l'affichage 11100b.
Nous verrons plus loin comment modifier la base en entrée.
- Presse-papier : Permet le copier/coller !
1. Déplacez le curseur au début de la chaîne à copier
2. Pressez [ALPHA] sans relacher et appuyez sur la touche [>] (droite) pour
sélectionner ce que vous désirez copier
3. Toujours sans relacher [ALPHA], appuyez sur [^] (haut) pour faire un copier
: vous pouvez maitenant relacher [ALPHA]
4. Pour coller, positionnez-vous où vous désirez coller (logique)
5. Appuyez sur [ALPHA] et pressez [v] (bas) (tout en maintenant [ALPHA] bien
sûr) : c'est fait !
- Menu personnalisé : met à votre disposition un menu
où vous pouvez ranger les huit commandes que vous utilisez le plus.
Pour y accéder, appuyez deux fois sur la touche [VARS] et sélectionnez
la commande désirée.
Pour remplire ce menu, c'est tout aussi simple : allez dans le catalogue ([2nd]
[CATALOG]), pointez la fonction désirée et pressez [ON]+[x], où
[x] est une touche numérique entre 1 et 8 qui asignera la position (et
donc la touche raccourci) dans le menu perso.
Exemple : [ON]+[1] pour placer la fonction dans le premier élément
du menu.
Pour supprimer une commande du menu, allez dans ce menu et pointez l'élément
désiré : vous n'avez plus qu'à appuyer sur [DEL].
- Clear partiel : Cette fonction pour permet d'utiliser la touche [CLEAR]
à la façon de la TI-89 :
Si le curseur est à la fon de la ligne (dans l'écran principal
de la TI) et que vous appuyez sur [CLEAR], toute la ligne sera effacée
(jusque là pas de changement).
Si le curseur est au milieu de la ligne (ni au début ni à la fin),
ce sera juste les caractères après le curseur qui seront effacées
(et si vous réappuyez une seconde fois, ce sera toute la ligne).
Menu "PRGM" :
- sprite() : Uniquement pour les programmeurs. Si vous n'êtes
pas dans ce cas, passez au menu "MATH" afin de ne pas être trop
dégouté de cette application ;-)
Bon, pour le reste, usez de patience : c'est la fonction la plus utile et la
plus interessante pour vous !
Si vous comprennez vous pourrez faire pas mal de très bon jeux avec...
Cette fonction permet de prendre une partie d'une variable Picx (une image,
donc) et de l'afficher n'importe où à l'écran. Qui dit
afficher dit aussi effacer : on peut donc faire bouger une petite image (un
missile, vaisseau...) ou juste afficher plus rapidement une grille (murs, objets...).
En plus de cela, la fonction sprite() permet aussi de dessiner un objet dans
le graph buffer (tampon, en anglais) : ainsi, vous pouvez exécuter votre
code et, une fois tous les dessins ajoutés, il ne vous reste plus qu'à
rafréchir l'écran avec ce tampon pour que toutes les modifications
apparaîssent instantannément !!!
Passons à la pratique :
Syntaxe : sprite(Picx,X,Y,W,H,Xdest,Ydest[,opt])
Tous ces paramètres sont des nombres réels (ou variables), hormis
le premier qui est le nom d'une image
Les crochets ne font bien sûr pas parti de la syntaxe mais sont là
pour faire remarquer que le dernier paramètre est facultatif
Picx : Nom de l'image où est stoqué le sprite (de Pic0
à Pic9)
X : Coordonnée X du sprite dans Picx : de 0 à 94, multiple
de 8
Y : Coordonnée Y du sprite dans Picx : de 0 à 62, multiple
de 8
W : Longueur du sprite, multiple de 8
H : Hauteur du sprite, multiple de 8
Xdest : Coordonnée X du sprite sur l'écran
Ydest : Coordonnée Y du sprite sur l'écran
opt : Paramètre facultatif de 0 à 3 (valant 0 par défaut)
renseignant la façon dont le sprite doit être dessiné :
0 : Le sprite est dessiné dans le graph
buffer et mis à jour automatiquement, desinné avec le masque XOR
1 : Le sprite est dessiné dans le graph
buffer sans mise à jour, desinné avec le masque XOR
2 : Le sprite est dessiné dans le graph
buffer et mis à jour automatiquement, desinné avec le masque OR
3 : Le sprite est dessiné dans le graph
buffer sans mise à jour, desinné avec le masque OR
Retour : avec opt = 0 ou opt = 2, le sprite est dessiné directement
sur l'écran, soit avec la méthode XOR (inversion de la couleur
des pixels) ou avec la méthode OR (affiché en noir)
Exemple :
:For(X,0,87,8)
:For(Y,0,55,8)
:sprite(Pic0,0,0,8,8,X,Y,1)
:End:End
Pic0 doit contenir le sprite en (0,0) de dimensions (8,8).
Le sprite est stoqué dans le graph buffer en inversant les pixels (opt
= 1) aux coordonnés (X,Y) suivant deux boucles For() incrémentants
les variables X et Y.
Cela peut serir, par exemple, à remplir l'écran avec une mosaïque
(ou, en plus éllaboré, dessiner une pièce avec des murs
et des objets).
Du fait de la méthode d'affichage 2, l'écran n'affichera rien
: il faudra afficher un nouveau sprite avec la méthode 0 ou 2 (un sprite
blanc de (8,8) par exemple) : les sprites apparaîtrons alors à
l'écran instantanément.
Dans le même orde d'idée, si vous souhaitez faire un objet qui
bouge, vous devrez l'afficher une première fois avec la méthode
0 et ensuite avec la méthode 1. Puis 0, puis 1, 0, 1, etc... Ainsi, l'objet
sera affiché puis supprimé (grace au masque XOR) mais pas à
l'écran (grace à la méthode 2), puis réaffiché
quelques pixels plus loin : c'est alors que l'écran est rafréchi
: il n'y a aucun temps de latence entre l'effacement et le réaffichage...
Utilisations possibles : Vous l'aurez surement compris cette fonction
est une révolution pour la programmation BASIC. Elle permettra de créer
simplement et efficacement des RPG (affichage du monde et des personnages se
déplaçant) et autres jeux en 2D comme les jeux de plateau (affichage
du plateau et déplacement des pions). Mais aussi pour des jeux dessinant
beacoup et demandant de la vitesse et de la fluidité comme des shoot-em-up
(dessin des vaisseaux et missibles se déplaçant). Vous pouvez
vous en servir pour afficher une image à un endrois précis de
l'écran (avec plusieurs sprites, mais attention aux sorties d'écran)
ou pour des animations fluides sans utiliser ClrDraw...
Bref, cette solution n'est pas encore aussi rapide que l'assembleur mais à
défaut on s'en contente avec joie si on n'affiche pas trop de sprites
à la fois...
Menu "MATH" :
- !n() : Fonction utilisée en probabilités : Donne le
nombre de permutations possibles d'une liste sans que ses constituants ne reviennent
dans leur positions initiales.
Syntaxe : !n(R)
R: un nombre réel ou une variable
Retour : un nombre réel
Exemple : !n(3) :: 2
:: Soit une liste {1,2,3}, en permutant ses nombres,
on peut l'écrire aussi {3,2,1} ou {2,3,1}
sans qu'aucun de ses nombres ne reviennent à leur position d'origine
: la fonction fourni donc 2.
Astuce : Pour obtnire le nombre délément d'une liste (et
ainsi le passer en paramètres à la fonction), utilisez dim()
: fonction de l'OS dans le menu [LIST].
- baseInput() : Permet d'entrer un nombre dans
une base et de le convertir dans une autre.
Syntaxe : baseInput(Str,R[,R])
Str : une chaine de caractères ou une variable Strx contenant
le nombre dans la base d'origine à transformer
R : un nombre réel ou une variable représentant la base
d'origine
[,R] : paramètre facultatif (les crochets ne doivent pas être
repris) : un nombre réel ou une variable représentant la base
de sortie si différente de la base d'affichage (voir Base
Convertion)
Retour : affichage du nombre donné avec la base d'affichage ou
celle donnée en paramètres.
Exemple 1 : baseInput("110",2)
:: 7d :: le nombre "110" dans la base
d'entrée 2 (binaire) est affichée dans la base d'affichage par
défaut (en décimal).
Exemple 2 : baseInput("110",2,16)
:: 7h :: le nombre "110" dans la base
d'entrée 2 (binaire) est affichée dans la base 16 (en hexadécimal).
- const() : Donne la valeur d'une constante.
Syntaxe : const(Str)
Str : une chaine de caractères ou une variable Strx contenant
l'une de ces abréviations :
NA, K, CC, EC, RC, GC, G, ME, MP, MN, H, C, U.
Retour : un nombre réel
Exemple : const("G") :: 9.80665
:: Affiche la valeur de la constante de gravité.
- factor() : Factorise le nombre en nombres premiers.
Syntaxe : const(R)
R : un nombre réel ou une variable représentant le nombre
à factoriser (doit être positif)
Retour : une liste
Exemple : factor(96) :: {2
2 2 2 2 3} :: Factorise 96
Astuce : Pour savoir si un nombre est premier ou pas, utilisez cette
fonction : si vous obtenez une liste avec juste le nombre que vous avez mis
en paramètre, c'est qu'il est premier.
- gamma() : Retourne le gamma d'un nombre.
Syntaxe : gamma(R)
R : un nombre réel ou une variable
Retour : un nombre réel ou une variable
Exemple : gamma(8) :: 8040
- mod() : Retourne le module arithmetique de deux nombres (le reste
de la division entière).
Syntaxe : mod(R1,R2)
R1 : un nombre réel ou une variable représentant le premier
nombre de la division
R2 : un nombre réel ou une variable représentant le second
nombre de la division
Retour : un nombre réel
Exemple : mod(8,3) :: 2
:: 8/3=2 et il reste 2
- simp√() : Simplifie la racine.
Syntaxe : simp√(R)
R : un nombre réel ou une variable représentant
le nombre à l'interieur de la racine
Retour : une chaine de caractère contenant la racine simplifiée
Exemple : simp√(8) :: "2√(2)"
Menu "MISC" :
- linkGet() : Reçoit un octet d'une autre calculatrice par le
port de lien.
Syntaxe : linkGet(R)
R : un nombre réel ou une variable valant 0 (tente d'obtenir l'octet
immediatement) ou 1 (attendre jusqu'à obtenir l'octet)
Retour : un nombre réel valant soit la valeur de l'octet (de 0
à 255) soit -1 si rien n'a pu être recu
Exemple : linkGet(0) :: -1
:: Juste pour l'exemple !
- linkSend() : Envoi un octet vers une autre calculatrice par le port
de lien. L'envoi est immediat.
Syntaxe : linkSend(R)
R : un nombre réel ou une variable de valeur 0 à 255
Retour : un nombre réel valant soit 0 si l'envoi a réussi
(si linkGet() a bien reçu l'octet) ou -1
0 à 255) ou -1 si l'octet n'a pas pu être envoyé
Attention : À cause du matériel de la TI-83 Plus Silver
Edition, il est impossible de savoir si un octet a été reçu
ou non avec ce modèle
Exemple : linkSend(64) :: 0
:: Juste pour l'exemple !
- RestoreMem() : Restaure les données
de la RAM (si elle a subit un RAM Cleared ou a été modifiée).
RAM Recovery doit avoir été activée.
Syntaxe : RestoreMem()
Exemple : RestoreMem()
:: Restaure la RAM d'après le contenu de la dernière fois que
vous l'avez éteinte.
- Rom>Dec() : Convertit un chiffre romain en nombre réel.
Syntaxe : Rom>Dec(Str)
Str : une chaine de caractères ou une variable Strx contenant
le nombre romain
Les lettres acceptées sont : I, V, X, L, C, D, M
Retour : un nombre réel
Exemple : Rom>Dec("MCMLXVI")
:: 1966
Changer sa police de caractères :
1. Téléchargez-en
sur le site dédié.
2. Envoyez les fichiers (sous forme de programmes) à votre TI.
3. Démarrez Omnicalc et choisissez "3: Font Sets".
4. Choisissez la police à appliquer grace aux touches [<] et [>]
(droite et gauche).
5. Pour activer ou désactiver cette fonction, appuyez sur [ENTER] ou
[2nd] (la case sera noircie).
6. Quittez Omnicalc et admirez !
Créer sa police de caractères :
Si vous ne trouvez pas votre bonheur, vous pouvez toujours créer vous-même
de belles uvres :
1. Téléchargez
Omnicalc Font Creator (pour Windows 95/98/Me/NT/2000/xp).
2. Dézippez le fichier et installez-le.
3. Démarrez-le (via le menu Démarrer).
4. Au bas de la fenêtre du créateur, le numéro du caractère
édité en ce moment apparaît (entre 0 et 255) : en cliquant
dessus vous pouvez éditer le caractère. Un apperçu vous
est montré. Pour passer à un autre caractère, cliquez sur
Next (le caractère suivant) ou sur le menu Switch Character (il vous
sera proposé les caractères les plus utilisés, pour les
restants, vous devrez entrer le numéro du caractère). Par défaut,
le dessin du caractère tel que le TI-OS le dessine vous est donné.
5. Quand vous aurrez fini, cliquez sur le menu Compile : entrez le nom du fichier
(limité à huit caractères) et cliquez sur OK.
6. Une fenêtre ODS s'ouvrira : lorsqu'elle contiendra "Finished",
fermez-la.
7. Le fichier sera sauvegardé au format .8xp : vous pourrez alors le
transférer à votre calculatrice (par défaut dans le dossier
C:\Program Files\Omnicalc).