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 - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » Vos méthodes de programmation
Ray Hors ligne Membre Points: 1338 Défis: 18 Message

Vos méthodes de programmation

Posté le 25/07/2012 23:00

Bonsoir à tous, je créé ce sujet pour vous demander quelles sont vos méthodes de programmation.
Je précise que je ne savais pas où placer ce sujet, alors si son emplacement pose problème, ça ne me dérange pas qu'il soit déplacé.

Bref, voici un modèle de post pour connaître votre méthode :
Modèle
Masquer
Initialisation :
Fenêtre Texte :
codes/explications
Fenêtre Graphique :
codes/explications

Boucle principale du logiciel :
Avant la boucle principale :
codes/explications
Interface :
codes/explications
Partie Getkey :
codes/explications
Partie code du logiciel :
codes/explications

Menu principal :
Interface :
codes/explications
Passage à la boucle principale :
codes/explications

Mémoires utilisées :
Sauvegarde :
Vos Moyens de sauvegarde
Mappage (jeux) :
codes/explications

Autres parties du programme :
Mettez ce que vous voulez ici

Ordre de programmation :
1-
2-
3-
4-
etc...

Comment avez-vous des idées de logiciels ?


Voici ma méthode de programmation :
Initialisation :
Fenêtre Texte :
Lbl 0
ClrText
0->A~Z
[Variables à initialiser]

Je commence souvent mes programmes par un "ClrText", pour dire d'être sur que aucun ancien affichage soit sur l'écran au démarrage du logiciel.
Ensuite je met mes variables à zéro pour éviter d'avoir des problèmes plus tard.
Enfin, je met les chiffres qu'il faut dans les variables.

Fenêtre Graphique :
Lbl 0
[Configurations de l'écran]
ClrGraph:ViewWindow 1,127,0,1,63,0
0->A~Z
[Variables à initialiser]

Tout d'abord, je met les configurations de l'écran (AxesOff, etc...), puis j'efface la fenêtre graphique pour ensuite la réinitialiser. enfin, je fais la même chose pour les variables que pour la fenêtre textuelle.

Boucle principale du logiciel :
Avant la boucle principale :
[Initialisation des variables]
[Début de l'initialisation de l'interface]
While 1
[Boucle Principale]
WhileEnd

Rien à expliquer...

Interface :
Locate X,Y,""
ou
""
ou
[Codes graphiques(PlotOn, etc...)]

Je fais toujours mes interfaces avec ces codes ci-dessus.

Partie Getkey :
Getkey->[TETA]
If [TETA]=[Chiffre]
Then [Le Code]
ifEnd
If [TETA]=[Chiffre]
etc...

Je prend le Getkey que je met dans [TETA] puis je fais le code si tel bouton est appuyé.

Partie code du logiciel :
Je n'ai pas de code spécifique pour les jeux, tout dépend de ce que j'ai décidé de créer, ça peut être des conditions ou des lignes qui s’exécutent automatiquement.
Si le code m'embrouille, je le divise en plusieurs fichiers (exemple : mon RQuest)
et, si les fichiers sont petits, et pas repris à plusieurs reprises, soit je laisse les fichiers séparés, soit je les remets dans le fichier principal.

Menu principal :
Interface :
Locate X,Y,""
ou
""
ou
[Codes graphiques(PlotOn, etc...)]

Exactement la même chose que dans l'interface du programme, j'ai une tendance à faire les menus en utilisant le moteur graphique du programme.

Passage à la boucle principale :
J'initialise un morceau de l'interface, plus précisément les parties fixes pour éviter de faire ramer le programme.

Mémoires utilisées :
Sauvegarde :
j'utilise principalement les listes pour sauvegarder des positions, des variables, et même parfois le programme pioche directement dans les listes pour économiser des variables.

Mappage (jeux) :
J'utilise souvent les matrices, et, comme très souvent mes jeux utilisant les matrices sont en fenêtre textuelle, j'utilise des matrices de 7x21, tout l'écran.

Autres parties du programme :
je n'ai pas d'autres parties spécifiques pour mes programmes

Ordre de programmation :
1-Initialisation
2-Avant la boucle principale
3-Interface
4-Partie GetKey
5-Partie du code du logiciel
6-Menu Principal
7-Optimisations du code

Voilà, j'espère que vous prendrez le temps d'expliquer comment vous programmez


Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 23/02/2014 20:23 | #


Déjà qu'il y a des conneries assez monumentales dans la bibliothèque du système.
Ajoutez-y la magnificence de l'interpréteur BASIC (dont on se demande parfois s'il n'est pas ralenti exprès).
Alors vous pourrez toujours optimiser vos programmes ça restera nul

Merci CASIO
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 23/02/2014 20:25 | #


Pseudopourri, faut que tu m dise ou tu apprend à les utiliser
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 23/02/2014 21:03 | #


Lephenixnoir a écrit :
Déjà qu'il y a des conneries assez monumentales dans la bibliothèque du système.
Ajoutez-y la magnificence de l'interpréteur BASIC (dont on se demande parfois s'il n'est pas ralenti exprès).
Alors vous pourrez toujours optimiser vos programmes ça restera nul

Merci CASIO
C'est pas "on se demande", c'est une quasi-certitude! Après malgré la lenteur il y a des programmes sympas. Mais c'est vrai que Casio n'optimise pas trop, peut-être pour éviter que l'on fasse des trucs plus compliqués et plus sympas... Des fois j'envie un peu les TI car ils ont des trucs assez pratiques (je ne les connais pas trop mais c'est impresionnant ce qu'ils font parfois... mais je préfère quand même les casio) .
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 23/02/2014 21:10 | #


Enfin quand tu vois la vitesse du PRGM 2 !
Non mais s'ils avaient un minimum de jugeote ils compileraient le code au moins, pour tester les instructions par octets et pas en lisant les chaînes de caractères :aie2:
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Pseudopourri Hors ligne Membre Points: 182 Défis: 9 Message

Citer : Posté le 23/02/2014 23:44 | #


Eltoredo:
Si c'est les list et matrices je suis pas un pro je connais juste le bases qui sont ici (list) et ici (matrices).
je code en...
je code en:

-ASM (assembleur) sur x86 et gb-Z80
-locomotive basic/amstrad basic
-Basic Casio
-VBS
-Batch
-Bash
-Python 3.4
-html
-CSS
-javascript
-Lua
-brainfuck
-ruby

Il faut savoir que je ne maitrise pas parfaitement tout ces langages

[/spoiler]
Remerciment

Ma calto: graph 75
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 23/02/2014 23:51 | #


Le lien marche pas
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Pseudopourri Hors ligne Membre Points: 182 Défis: 9 Message

Citer : Posté le 23/02/2014 23:56 | #


Après je suis pas le king des matrices/list donc je sait par faire de rotations(mais j'essaye de le faire),etc..mais il y a eu un tuto super utile sur PC pour faire un raprochement d'une image grâce aux list (je sais plus où dsl).Et aussi,et désolé à lui (c'est expliqué en bas plus tard) mais Louloux à dit je sais plus où,que les list sont utiles pour faire des rotations,zoom,etc..donc ça veut dire qu'il sait comment faire et que du coup vous allez le bombardez de MP par ma faute.

Ajouté le 24/02/2014 à 00:12 :
Les lien marchent fautes de frappe les plus idiote dsl.
je code en...
je code en:

-ASM (assembleur) sur x86 et gb-Z80
-locomotive basic/amstrad basic
-Basic Casio
-VBS
-Batch
-Bash
-Python 3.4
-html
-CSS
-javascript
-Lua
-brainfuck
-ruby

Il faut savoir que je ne maitrise pas parfaitement tout ces langages

[/spoiler]
Remerciment

Ma calto: graph 75

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 269 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