Poster un nouveau sujet Poster une réponse
Programme de triche sécurisé ti-82PLUS et ti-83
Auteur Message
Onirix753
Invité
Posté le : Dim 05 Avr 2015, 19:58   Citer 

Bonjour à tous !
Je poste sur ce site pour vous faire part d'un programme de ma conception sécurisé par un mot de passe, je m'explique, lors d'une de mais longue (et fréquente) pause entre deux cours je me suis amuser à créer un programme sur ma calculatrice ayant pour but de stocker mais cours et de les sécurisé par un mot de passe qui lors ce qu'il n'est pas bon renvoie vers un autre programme de calcul tout bête et inoffensive happy.gif (ici un calcul du cube)
Lors ce que j'ai montré ce programme à des amis ils m'on incité a la poster sur des forums, ce que je fait.

Dans ce programme je vais mettre des exemples a la place des cours (si je met mon programme en entier avec mes cours non seulement il seras lourd et vous décourageras mais en plus vous n'y comprendrez rien ^^),

Ici le mot de passe est 398 mais vous pouvez le changer en changeant le nombre écrit dans la 1er ligne (If A=398).

Ce que vous afficherez à l'écran avec les "Disp" ne devras pas excéder 16 caractères et il ne devrais pas faire plus de 7 lignes sur l'écran (utiliser les "Pause").

Pour faire un retour a la ligne si votre phrase est trop longue dans un "Disp" faite: Disp "1er partie","2eme partie".

Dans les "Menu(" les numeros derrieres vos matieres ou sous-parties agissent comment des Goto (vont directement au Lbl ayant le même numero ou nombre).

les "Pause" attendent qui vous appuyer sur "Entrer" pour continuer l'execution.

Toutes les commande sont répertoriez par ordre alphabetique dans le catalogue (2nd+0), Enjoy winkle.gif
Le programme:

Input "A=",A
If A=398 <-- Mot de passe
Then
Goto 1
End
Goto 2
Lbl 1
EffEcr
Menu("Matieres:","VOS MATIERES",3,"VOS MATIERES",4,"Stop",12)
Lbl 3
Menu("VOTRE MATIERE","VOS SOUS PARTIES",7,"VOS SOUS PARTIES",8,"VOS SOUS PARTIES",9,"VOS SOUS PARTIES",13)
Lbl 7

Lbl 8
Disp "VOS COURS"
Disp "VOS COURS"
Lbl 9
Disp "VOS COURS"
Disp "VOS COURS"
Disp "VOS COURS"
Disp "VOS COURS"
Pause
Disp "VOS COURS"
Disp "VOS COURS"
Disp "VOS COURS"
Pause
Lbl 13
Disp "VOS COURS"
Disp "VOS COURS"
Pause
EffEcr
Goto 10
Lbl 4
Menu("VOTRE MATIERE","VOS SOUS PARTIES",5,"VOS SOUS PARTIES",6)
Lbl 5
Disp "VOS COURS"
Disp "VOS COURS"
Disp "VOS COURS"
Pause
EffEcr
Goto 10
Lbl 6
Disp "VOS COURS"
Disp "VOS COURS"
Disp "VOS COURS"
Disp "VOS COURS"
Disp "VOS COURS"
Pause
Disp "VOS COURS"
Pause
EffEcr
Goto 10
Disp "VOS COURS"


Lbl 10
Menu("Continuer ?","Oui",11,"Non",12)
Lbl 11
Goto 1
Goto 12
Lbl 12
EffEcr
Stop
Goto 1
Lbl 2
A*A*A->B
Disp "Cube:",B
Pause
EffEcr

Merci d'avoir lu ce poste et dîtes moi dans les commentaires si ce programme vous a plus ou non (et pourquoi), si il y a des problèmes dans le code et n'hésitez pas à me dire si vous avez des idées pour l'améliorer bigmouth.gif
PS: avec mes cours il pesait 1083 octets, il doit au moins pesez la moitié "à vide"
PPS: ce programme ne fonctionne (malheureusement) pas sur ti-82 stats mais devrais fonctionner sur toutes les autres à partir de la ti-82PLUS (tester sur ti-82PLUS et ti-83)

  Haut de page Bas de page 
 
Mingerton



Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Dim 05 Avr 2015, 20:34   Citer 

Bonsoir Onirix753

C'est un bon premier programme, mais il y a moyen de pas mal l'optimiser/améliorer winkle.gif

Déjà, tu vois bien que tu ne peux pas faire de mot de passe qui soit un mot. Eh bien il existe une commande pour ça. Il s'agit des chaînes de caractères, accessibles dans Vars-Haut-Enter. Ton test sur A se résumera à ça :

Code
Input Str1
...         //le code continue
If Str1="ton code"
...



Ensuite, concernant les Disp. Il est inutile de mettre plein de Disp à la suite, tu peux optimiser comme ceci :

Code
Disp "Cours 1
Disp "Cours 2
// en :
Disp "Cours 1","Cours 2



Il y a une autre solution pour mettre plein de texte dans une seule page, c'est d'utiliser l'écran graphique. En effet, la police est plus petite, donc tu peux mettre beaucoup plus de caractères. Les coordonnées sont la ligne et la colonne AU PIXEL PRES en partant dee en haut à gauche. A noter qu'un caractère fait en général 5*7 pixels comme dimension (sauf le point, l'apostrophe, ...).

Code
Text(ligne,colonne,"texte         //pour afficher du texte
ClrDraw           //pour effacer l'écran graphique



Je te propose donc cette version du bazar :

Code
Input Str1
If Str1="CODE
Then
Menu("Matieres:","VOS MATIERES",1,"VOS MATIERES",2
Lbl 1
Menu("VOTRE MATIERE","VOS SOUS PARTIES",4,"VOS SOUS PARTIES",5,"VOS SOUS PARTIES",6,"VOS SOUS PARTIES",7
Lbl 4
Text(0,0,"Le cours qui peut s'étendre sur des kilomètres si j'en ai envie ;)
Text(...
//bref,...

Else
Disp rand^3



On allège et on rend plus joli, c'est-y pas magnifique ? glasses.gif

----------------------
Mes articles
Mes programmes en ligne (je termine peu de projets)

Guide traduction Algo-Basic, par Linkakro
Catalogue des fonctions 82/83/84 FR/EN
 Adresse email Haut de page Bas de page 
 
Onirix753



Autorisation : Membre
Nb de messages : 1
Inscrit le : Dim 05 Avr 2015, 18:31
Posté le : Dim 05 Avr 2015, 21:04   Citer 

Déjà merci de m'avoir corrigé et d'avoir lu winkle.gif
n'étant pas super fort j'ai du faire avec "les moyens du bord" du coup j'imagine effectivement qu'il il y a pas mal de truc qui ne vont pas >< après c'est peut être plus simple pour des débutants d'avoir une "If A=.." après c'est vrai que je n'y avais pas penser mais c'est vrai qu'il y a beaucoup de Disp ^^ mais sinon ton amélioration elle est vraiment super ! bigmouth.gif

 Adresse email Haut de page Bas de page 
 
Mingerton



Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Dim 05 Avr 2015, 21:35   Citer 

Tiens, il y a aussi un truc marrant que tu peux faire... C'est de démarrer le programme que si tu as appuyé sur une touche en particulier !

La commande pour récupérer la dernière touche appuyée (après l'arrivée de cette commande bien sûr) est getKey. On va donc attendre que tu appuie sur une touche et si cette touche est la bonne on lance les antisèches, sinon le programme inutile. C'est plus lourd mais tu pourras impressionner ta classe avec ça ! glasses.gif


Code
DelVar KRepeat K
getKey->K
End
If K=12
Then
//le bout de code des antisèches
Else
rand^3



Le code de K est formé de la ligne et de la colonne de la touche sur le clavier. Par exemple, ici la touche 12 située en 1e ligne et 2e colonne est la touche Window. Tu peux bien sûr la choisir à ta guise.

----------------------
Mes articles
Mes programmes en ligne (je termine peu de projets)

Guide traduction Algo-Basic, par Linkakro
Catalogue des fonctions 82/83/84 FR/EN
 Adresse email Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Dim 05 Avr 2015, 21:45   Citer 

C'est un principe intéressant, mais après un petit ON permet de passer le mot de passe winkle.gif

De manière générale, évite de mélanger les goto/boucles ou conditions, ici ça passe mais ça peut faire des trucs pas cool (cf article de linka).

Sinon il est assez bien structuré je trouve, tu trouvera sur ma signature un lien vers un tuto d optimisation pour encore améliorer ça winkle.gif
Edit: en fait non il est pas dans ma signature mais tu le trouvera facilement sur le nouveau tout82 winkle.gif


Si tu veux progresser je te conseille aussi de lire le tuto de mdr1 sur openclassrom.

Par contre pourquoi ne fonctionnerait il pas sur 82 STATS ? Je ne vois aucune raison a cela...

----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.gif
 Adresse email Haut de page Bas de page 
 
Onirix753
Invité
Posté le : Mar 07 Avr 2015, 20:52   Citer 

Merci ! c'est super d'avoir des personnes plus expérimentées qui nous aides, j'irais regarder winkle.gif Mais pour l'histoire de la ti-82 stats je dit sa par ce que lors ce que j'ai fait un échange de programme avec une ti-82 stats l'échange n'a pas voulu ce faire c'est pour sa que je ne préférais ne pas trop m'avancer happy.gif

  Haut de page Bas de page 
 
Onirix753
Invité
Posté le : Mar 07 Avr 2015, 20:58   Citer 

(Désolé Mingerton je n'avais pas vu ton post ><) cette idée de touche me plait bien happy.gif mais c'est vrai qu'il suffit d'appuyer sur toutes les touches et c'est bon, mais ce qui serrais pas mal (pour ceux qu'ils savent le faire) à la place du mdp serrais d'appuyer sur une séquence de touches précise (ex: zoom-suppr-*....) pour lancer l'anti-séche (biens qu'a la base c'est juste pour avoir mes cours sur moi, au début ^^), merci a tous pour apporter vos idées et vos correction happy.gif

  Haut de page Bas de page 
 
Mingerton



Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Mar 07 Avr 2015, 22:19   Citer 

Appuyer sur une combinaison en meme temps, tu ne peux pas gérer ca en basic. Par contre, pour faire la combinaison successivement, tu n'auras qu'à répéter ce code en changeant le numéro de la touche.

Une astuce, pour une combinaison à 3 touches :

Code
DelVar L13->dim(L1
For(A,1,3
Repeat L1(A
getKey->L1(A
End
End
If L1={11,12,13
"Ton code



On répète la demande 3 fois avec For, et on stocke à chaque fois la touche dans le terme correspondant d'une liste. On fait ensuite le test sur la liste. C'est optimisable je pense, c'était pour illustrer winkle.gif

----------------------
Mes articles
Mes programmes en ligne (je termine peu de projets)

Guide traduction Algo-Basic, par Linkakro
Catalogue des fonctions 82/83/84 FR/EN
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink