Petit Computer France
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-20%
Le deal à ne pas rater :
Ecran PC GIGABYTE 28″ LED M28U 4K ( IPS, 1 ms, 144 Hz, FreeSync ...
399 € 499 €
Voir le deal

[Langage]PetitBasic

4 participants

Page 1 sur 2 1, 2  Suivant

Aller en bas

[Langage]PetitBasic Empty [Langage]PetitBasic

Message par RayTro Dim 31 Juil - 23:10

Bonjour, Bonjoir à tous !

Récemment je me suis lancé dans un projet, que j'ai plus tard nommé PetitBasic.
Le principe de ce projet est de créer un nouveau langage de programmation (pour PC) inspiré du SmileBasic de PTC.
L'idée générale est de reprendre la simplicité que le SmileBasic nous donnait au niveau de la gestion des sprites, et quelques éléments intéressants tels que les CHR modifiables pour changer la police d'écriture en images, par exemple.

Description du projet (post original):

Liens vers les builds:

Changelog:

Voilà tout, si vous avez des questions, des commentaires, des idées voire même si vous avez envie d'apporter un coup de main, n'hésitez pas à en parler. ^^


Dernière édition par RayTro le Mar 6 Sep - 22:27, édité 15 fois
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par J8B Dim 31 Juil - 23:35

Si mes connaissances de Petit Computer peuvent t'aider, je ferai de mon mieux pour t'aiguiller ^^.
Excellent projet en tout cas.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par dreion Lun 1 Aoû - 1:30

Ok alors là clairement...Si tu arrives à au bout de ce projet même si il y a des bugs je t'appelles Dieu mais même si tu dors pas pendant plusieurs mois faut que tu le finisse sa serais tellement bien!!!
dreion
dreion

Messages : 16
Date d'inscription : 01/10/2015
Age : 24
Localisation : Loire Atlantique/st nazaire

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par RayTro Lun 1 Aoû - 23:10

Pour le moment j'ai commencé à travailler sur le découpage des lignes de codes de l'utilisateur.

J'ai déterminé qu'il existait 5 types différents d'éléments de code :
- Les labels, commençant par un @ puis suivi du nom du label
- Les calculs, tels que "8+3","uneVar - 8", bref généralement c'est une série d'opérandes délimitées par des opérateurs (+-*/ et % pour modulo, prévenir si il y en a d'autres)
- Les "expressions", qui sont en fait les assignations : "variable = 31", "chaine$ = 'salut'"
- Les commandes, qui sont les principaux éléments des lignes de code, commençant par le nom de la commande, suivi d'un espace et de plusieurs arguments séparés par des virgules.
- Les fonctions, qui sont de la forme "uneFonction(arg1,arg2...)", qui renvoient une valeur.

J'ai repéré quelques particularités parmi ces types :
- les labels n'ont pas d'arguments (c'est qu'un seul mot sans espaces)
- les arguments des fonctions et commandes peuvent être des calculs ou d'autres fonctions
- les expressions ont un seul mot (variable obligatoire) à gauche de l'égal, et à droite se trouvent calculs ou fonctions.
- notez aussi qu'une commande ne peut pas avoir d'autres commandes en argument.
-> quelques exceptions arriveront au niveau des if - else, qui peuvent eux avoir des commandes sur la même ligne, j'hésite à créer un nouveau type spécifique à ces exceptions. à voir plus tard.

ça fait énormément d'éléments à prendre en compte, et surtout qu'il est fort probable que j'ai oublié certains cas particuliers. N'hésitez pas à faire part de ce que vous pensez à ce sujet, si vous avez des idées de conception pour décortiquer proprement les lignes de code je suis preneur, même si vous imaginez des actions un peu complexes à faire c'est probable que ça soit déjà faisable sur PC sans trop d'efforts.
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par Adriendu92 Mar 2 Aoû - 12:47

Et bien je te souhaite bonne chance car ça n'as pas l'air d'être de la tarte ce projet ! Ce sera super cool de pouvoir tester no programmes sur la version pc si il n'y a pas de différences !!
Adriendu92
Adriendu92

Messages : 165
Date d'inscription : 07/12/2013
Age : 23
Localisation : Colombes

http://www.ptc-qr-code.sitew.fr/

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par J8B Mar 2 Aoû - 20:35

Les labels ont droit au tiret bas _
Les arguments des fonctions et commandes peuvent être aussi des variables.
Tu as aussi des variables du système, ceux que l'utilisateur ne modifie pas mais qui changent de valeur, tu dois avoir quelques équivalents je pense. Ex: TIME$, CSRX et CSRY (position du curseur)...
Certaines commandes ne sont utilisables qu'en Mode RUN (la console) comme RUN, LIST...
Tu as aussi AND, OR, XOR et NOT, je ne sais dans quel type tu les places.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par RayTro Mar 2 Aoû - 20:54

En effet j'ai oublié de penser aux opérateurs booléens, et aux variables système... va falloir réfléchir autrement le système de vérification de syntaxe. Je pense le recommencer de zéro car ça commence à faire énormément d'éléments à gérer et je pense qu'il va falloir réfléchir sur papier avant d'entreprendre quoi que ce soit sur ce point là.

Edit :
J'ai trouvé une meilleure solution, et toute simple en plus : je vais travailler sur la chaîne de caractère contenant la ligne de code directement.
Plutôt que détecter les caractéristiques de la ligne, qui rendait les vérifications interminables - tant il existait de cas différents - je vais effectuer des remplacements dans la chaîne un peu partout, à l'aide de cet algorithme :
Code:
translateVars(line)
TANT QUE doOperations(line) OU execFunctions(line) OU (i > 32) FAIRE
FIN TANT QUE
execCommand(line)
EDIT : au final le i sert à rien vu que les fonctions renvoient faux si rien n'a changé, du coup boucle infinie impossible
Vous voyez quatre parties distinctes : translateVars, doOperations, execFunctions et execCommand.
-> translateVars : remplace les noms de variables par leur valeur dans la ligne
-> doOperation : effectue les calculs présents dans la ligne, tout ce qui est calculable, à savoir des chiffres séparés par des opérateurs. Il ne fait rien s'il faut le résultat d'une fonction dans le calcul (ex : 5 + 1 * ABS(-4) )
-> execFunctions : exécute les fonctions quand ils ont tous leurs paramètres remplacés par des chiffres ( ne fait rien en cas de "ABS(17-22)" par exemple) et les remplace par les valeurs qu'ils retournent (si dans la chaîne il y a un ABS(-4), il le remplacera par 4)
Il est important de savoir que ces fonctions renvoient un booléen VRAI si ils ont modifié la ligne, et FAUX si rien n'a changé.
-> Enfin, une fois la chaîne bien modifiées par les diverses fonctions, on fait execCommand, qui exécute la commande. Si jamais il y a des éléments incohérents, il renverra une erreur.

Dans tout ça, le seul problème viendrait des éventuelles chaînes de caractères se trouvant dans la ligne (faudrait pas exécuter un calcul présent dans une chaîne de caractère. Problématique à résoudre si quelqu'un a une idée avant que je me penche dessus).


Dernière édition par RayTro le Jeu 4 Aoû - 19:47, édité 1 fois
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par J8B Jeu 4 Aoû - 2:13

C'est vrai que ça serait embêtant, faudrait l'empêcher de faire des calculs entre les guillemêts ou dans une variable alphanumérique. Faudrait vérifier ou exclure les chaînes de caractères pour pas faire un doOperations.
Faudrait que doOperations ignore les chaines de caractères.
(Je sais pas si mon commentaire aide vraiment).
Et est-ce qu'il va comprendre que "1+2"*2 devient "1+21+2" ?
Faut tester.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par RayTro Jeu 4 Aoû - 20:54

@J8B : pour le moment j'ai fait une fonction pour exclure toutes les chaînes de caractères qu'il rencontre, et une autre pour les restaurer.
En fait il remplace tout ce qui se trouve entre des guillemets par des variables temporaires portant 10 caractères aléatoires.
Juste au passage comment on fait dans PTC pour mettre des guillemets dans une chaîne ?

Aujourd'hui je travaille d’arrache-pied sur doOperations, C'est bien plus compliqué que ça en a l'air, de chercher dans la chaîne pour calculer des trucs complexes, comme par exemple (((3*(12.223+ 15)) - 7)*21)/7
Encore plus avec la présence de fonctions, ce qui risque de me prendre quelques jours à m'arracher les cheveux là dessus.
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par J8B Ven 5 Aoû - 3:08

Logiquement dans PTC pour mettre des guillemets, on ne peut pas, il faut tricher en modifiant un caractère en un nouveau guillemets. On a beaucoup de caractères qui ne servent pas souvent, par exemple ceux japonais et des caractères spéciaux comme le coeur, le carreau, le trèfle..., on a l'embarras du choix pour choisir celui qu'on veut modifier.

J'imagine que c'est compliqué, surtout que tu dois coder la priorité des calculs, d'abord la dernière parenthèses en privilégiant la multiplication puis la division,... il faut penser à tout et c'est de longue haleine.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par Adriendu92 Ven 5 Aoû - 12:15

Pour les caractères il y a une fonction genre TEXT() qui permet d'afficher un caractère et en mettant le bon nombre on obtient des guillemets voilà :3
Adriendu92
Adriendu92

Messages : 165
Date d'inscription : 07/12/2013
Age : 23
Localisation : Colombes

http://www.ptc-qr-code.sitew.fr/

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par RayTro Sam 6 Aoû - 15:49

Bon, j'ai pas mal travaillé sur ces systèmes de calculs et tout ce qui va avec, je trouve qu'effectuer des calculs de cette façon n'est pas ultra rapide, mais bon on verra plus tard pour recoder la fonction de calcul, vu que c'est elle qui ralentit un peu le tout.
[Langage]PetitBasic 74f3c64752
J'ai fait en sorte que si le résultat de la commande est une valeur on l'écrit, ça permet d'avoir un aperçu du résultat des calculs.
C'était un peu n'importe quoi niveau codage, j'ai même songé à utiliser une librairie externe pour gérer les calculs, peut-être que ça sera le cas plus tard.
Malheureusement, les opérations ne pourront pas se faire avec les chaînes de caractères, comme "a"*3, faute d'avoir un moteur de calcul performant pour gérer ces cas là. (ça arrivera peut-être un jour, mais ça n'est pas une priorité pour le moment)

Du coup me reste plus qu'à faire execFunctions et execCommands. ça va être une partie drôle et pas trop complexe. Si vous pouvez dresser une liste de toutes les fonctions et commandes, ça faciliterait un peu la tache. Vu que le site officiel de PTC n'existe plus, au pire si quelqu'un a la documentation ça pourrait aussi aider.

EDIT : J'ai ajouté un lien vers les builds de PetitBasic. Vous pouvez à tout moment ouvrir ce lien pour retrouver les exécutables du logiciel. Allez au premier post pour ça. N'hésitez pas à tester pour remonter tous les problèmes que vous pouvez trouver.
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par J8B Sam 6 Aoû - 18:03

Mais voyons toutes les fonctions et commandes sont dans mon aide sur Petit Computer mais si tu préfères le manuel : Clique ici
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par RayTro Sam 6 Aoû - 18:05

Je sais bien que tu as fait un programme pour avoir toutes les fonction ^^ je l'ai sur ma DS, c'est juste pas pratique de coder avec sa DS sur le bureau, surtout qu'il faut le chargeur et que j'ai pas de prises disponibles proche ^^'
Merci pour le manuel ^^

EDIT : Ajout du build 7, allez le télécharger dans le premier post si vous voulez.
Changements :
-Ajout de quelques commandes : LOCATE, PRINT, COLOR, LOAD, TRANSPARENT et CLS
-LOAD ne fait que les CHR, vous devez fournir un nom de fichier image de 240 pixels de largeur obligatoire. Reprenez keys.bmp si vous voulez travailler sur les CHR, et en faire d'autres. Au passage si quelqu'un veut bien refaire ce fichier, ça m'aiderai énormément. Et surtout soyez libre de mettre autant de caractères que vous le souhaitez, je les ajouterai sans problèmes. Le tout est que le fichier reste à 240 de largeur. Vous pouvez prolonger la longueur aussi loin que vous voulez.
-Si vous glissez un fichier sur le .exe, il tentera d'exécuter le programme écrit dedans.
-Comme vous le voyez, j'ai ajouté la commande TRANSPARENT, je vous laisse trouver à quoi il sert :B (TRANSPARENT [0/1])

Pour les fonctions ça attendra un petit peu, j'ai été inspiré pour les commandes aujourd'hui.

Edit 2 :
En fait pour la suite je pense que ça serait sympa d'essayer de communiquer par chat instantané (oral ou écrit, peu importe), ça pourrait être sympa ^^

Edit 3 :
Ajout du Build 8 : les fonctions sont arrivées ! pour l'instant il n'y a que ABS, ASC et RGB.
Vu que le système de palette est un peu désuet face à la puissance des PCs de maintenant, puis aussi c'est un peu n'importe quoi à coder, du coup la commande COLOR supporte les couleurs HTML (type #RRGGBB dont RR, GG ou BB sont entre 00 et FF (0 à 255)).
Vous pouvez utiliser la fonction RGB dans COLOR, pour pouvoir choisir l'une des 16 millions de couleurs qu'offrent la fonction.
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par J8B Lun 8 Aoû - 18:11

J'ai testé un peu. TRANSPARENT ne fait rien de spécial chez moi ou alors je l'ai mal utilisé.
N'oublie pas de faire un manuel au fur et à mesure. J'essaierai de te faire un CHR de police quand j'aurai le temps.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par RayTro Lun 8 Aoû - 18:22

Bonne idée pour le manuel !
Un indice: tu fais "TRANSPARENT 1" puis joue avec "COLOR x, y" avec x et y compris entre 0 et F.Wink
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par J8B Lun 8 Aoû - 20:19

Ok j'essaierai ^^.
J'ai fait des test avec PRINT, voici ce que ça donne :
[Langage]PetitBasic Test_p10

Comme tu vois, si la variable n'a pas de valeur, il renvoie son nom, et aussi j'ai fait exprès de faire des erreurs de syntaxe avec ceux qui ont des espaces mais il ne les considère pas comme faux.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par RayTro Lun 8 Aoû - 21:58

@J8B En fait par défaut les variables qu'il n'a pas réussi à remplacer sont interprétées comme des chaînes, à la différence que si il n'y a pas de guillemets il retire tous les espaces. Je ne sais pas encore comment appréhender ce problème, entre retourner une erreur ou laisser interpréter comme texte...
Pour ce qui est de la fonction COLOR, il est capable de prendre deux paramètres, le premier pour la couleur du texte, et le second pour le fond.

EDIT : ça y est, le manuel est fait. Vous pouvez le retrouver tout en haut juste à côté du lien de téléchargement de PetitBasic.
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par J8B Mar 9 Aoû - 4:27

Tu devrais l'interpréter comme si c'était une variable et renvoyer 0, comme dans PTC.
Quelques tests avec PRINT avec quelques bugs aussi :
[Langage]PetitBasic Testpe10
L'erreur en orange s'est produite car je voulais écrire "différence" et je l'ai effacé pour "changement", il n'a pas apprécié le "é" apparemment. Razz
Toujours pas compris TRANSPARENT, il a pas l'air de fonctionner chez moi  What a Face

Voici la police que j'ai faite:
[Langage]PetitBasic Keysj811

Edit 17h40:
Tu as aussi un soucis avec COLOR qui n'accepte pas F. LOCATE quand à lui, n'aime pas qu'on remonte dans les lignes, il place le > au bon endroit mais le _ reste sur la même ligne.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par RayTro Mar 9 Aoû - 19:02

Merci pour toutes ces informations ^^ je vais les corriger ce soir au possible, et remplacer la police de base qui - on peut le dire - est un peu sale avec les lettres longues comme le y ou le p.

Pour ce qui est du COLOR avec F, c'est normal, c'est parce que F c'est le blanc.

C'est cool que tu testes en même temps, ça permet de ne pas passer à côté d'éventuels bugs ^^

Pour l'utilisation de TRANSPARENT, voici un petit bout de code qui permet de voir son effet :
Code:
transparent 1
color A,0
cls
print "Hello World!"

PS : si tu as des remarques, des retours concernant le manuel n'hésites pas aussi, j'ai pondu ça en une soirée et peut-être qu'il y a des trucs un peu mal fait comme les descriptions, la fonction de recherche qui rend désuète les autres parties ou encore la mise en page qui n'est pas ergonomique.

EDIT : Arrivée du Build 9 qui corrige simplement tous les bugs cités au dessus, remplaçant les paramètres de COLOR pour que ça soit de 0 à 15 et non plus de 0 à F, et possibilité d'utiliser une chaîne de caractère contenant le nom anglais de la couleur comme "black","red", etc.
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par J8B Mar 9 Aoû - 21:11

Ah bah ça marche mieux avec le CLS ^^. J'ai rien à dire sur le manuel pour l'instant ^^
Ensuite ce qui serait bien dans la console serait de pouvoir revenir en arrière dans une ligne pour corriger une faute, au lieu de devoir tout effacer jusqu'à la faute.
J'ai essayé de glisser un fichier texte sur le .exe, le programme a planté :
PetitBasic.Command a rencontré un problème et doit être fermé. Nous vous prions de nous excuser pour le désagrément encouru.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par RayTro Mar 9 Aoû - 23:54

Le build 10 corrige ce problème, je pense que le passage à la 0.2 amènera les conditions, les boucles, les fonctions spéciales quoi, sans les labels malheureusement, mais avec une nouveauté : les Subs ! *suspense*

En attendant les builds de la 0.1 continueront régulièrement Smile
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par J8B Ven 12 Aoû - 18:15

J'ai remarqué que l'utilisation du processeur est à 100% quand Petit Basic est ouvert (en tout cas chez moi). Je ne sais pas si c'est un problème ou pas.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par RayTro Ven 12 Aoû - 18:20

C'est intéressant à noter, il va falloir que je regarde ça.
Après je suppose que c'est parce qu'il exécute constamment du code, va falloir trouver un moyen de mettre en standby le mode RUN quand rien ne se passe.
Après trouver un moyen de limiter la vitesse d'exécution car par exemple chez moi le logiciel tournera aussi à 100% mais sera aussi extrêmement rapide contrairement à toi.
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par RayTro Dim 28 Aoû - 22:03

@J8B : après avoir jeté un oeil au niveau des performances, il s'avérait que mon application consommait 13% de mon processeur quand je le laissait tourner sans rien faire.
J'ai décidé de mettre un très petit temps de repos entre chaque boucle, de manière à ce que ça soit le moins perceptible possible. Ce temps est de 10 millisecondes, et de ce fait maintenant PetitBasic ne consomme plus que 3% du processeur pour moi.
à voir par la suite lorsqu'il y aura plus de fonctions s'il faut essayer de mettre un cap de 60 images par secondes par exemple, pour éviter que chez certains l'application tourne en accéléré par rapport à d'autres.

Pour ce qui est de l'avancement de la 0.2 :
- Les if sont implémentés, avec leurs else, elseif et ifend
- Il m'a fallu travailler sur les conditions, et pour cela j'ai dû passer par des Or et des And.
Pour une question (très) pratique, ceux-ci sont remplacés par des & et des |
exemple de if :
Code:
if var > 2
    print var, " est supérieur à 2"
elseif var < 2
    print var, " est inférieur à 2"
else
    print var, "est égal à 2"
ifend
Notez qu'il est possible de mettre autant de lignes de codes entre le if et else/elseif/ifend.

Maintenant je pense que je vais tester de fond en comble voir si il n'y aura pas de bizarreries.

Edit : Les if imbriqués fonctionnent aussi maintenant !
Code:
if var > 10
    print var, " est supérieur à 10"
elseif var < 10
    if var > 5
        print var, " est entre 5 et 10"
    else
        print var, " est inférieur à 5"
    ifend
else
    print var, " est égal à 10"
ifend

Edit 2 : J'ai fait la boucle For, c'était plus simple à gérer que le if, mais j'apporte avec ça une mauvaise nouvelle : c'est plutôt lent !
Code:
for i=0 to 10
    for ii = 0 to 10
        print i, " : ", ii
    next
next
Ce bout de code, qui est sensé faire 100 itérations, prends 24 secondes à s'exécuter ! Le processeur à côté ne dépasse à peine les 2% d'utilisation ! C'est totalement anormal et je n'ai pas de solutions pour palier à ce problème.
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Langage]PetitBasic Empty Re: [Langage]PetitBasic

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum