[BASE Basic] *Entering Brainfuck mode* (petits programmes en mode BASE)
Posté le 04/09/2020 13:42
Salut
vous ! Sur cette page je tenterai de répertorier les programmes créés en utilisant le mode BASE du Basic Casio de nos calculatrices, connu pour être notablement limité et forçant l'utilisation des Lbl/Goto.
Présentation du mode BASE
Pour créer un programme dans ce mode, se rendre dans l'application PRGM, créer un nouveau programme [F3] puis sélectionner le mode BASE [F2]. Rentrez un nom, pressez EXE, et
voila, vous pouvez programmer.
Les fonctions sont réduites au minimum, l'affichage est limité à des chaînes de caractères (fixes, dû au manque de Str) et variables numériques (avec ◢).
Les programmes dans ce mode sont horribles à écrire, infâmes à lire et lents à exécuter. Ils ont tout pour plaire :3
Commençons par un port du légendaire Dumb Clicker par moi même.
Je vous présente, Dumb Clicker B.A.S.E. (Best Application Created, Ever)
Tout ce qui suit les // sont des commentaires, ne les recopiez pas !
-1 //initialise la variable Ans à -1
Lbl 0 //un label, BASE étant dépourvu de boucles nous n'avons pas le choix
Ans+1◢ //la valeur de Ans est augmentée de 1 puis affichée, avant de mettre le programme en pause
Goto 0 //retour au Lbl 0, une boucle artisanale
Sans commentaires :
-1
Lbl 0
Ans+1◢
Goto 0
Hum on se régale, quel plaisir.
Continuons avec un mini jeu classique, le plus ou moins deux joueurs ! Sans aléatoire nous ne pourrons pas faire de mode 1 joueur
" Plus ou moins ULTIME" //on commence par afficher le "menu"
"Entrez le nombre a faire deviner"
?→S //seul autre moyen avec ◢ d'obtenir une entrée utilisateur, ? demande au joueur d'entrer un nombre et le stocke dans une variable, ici S
0→T //compteur du nombre d'essais
"" //on vide l'écran pour masquer la solution
""
""
"Donnez la calto au"
"joueur 2"
Lbl C //la boucle principale
Isz T //incrémente le compteur d'essais
?→G //le nombre deviné par le joueur 2
G=S⇒Goto Z //si le nombre correspond à la solution, on termine le programme en sautant à la fin
G>S⇒Goto P //sinon, si le nombre deviné est supérieur à la solution on saute à P
"Plus" //si les deux conditions sont fausses, alors G<S et on affiche "Plus"
Goto C //retour au début de la boucle
Lbl P //voir la condition G>S plus haut
"Moins"
Goto C
Lbl Z //label de sortie
"Trouve en ce nombre d'essais" //on affiche le nombre d'essais
T
Et sans commentaire.
" Plus ou moins ULTIME"
"Entrez le nombre a faire deviner"
?→S
0→T
""
""
""
"Donnez la calto au"
"joueur 2"
Lbl C
Isz T
?→G
G=S⇒Goto Z
G>S⇒Goto P
"Plus"
Goto C
Lbl P
"Moins"
Goto C
Lbl Z
"Trouve en ce nombre d'essais"
T
Ce sera tout, passez une bonne journée
Hexa Treasure Hunt, nominé aux Game Awards 2020.
Voir le programme.
Citer : Posté le 04/09/2020 14:15 | #
Voici "Hexa Treasure Hunt", le prochain grand hit de Planète Casio. Vous êtes un 1 sur une map de 8x4 et vous devez attraper la pièce d'or.
Avec tous vos moves favoris, sortir d'une boucle avec Dsz, faire de la logique booléenne avec le and bit-à-bit, et surtout du fun à plus savoir où en mettre ! Wooooh !
1→X:3→Y
Lbl 0
X→T
10000000→Z
Lbl 1
Z÷10→Z
Dsz T
Goto 1
// Le C ci-dessous est un C hexa, taper avec la touche [ln]
80000C08+Z(Y=0)◢
80000008+Z(Y=1)◢
80000008+Z(Y=2)◢
80000008+Z(Y=3)◢
""
"Direction (8462)"?→E
Y-(E=8)(Y>0)+(E=2)(Y<3)→Y
X-(E=4)(X>1)+(E=6)(X<6)→X
(Y=0)and(X=5)⇒Goto 9
Goto 0
Lbl 9
""
""
""
" You are now rich"
""
""
""
Instructions : à chaque tour, mashez EXE puis tapez 8, 4, 6 ou 2 pour vous déplacer.
Durée de vie : entre 40 et 50 heures.
Citer : Posté le 04/09/2020 14:35 | #
Wow c'est magnifique :o
Merci pour le partage Lephé !
Citer : Posté le 04/09/2020 14:36 | #
À quand Noon BASE du coup ?
Citer : Posté le 04/09/2020 14:43 | #
J'attends Calcraft BASE perso
(Et de toute façon, vous pouvez pas dire le contraire)
MultipliCasio
RDM Calculs
Back Mirror
A Switch To The Top C
Citer : Posté le 04/09/2020 14:52 | #
Je vois d'ici un jeu d'adresse type archer : "Arrow-B@se".
Mais où mènera ce topic ? Une contrainte 1kBCJxxx ?
Pourvu qu'aucun nouveau développeur ne tombe sur cette page !
La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Citer : Posté le 04/09/2020 14:54 | #
Sans vouloir ruiner ton idée Ne0', le caractère "@" est inaccessible en mode BASE.
Edit : je crois que ce topic vient de l'idée lancée tout à l'heure sur la shout de faire un 1kBCJ en mode BASE. x)
Citer : Posté le 04/09/2020 15:13 | # | Fichier joint
À quand Noon BASE du coup ?
Challenge accepted. Vu que le programme est hyper long à recopier je met le .g2m en fichier joint. C'est à peu près la même chose que ton jeu, en encore plus vide et affichage textuel.
J'ai exporté le programme depuis la calto, les * ont été dédoublées.
10->X
3->Y
Lbl L
1->A
Lbl M
A<>Y=>",,,,,,,,,,,,,,,,,,,,,"
A<>Y=>Goto 2
X=1=>"**,,,,,,,,,,,,,,,,,,,,"
X=2=>",**,,,,,,,,,,,,,,,,,,,"
X=3=>",,**,,,,,,,,,,,,,,,,,,"
X=4=>",,,**,,,,,,,,,,,,,,,,,"
X=5=>",,,,**,,,,,,,,,,,,,,,,"
X=6=>",,,,,**,,,,,,,,,,,,,,,"
X=7=>",,,,,,**,,,,,,,,,,,,,,"
X=8=>",,,,,,,**,,,,,,,,,,,,,"
X=9=>",,,,,,,,**,,,,,,,,,,,,"
X=10=>",,,,,,,,,**,,,,,,,,,,,"
X=11=>",,,,,,,,,,**,,,,,,,,,,"
X=12=>",,,,,,,,,,,**,,,,,,,,,"
X=13=>",,,,,,,,,,,,**,,,,,,,,"
X=14=>",,,,,,,,,,,,,**,,,,,,,"
X=15=>",,,,,,,,,,,,,,**,,,,,,"
X=16=>",,,,,,,,,,,,,,,**,,,,,"
X=17=>",,,,,,,,,,,,,,,,**,,,,"
X=18=>",,,,,,,,,,,,,,,,,**,,,"
X=19=>",,,,,,,,,,,,,,,,,,**,,"
X=20=>",,,,,,,,,,,,,,,,,,,**,"
X=21=>",,,,,,,,,,,,,,,,,,,,**"
Lbl 2
Isz A
A=6=>Goto 1
Goto M
Lbl 1
?->K
K=4=>Dsz X
K=6=>Isz X
K=8=>Dsz Y
K=2=>Isz Y
X=0=>21->X
X=22=>1->X
Y=0=>5->Y
Y=6=>1->Y
K<>0=>Goto L
Citer : Posté le 04/09/2020 15:18 | #
C'est pas très paramétrique tout ça. Moi je peux changer le caractère du joueur et modifier des choses sur la map au fur et à mesure.
Accepté du reste. Tu sais pourquoi ça affiche de travers au premier frame ?
Citer : Posté le 04/09/2020 15:26 | #
C'est pas très paramétrique tout ça. Moi je peux changer le caractère du joueur et modifier des choses sur la map au fur et à mesure.
Accepté du reste. Tu sais pourquoi ça affiche de travers au premier frame ?
Aucune idée, ça a l'air aléatoire (si j'ajoute du texte avant le premier affichage ça décale différemment).
A noter que le mode BASE a l'air de supporter beaucoup de commandes du Basic classique, j'ai réussi à utiliser des Str et Locate sans problème. Je considère que c'est de la triche vu que ça retire toutes les limitations intéressantes, mais ça veut dire que l'inverse devrait être possible aussi. A creuser.
Citer : Posté le 04/09/2020 15:27 | #
Tu veux dire en insérant les opcodes de force ? Oui je pense que ça avait été testé.