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.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Rédaction d'un tutoriel complet sur le Basic Casio
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message

Rédaction d'un tutoriel complet sur le Basic Casio

Posté le 08/05/2013 20:38

Salut à tous,

Vous vous rappelez certainement de mes cours de programmation que j'avais fait pour la page facebook de Casio Calculatrices. J'avais eu beaucoup de bons retours et on m'a plusieurs fois demandé si j'en publierai une version réunifiant tous ces morceaux de fragments. Depuis quelques jours, quand je trouve du temps entre mon stage, mes révisions (toujours pas commencées...) et l'atelier de master, j'ai entrepris cette tâche dont l'objectif est de créer un solide tutoriel en Basic Casio. Il sera optimisé pour les Graph 35+ USB, 75 et 95 SD puisque ce sont les calculatrices les plus populaires.

A l'heure actuelle, je n'ai pas encore ajouté de nouvelle partie comme les graphismes. Étant motivé, j'aimerai m'y consacrer cet été. En effet, la rédaction de ce tutoriel est idéal car je devrais rédiger un mémoire de stage (entre 50 et 100 pages). Rien d'insurmontable, néanmoins, je pêche encore sur la qualité de mon expression écrite. De plus, cela me permet de découvrir un peu plus Word (désolé pour les puristes du libre, mais je préfère la suite de Microsoft à celle de LibreOffice que j'ai tout de même pris la peine d'installer), un outil puissant, mais il faut prendre le temps pour le découvrir.

En fichier joint, une extrait des 16 pages sur les 40 (je prévois que le tutoriel fini fasse entre 70 et 100 pages avec les annexes). Cet extrait contient la page de couverture, l'avant-propos, le sommaire et les 3ères parties. Pour info, pour les plus motivés, je peux envoyer la version complète en cours car je ne souhaite pas encore la publier sur internet (même si ce n'est qu'une ébauche).

Voici ce qui est prévu :
- Harmoniser la mise en page et uniformiser l'expression (d'ailleurs, vous préférez le "nous" ou le "je" ?)
- Ajout de parties pour bien distinguer les différents ensembles (Programmation de base, Programmation avancée, Programmation graphique, Astuces des Pro)
- Travailler l'avant-propos afin qu'il reflète au mieux l'esprit de la communauté
- Développer l'index

Je vous serai reconnaissant de me faire part de vos premières impressions et recommandation sur ce projet. Je le mets volontairement dans la section "Projet de programmation" puisqu'on parle bien de programmation ;-)

Lien de téléchargement : https://mega.co.nz/#!B5R1lTgK!Gwc41nXBJUprLOETrmwv3lJLxYIPE0IyOISsK5ZavqY

Exemple (page 6)
Désolé pour les images qui ne rendent pas bien, regardez le pdf


Merci !

Fichier joint


Therakou Hors ligne Membre Points: 195 Défis: 23 Message

Citer : Posté le 14/06/2014 02:58 | #


Une simple remarque sur l'optimisation, il y a une exception autre que les chaînes de caractères dans laquelle il est nécessaire d'ajouter une parenthèse à la fin de l'expression.
Cette exception s'applique lors de calculs dans des fonctions utilisant des virgules, par exemple dans des matrices ou dans des fonctions d'affichage de texte.
Ainsi :
Mat A[2(1,1
Locate Int log (1+18,2,"Bonjour"
Text Int (3e^(2+1,30,"Bonjour"

renverront des erreurs argument : il faut refermer la parenthèse de calcul.
J'imagine que cette remarque était déjà connue, mais je pense qu'il serait bon de l'ajouter dans le tutoriel.

Il est important de souligner que cette remarque ne s'applique que s'il y a une virgule après l'expression. Dans le cas de la matrice, si le calcul était situé à droite de la virgule, alors on aurait pu écrire
Mat A[1,2(1→A

sans provoquer d'erreur.
Prêt à sauver le monde des Pokémons de la malédiction du cercle ?
Cliquer pour enrouler
Venez découvrir Pokémon en basic et affrontez la menace qui plane sur la région !
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message

Citer : Posté le 14/06/2014 19:35 | #


Avant l'OS 2.00, on n'avait pas besoin de fermer les parenthèses, crochets et accolades avant une virgule. Le jeu Harry Potter et l'Amnésia utilise cette astuce pour économiser de la mémoire, mais elle ne fonctionne plus avec les calculatrices récentes (alors que l'auteur a développé une version optimisée Graph 85, quand on disposait encore de l'OS 1.xx).
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 14/06/2014 19:38 | #


C'est d'ailleurs pour cette raison qu'il ne faut pas utiliser ce genre d'astuce pour économiser trois octets, car on risque un problème avec les futures version des OS
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Btl Hors ligne Ancien modérateur Points: 3879 Défis: 107 Message

Citer : Posté le 14/06/2014 22:09 | #


Neotux, l'utilisais très souvent aussi il me semble.
Un excellent tuto video qui vous explique comment transférer des fichiers de l'ordinateur vers la calculatrice et vice versa ma chaine youtube
mes jeux
mes jeux

Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games

Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
Alex_1186 Hors ligne Membre Points: 1215 Défis: 46 Message

Citer : Posté le 15/06/2014 13:44 | #


Franchement ce n'est pas grave je pense. Au pire quand un nouvel OS sort, quelqu'un se dévoue pour faire une version parenthésée et puis voilà.
Et Dodormeur, on économise bien plus de 3 octets! Pour CloneLab, Ne0 a du grapiller le moindre octet pour que ça loge, il ne pouvait pas se permettre de mettre des parenthèses inutiles à chaque ligne du programme!
Projets que je soutiens
Projets que je soutiens
Robscape 2 de Ray
Les tests vidéo de Marmotti
Mes projets
Mes projets
Une dizaine de projets top secrets...

Timeless Remix Airwolf
"And the dream will never die..."
Ne0tux Hors ligne Membre d'honneur Points: 3524 Défis: 265 Message

Citer : Posté le 15/06/2014 14:14 | #


Tant qu'on respecte la règle que Therakou a très bien énoncée, il n'y a à ce jour aucune raison de ne pas profiter de cette optimisation sur de gros projets (le gain se chiffre en centaines d'octets).

On ne va pas s'en empêcher parce qu'il y a un risque que ça ne fonctionne plus dans des versions ultérieures de l'OS. Pourquoi ? Parce que malheureusement, aucune des fonctions Basic n'a la moindre garantie d'être "intacte" dans les futures versions.

Et puis entre nous, l'OS n'a historiquement que peu évolué (on a eu quelques apports, peu de modifications), et je doute qu'il soit amené à évoluer de la sorte dans les décennies qui viennent (ou alors sur d'autres modèles).

Certains jeux codés sous l'OS 1 qui utilisaient (mal, enfin, bien à l'époque) cette astuce d'optimisation ont peut être des dysfonctionnements, mais les jeux "récents" (dont les miens) ne sont pas concernés, pas de panique.
Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Btl Hors ligne Ancien modérateur Points: 3879 Défis: 107 Message

Citer : Posté le 15/06/2014 17:12 | #


Tant mieux alors.
Un excellent tuto video qui vous explique comment transférer des fichiers de l'ordinateur vers la calculatrice et vice versa ma chaine youtube
mes jeux
mes jeux

Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games

Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message

Citer : Posté le 05/07/2014 20:22 | #


J'ai développé la partie sur le débuggage, notamment en ajoutant un lien vers le débuggueur et une nouvelle partie pour corriger les résultats inattendus dans un programme.

En outre, quelques corrections ont été apportées par ci et par là.
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 05/07/2014 20:56 | #


Dans les Go ERROR, tu devrais rajouter qu'un programme classique ne peut pas appeler un programme de calcul de bases.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message

Citer : Posté le 05/07/2014 21:30 | #


Lephenixnoir a écrit :
Dans les Go ERROR, tu devrais rajouter qu'un programme classique ne peut pas appeler un programme de calcul de bases.

Pas bête !

Ajouté le 13/07/2014 à 21:03 :
Je profite d'une série de mises à jour du tutoriel pour ajouter ta suggestion.

Ajouté le 28/09/2014 à 12:10 :
Divers correctifs et ajouts apportés aux parties sur :

- l'introduction (lien vers mes tutoriels vidéo)
- les listes (partie "calculs avec les listes" explicitée + divers ajouts)
- les graphismes (tuto vidéo "initiation au drawstat")
- la gestion des erreurs (précision d'une erreur de mémoire quand on tente de créer une très grande matrice sur graph 100(+))
- l'optimisation (correction d'un exemple imparfait, car optimisable)
- la conclusion (lien vers mes tutoriels vidéo)

Ajouté le 02/10/2014 à 18:10 :
Si le fait de mettre des liens vers mes tutoriels vidéos dérange la communauté, je les supprime.
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 02/10/2014 18:10 | #


Non je trouve ça cool au contraire, pourquoi ça dérangerais puisque c'est un site ou on apprend ce langage ?
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 02/10/2014 18:13 | #


Personnellement je n'y vois aucun inconvénient, quelqu'un t'as fait une remarque ?
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message

Citer : Posté le 02/10/2014 18:15 | #


Personne, mais peut-être que ce détail n'a pas été remarqué. C'est pour cela que je préfère demander.
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 02/10/2014 18:30 | #


Il n'y a pas le moindre problème. Que ces vidéos soient sur ta chaîne personnelle n'en réduit pas la qualité ni le caractère instructif.
Tout au contraire, lie-les ça aidera.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 02/10/2014 18:31 | #


Oui, une section dans les tutos sur le basic casio avec tes tutos dedans serait géniale !
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message

Citer : Posté le 02/10/2014 19:58 | #


A la fin du tutoriel, j'ai ajouté un lien vers la playlist contenant les tutoriels vidéos ^^.

Actuellement, je suis en vacances chez mon pater et aucun casque à disposition. C'est pour cela que je n'ai pas publié de vidéos cette semaine

Ajouté le 24/10/2014 à 00:36 :
Je mets les vidéos de côté, je n'ai plus l'envie d'en faire.

Par contre, j'ai apporté quelques améliorations au tutoriel :
- suite à l'échange sur ce post, j'ai choisi d'appliquer d'emblée cette astuce d'optimisation : suppression des caractères facultatifs
- ajout de l'astuce pour vérifier l'existence d'une liste,
- comme d'hab, petites corrections mineures dans le texte.
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 24/10/2014 00:38 | #


Tu arrètes les vidéos ? Dommage elles étaient vraiment bien et utile
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message

Citer : Posté le 24/10/2014 12:33 | #


Matt36230 a écrit :
Tu arrètes les vidéos ? Dommage elles étaient vraiment bien et utile

Merci, quand la motivation reviendra, j'en ferai d'autres

Sinon,
La première page du tutoriel, les bases (bases.php), a été visité 2000 fois entre le 15 septembre et le 14 octobre.
Dans cette période, cette page est la 25e la plus visitée de Planète Casio.
A la rentrée scolaire, les visites ont fortement augmenté avec un pic à 126 le 10 septembre.
Données : Google Analytics.
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 24/10/2014 12:35 | #


Desole si j'ai pas trop suivit mais tu comptes toujours sortir un livre ?
C'est quoi la page la plus visitée ?
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 24/10/2014 12:36 | #


C'est vraiment pas mal, ce qui prouve que le site Planet Casio, après plus de 10 ans est toujours actif !
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 112 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