Posté le 09/06/2012 17:48
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 123 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
Citer : Posté le 09/06/2012 17:53 | #
Ce sera précompilé ou lu petit à petit?
Citer : Posté le 09/06/2012 17:56 | #
Lu petit à petit. Je ne pense pas qu'il y ait moyen de pré-compilé en CPLua (sinon je veux bien savoir comment
Ajouté le 09/06/2012 à 17:58 :
Par contre, je ne sais pas si c\'est de ça que tu veux parler, mais il y a moyen de transformer le code brainfuck en code executable par la machine, mais pour ça il faut aussi lire le code petit à petit
Citer : Posté le 09/06/2012 18:17 | #
Du précompilé sera plus rapide, et il doit être possible de le faire sur classpad:
tu lis le fichier à executer et dès que tu rencontre une variable tu la numérote, et tu numérote aussi les constantes.
Tu relis le fichier et tu repère les différentes fonctions et tu te fais un code rapide à lire pour ça, par exemple en lua c'est codé sur 4 octets, et ça indique la fonction(ajouter, assigner, appeler, ...) et le numéro de ses arguments.
Je ne sais pas combien de mémoire a la classpad, mais tu peut toujours contourner les problèmes de mémoire en écrivant dans un fichier petit à petit.
Citer : Posté le 09/06/2012 18:36 | #
je pense avoir compris (enfin j'espère), mais ça va être lent (à transformer), non ? Le brainfuck, c'est plus en langage pour jouer que pour faire de vrais programme
Pour l'instant, je m'en sors avec un switch qui lit caractère par caractère et qui applique la fonction corresondante (si "+", alors data[ptr]=data[ptr]+1, ...)
Citer : Posté le 09/06/2012 18:42 | #
@vebveb, on parle de brainfuck.
@Catrix, je ne vois pas trop l'intérêt d'ajouter des commandes au langage dont le but est justement d'avoir le moins de commandes possible.
Ce qui peut-être fait pour accélérer l'exécution c'est d'empiler la position du caractère d'ouverture de boucle lorsque tu entres dedans.
Tu me donnes envie de reprendre mon jeu de morpion
Citer : Posté le 09/06/2012 18:54 | #
@Catrix, je ne vois pas trop l'intérêt d'ajouter des commandes au langage dont le but est justement d'avoir le moins de commandes possible.
Citer : Posté le 09/06/2012 23:58 | #
Pierrot avec déjà de son morpion en brainfuck, t'avais pas mis un mode deux joueurs ou une ia ?
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 10/06/2012 00:38 | #
2 joueurs uniquement. Je viens de l'améliorer, maintenant on peut entrer "a1" ou "1a" pour choisir la case, il faut encore que j'ajoute une sécurité pour qu'on ne puisse pas entrer les coordonnées d'une case qui n'existe pas (comme "d4")
Ce programme avait surtout pour but de tester l'utilisation d'un tableau, réussir à se déplacer jusqu'à une case X et à en revenir.
Citer : Posté le 10/06/2012 11:49 | #
Tu donnera ton code une fois fini ?
Citer : Posté le 10/06/2012 14:41 | #
Voilà, j'ai terminé la sécurisation de la saisie
Voici le code :
>>>-]<[-]>+>+++++++++[>>>++++++++++.[>++++++++<-]>++++.<+++[>+++++++<-
]>.------.<+++[>-----<-]>.+++++++++++++.++.<+++[>-----<-]>.<+++[>+++++
++++<-]>.----------.[-]<++++++++++.[>+++<-]>++.[>+>+<<-]>>[<<+>>-]<<<+
++[>+++++<-]>++.>.<+.>.[-]<+.[<++>-]<------>++++++++++.>+++[<<+.>>[>+<
-]>[<<<<<<<<<<<+++>>>>>>>>>>+>-]<<<<<<<<<++++++++++++++[<+++++++++>-]<
--<-[>[<<<<+>>>>-]<-[<<<<+>>>>-]<<<<]<.>>.>>.<<.[-]>>>>>>.[>>>>]>>>>>>
.>-[>>++++[<++++++++>-]<.+++++++++++++.--.++.--.++.[-]<<.>[>+<-]]>[<+>
-]<]<[>++++++++<-]>.<<+++++++++.-----------.>++++[<++++++>-]<.>++++[<-
---->-]<.+++++++++++++.>>[<+>--]<--------.>++[<++++++++>-]<<<<<<[>>>>>
+>+<<<<<<-]>>>>>.>[<<<<<<+>>>>>->-]<----.------------.<---------.+++++
++++++.>+++++++.<-.>-------.<++++++.----------.++++++.---.>.<++.+.---.
----.>+.[-]<[-]++++++++++.>>>>+[<<<<<<,>,>+[,----------]>++++++++[<+++
+++>-]<[<-<-->>-]<<[>>+>+<<<-]>>>[<<<+>>>-]>>+++[<<<-[>>+<<[>+<-]]>[<+
>-]>>-]<<<[-]>>--[[-]<++++++++[<++++++>-]<[<<+>->-]<<[>>+<<-]>[<+>-]>[
<+>-]>>]<<<<[>>+>+<<<-]>>>[<<<+>>>-]>>+++[<<<-[>>+<<[>+<-]]>[<+>-]>>-]
<---[[+]<<[-]<[>+>+<<-]>>[<<+>>-]>>+++[<<<-[>>+<<[>+<-]]>[<+>-]>>-]<--
-[[+]>>-<<]]>>]<<<<[-]<<-[>>+++<<-]>[>+<-]<<<[>>>>>+>+<<<<<<-]>>>>>[<<
<<<+>>>>>-]>-[<+++++++++>-]++++++[<++++++++>-]<-[<<<<<<<<+>>>>>>>>-]<[
<<<<<<<<->>>>>>>>-]<<<<<<<<+++++++++[-[<<<<+>>>>-]>[<<<<+>>>>-]<<<<<]>
>++++[<<<-------->>>-]<<<[>>>+<<<[>+<-]]>>>-[<[<<+>>-]>+]<[>+<[-]]>[<+
<[<+>-]>>-]++++[<<<++++++++>>>-]>[<<[>>>>+<<<<-]>>>>>>]<<[>>>+>+<<<<-]
>>>>>>>+<<<-<-[>>>>-<<<<[>>>>>+<<<<<-]]>>>>[>++<-]>[<<<<<+>>>>>-]<<<<]
Et ça donne ça :
Bon plus sérieusement, le code commenté avec un interpréteur : tictactoe.zip
Citer : Posté le 10/06/2012 14:53 | #
comment lance-tu un programme avec l'interpreteur ?
Citer : Posté le 10/06/2012 14:57 | #
Drag 'n drop
Citer : Posté le 10/06/2012 14:59 | #
C'est bon, j'ai trouvé
Bravo pour le code, ça a pas du être facile
Ajouté le 10/06/2012 à 15:13 :
Merci quand même
J\'ai avancé un peu ajd : l\'interpreteur fonctionne, l\'éditeur aussi (ouvrir, enregistrer (sous), nouveau, fermer, executer, ...). La moitié de l\'écran est composée d\'une textbox pour modifier le script et l\'autre moitié affiche la console (pour les entrées/sorties).
L\'interpréteur accepte les syntaxes brainfuck et pbrain (comme le brainfuck mais avec des fonctions)
Je vais tenter d\'implanter la syntaxe du segfaultprog ajd
Ajouté le 13/06/2012 à 15:11 :
Up : Dans mon interpreteur, j\'ai ajouté la possibilité d\'incrémenter le pointeur de X (au lieu de 1, si on met un nombre il augmente du nombre)
Selon vous, c\'est mieux de mettre comme écriture :
En sachant que si on met juste \'\'+\'\', il incrémente de 1, et que X est la valeur de l\'incrémentation.
Citer : Posté le 13/06/2012 16:10 | #
En ajoutant des règles au langage, tu risque de rendre beaucoup de programmes incompatibles. Imagine qu'un programmeur ait utilisé cette syntaxe en guise de commentaire pour dire combien de + se suivaient, pour faciliter la lecture du code.
A propos, t'as pensé à limiter les variables à des entiers 8bits ? Il ne faudrait pas que [+] soit une boucle infinie
Citer : Posté le 13/06/2012 17:41 | #
en fait, [+] ne sera pas une boucle infinie car si la valeur de la case pointée est supérieure à 255, alors on le remet à 0
J'y avais pas pensé pour les commentaires, va falloir que j'y réfléchisse (car j'aimerais que ça reste compatible, mais en même temps je trouve ça plus pratique de mettre un truc comme +_48. pour afficher 0 que de faire une boucle pour multiplier 6 par 8
Citer : Posté le 13/06/2012 18:09 | #
Ouais, et ce serait aussi plus pratique en ajoutant des mots clés if then else
Citer : Posté le 13/06/2012 18:11 | #
et pourquoi ne pas mettre des boucles do{}while() et while(){} ? ou encore un switch
Citer : Posté le 13/06/2012 19:22 | #
Il y a des boucles Dark storm. Alors que jusque là tu ne peux faire les conditions qu'avec des boucles.
Je suis absolument contre le fait d'ajouter des fonctions. Le BrainFuck a contenu, contient et contiendra toujours 8 instructions.
Citer : Posté le 13/06/2012 19:46 | #
(j'étais ironique )
Citer : Posté le 13/06/2012 20:05 | #
Il y a des boucles Dark storm. Alors que jusque là tu ne peux faire les conditions qu'avec des boucles.
Je suis absolument contre le fait d'ajouter des fonctions. Le BrainFuck a contenu, contient et contiendra toujours 8 instructions.
Le brainfuck, oui, mais il existe des dérivées ...