| Naissance de Crocodile Basic | |
|
+14Pedro jdebord Froggy One Marc silverman Ouf_ca_passe jean_debord jjn4 Francis-mr papydall Fredisland Jean Claude Minibug Jack 18 participants |
|
Auteur | Message |
---|
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Mar 4 Juin 2019 - 9:58 | |
| Merci pour vos contributions et merci à Marc pour ses programmes !
J'ai changé CL_BLANC en CL_GRIS et CL_BLANC_BRILLANT en CL_BLANC mais pour CL_JAUNE je ne sais pas ! | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Naissance de Crocodile Basic Mar 4 Juin 2019 - 10:20 | |
| Bonjour Jean, Si tu hésites pour le jaune, alors laisses en l'état. Merci. A+ | |
|
| |
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Mer 5 Juin 2019 - 11:01 | |
| Je garde donc CL_JAUNE J'ai ajouté les mots-clés PAPER et PEN qui permettent de choisir les couleurs d'arrière-plan et d'avant-plan. On pourra utiliser l'une des 3 notations suivantes : - Code:
-
PAPER CL_JAUNE PAPER &h808000 PAPER RGB(128, 128, 0)
Le fait qu'on ait accès à toutes les couleurs RGB rend obsolète l'instruction INK de l'Amstrad qui définissait un nombre limité de couleurs. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Naissance de Crocodile Basic Mer 5 Juin 2019 - 11:50 | |
| Super,
3 modes de programmation pour le même mot-clé, c'est top.
à bientôt pour la suite. | |
|
| |
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Sam 8 Juin 2019 - 9:58 | |
| Le tableau des couleurs, ici généré par programme : | |
|
| |
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Sam 8 Juin 2019 - 10:37 | |
| Autre exemple d'utilisation des couleurs : le choix d'un caractère de la police Amstrad. Le caractère choisi est mis en surbrillance et son code est affiché. Ce programme ainsi que le précédent seront inclus dans la prochaine mise à jour. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Naissance de Crocodile Basic Sam 8 Juin 2019 - 12:48 | |
| J'ai hâte de voir la suite,
Merci Jean. | |
|
| |
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Mer 12 Juin 2019 - 10:28 | |
| Une nouvelle version (0.12) est disponible sur mon WebDav (Dossier FBCroco, fichier setup_012.exe)
Les modifications sont les suivantes :
1) Ajout d'une documentation, accessible directement (dans doc\fbcroco) ou depuis l'éditeur à l'aide de deux nouvelles options : "Aide de FBCroco" (Ctrl-F1) et "Aide du mot-clé sous le curseur" (Shift-F1) 2) Nouveaux mots-clés (la plupart tirés de FreeBASIC ou de FBPano ; voir la documentation pour les détails)
- Opérateurs logiques : IMP EQV SHL SHR
- Fonctions mathématiques : ASIN ACOS ATAN ATAN2 (ATAN est synonyme de ATN, c'est pour l'homogénéité des notations)
- Chaînes de caractères : LTRIM$ RTRIM$ TRIM$ INSTRREV
- Echange de variables : SWAP
- Sortie de boucles par EXIT FOR ou EXIT WHILE
- Contrôle des programmes : COMMAND$ SHELL EXECUTE$ (la fonction EXECUTE$ récupère la sortie d'un programme dans une chaîne de caractères ; plus besoin de presse-papier ni de CLIP.EXE)
- Graphismes : PEN PAPER RGB RGBA
3) Nouveaux programmes exemples :
- Démo de EXECUTE$
- Tableau des couleurs et police de caractères (présentés dans mon précédent message) | |
|
| |
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Ven 14 Juin 2019 - 9:41 | |
| J'ai corrigé un petit bug : dans l'éditeur, quand on avait affiché la documentation de FBCroco, il n'était plus possible de revenir à celle de l'éditeur.
Le fichier setup_012.exe a été corrigé. Cependant, si vous avez déjà installé cette version, il vous suffit de prendre le fichier start_fbcroco.exe et de le copier dans le répertoire FBPano\fbcroco en remplacement de l'ancien fichier. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Naissance de Crocodile Basic Ven 14 Juin 2019 - 10:01 | |
| Bonjour Jean, J'étais justement entrain de tester et regarder la doc. Je m’aperçois, maintenant, que j'en ai oublié beaucoup sur la programmation avec le CPC6128. Mais ce langage "Crocodile Basic" offre déjà des plus, ça promet. J'ai une question: Pour les chaines de caractères comportant des caractères accentués, je me suis heurté à un problème avec l'éditeur. J'explique: Dans le code exemple "Couleurs prédéfinies", j'ai voulu changer "predefinies" en "prédéfinies" et du coup je me suis mis dans la panade, impossible de contrôler les caractères de mon clavier. La question: est-il possible d'insérer des caractères accentués dans une chaîne de type texte ($) avec Crocodile Basic. A+ | |
|
| |
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Ven 14 Juin 2019 - 11:17 | |
| J'ai essayé avec différentes polices de caractères, mais aucune ne marche ! Les caractères accentués n'apparaissent pas correctement dans le titre de la fenêtre. La police Amstrad ne possède pas de caractères accentués (sauf à les simuler par l'instruction SYMBOL) Une autre solution consisterait à utiliser des polices Unicode pour écrire à l'intérieur de la fenêtre (ce serait faisable à l'aide d'une des nombreuses bibliothèques de D. J. Peters) En tout cas, merci pour les tests | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Naissance de Crocodile Basic Ven 14 Juin 2019 - 12:07 | |
| J'ai trouvé la solution pour éviter d'avoir des problèmes dans l'éditeur, si on tape des caractères accentués. En fait l'éditeur est par défaut avec la police CPC464 et c'est cette police qui pose le problème, les autres polices prennent bien les caractères accentués. Mais attention, si par exemple on prend la police "terminal", on pourra écrire "prédéfinie" dans l'éditeur, mais à l’exécution on obtient des caractères différents. Exemple en image du caractère [é]: A+ | |
|
| |
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Lun 17 Juin 2019 - 9:01 | |
| Un petit programme classique : la balle qui rebondit. L'instruction SCREENLOCK provient de FreeBASIC. Elle n'est pas encore reconnue comme mot-clé par l'éditeur de FBCroco mais elle fonctionne. Je l'ajouterai dans la liste des mots-clés de la prochaine version. - Code:
-
' La balle qui rebondit ' D'apres le livre "AMSTRAD Son et graphisme explores" de John Braga (Sybex 1985) ' https://acpc.me/ACME/LIVRES/[FRA]FRANCAIS(FRENCH)/SYBEX/Sybex_AMSTRAD_Son_et_graphisme_explores(acme).pdf
dim ball$, x%, y%, xdir%, ydir%
ball$ = chr$(231)
mode 1 ' 640x400, caract. 16x16 pixels
randomize timer
x% = 640 * rnd y% = 400 * rnd
print ball$, x%, y%
xdir% = 1 : ydir% = 1
screenlock ' pour diminuer le scintillement
Boucle: print " ", x%, y%
x% = x% + xdir% y% = y% + ydir%
if x% < 0 then x% = 0 : xdir% = 1 if x% > 623 then x% = 623 : xdir% = -1 ' 623 = 639 - 16 if y% < 16 then y% = 16 : ydir% = 1 if y% > 399 then y% = 399 : ydir% = -1
print ball$, x%, y% sleep 10 if inkey$() <> "" then end
goto Boucle
| |
|
| |
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Lun 24 Juin 2019 - 20:03 | |
| L'Amstrad avait un système pour coder la couleur d'un caractère dans une chaîne au moyen d'un code ASCII (voir Chap. 7 du manuel Amstrad). Ce code était calculé modulo 16, de sorte qu'il n'y avait que 16 couleurs disponibles. Or avec le matériel moderne il n'y a aucune raison de se priver des 256 couleurs qu'autorise le code ASCII ! J'ai donc repris une méthode utilisée par FreeBASIC pour générer une palette de 256 couleurs (Voir l'aide de FreeBASIC : "Default palettes") Les codes 0 à 26 correspondent aux couleurs prédéfinies de l'Amstrad. Les couleurs supplémentaires sont définies dans le système HSV (voir doc de FBPano) Les codes 27 à 242 sont définis par : - 24 teintes (H) distantes de 15° sur le cercle de couleurs - 3 valeurs de saturation (S) et de luminosité (V) Il reste les codes 243 à 255 que l'on peut attribuer à des niveaux de gris. Ce système sera opérationnel dans la prochaine version. On pourra bien sûr redéfinir toutes ces couleurs. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Naissance de Crocodile Basic Mar 25 Juin 2019 - 8:33 | |
| - Jean a écrit:
- il n'y a aucune raison de se priver des 256 couleurs qu'autorise le code ASCII !
Complètement d'accord avec toi A+ | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Naissance de Crocodile Basic Mar 25 Juin 2019 - 22:04 | |
| Je vois que ça avance...
Même si je n'interviens pas je reste toujours à l’affût ! Et je suis de près les évolutions... A bientôt et bon courage pour la suite... | |
|
| |
jdebord
Nombre de messages : 12 Date d'inscription : 20/09/2008
| Sujet: Re: Naissance de Crocodile Basic Sam 29 Juin 2019 - 10:44 | |
| Petite modification dans l'éditeur : le combo permettant de choisir la police de caractères a été remplacé par un bouton affichant une liste où les noms des polices sont écrits dans leurs typographies respectives. Cela facilite le choix : Ce sera dans la prochaine version. | |
|
| |
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Mer 17 Juil 2019 - 9:36 | |
| Une nouvelle version (0.13) est disponible sur mon WebDav (Dossier FBCroco, fichier setup_013.exe) Les principales modifications concernent l'éditeur, qui a été entièrement réécrit. Les sources en FreeBASIC + FLTK sont dans le répertoire src\fbcroco\editor. Les instructions pour la recompilation de l'éditeur sont dans la documentation (fbcroco\start_fbcroco.htm) Il est possible qu'il y ait de nouveaux bugs ! En fait j'ai constaté sur UNE installation de Windows 10 un ralentissement lorsqu'on lance un programme exemple compilé depuis l'éditeur (Shift+F9). Donc, dites-moi si ça marche chez vous ! Note : il est toujours possible de lancer le programme compilé (fichier .exe) depuis l'explorateur ou la ligne de commande. Autres modifications : 1) Les couleurs (32 bits) sont désormais définies avec l'octet de transparence fixé à 255 (opacité totale = transparence nulle), donc p. ex FFFF0000 pour du rouge vif. Cela correspond au résultat de la fonction RGB. On peut toujours modifier la transparence avec la fonction RGBA mais cela n'aura pas d'effet sur l'affichage des caractères (pour le moment ...) 2) Nouveaux mots-clés, tous en rapport avec les graphiques : - HSVtoRGB et RGBtoHSV pour convertir entre les 2 systèmes - INK et GET_INK pour modifier ou retrouver une couleur dans la palette de 256 couleurs précédemment décrite - RGBA_R, RGBA_G, RGBA_B, RGBA_A pour accéder aux composantes d'une couleur 3) Nouveaux programmes exemples (déjà présentés ici) : - la balle qui rebondit (ball.bas) - la palette des couleurs (palette.bas) 4) Mise à jour de la documentation, notamment dans la partie graphique avec un paragraphe sur le système HSV, tiré d'un de mes articles de "Panoramic le mag" | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Naissance de Crocodile Basic Jeu 18 Juil 2019 - 9:10 | |
| Bonjour à tous,
@Jean
Je viens d'installer cette nouvelle version.
J'ai testé: - la balle qui rebondit (ball.bas) et - la palette des couleurs (palette.bas). Ça fonctionne, je n'ai pas remarqué de ralentissement à l'exécution (Shift+F9).
Il me reste à regarder les nouvelles fonctions.
A+ | |
|
| |
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Jeu 18 Juil 2019 - 10:31 | |
| Parfait ! Merci pour le test Le problème semble spécifique à l'installation que j'ai utilisée. Je vais pouvoir passer à la suite, à savoir : les caractères de contrôle. | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Naissance de Crocodile Basic Jeu 18 Juil 2019 - 16:07 | |
| Bonjour Jean ! Le test chez moi s'est bien passé aussi. J'ai saisi la balle au bond... | |
|
| |
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Mar 6 Aoû 2019 - 17:04 | |
| Une nouvelle version (0.14) est disponible sur mon WebDav (Dossier FBCroco, fichier setup_014.exe) 1) Ajout des caractères de contrôle : Les caractères de code 0 à 31 peuvent être interprétés soit comme caractères graphiques (ce que nous avons déjà vu) soit comme caractères de contrôle correspondant à des instructions : - Code:
-
print chr$(0) Prend en compte les caractères de contrôle (défaut) print chr$(1) Imprime les caracteres de contrôle
print chr$(7) Sonne la cloche ! (équivalent de BEEP) print chr$(8) Décale le curseur vers la gauche print chr$(9) Décale le curseur vers la droite print chr$(10) Descend le curseur d'une ligne print chr$(11) Remonte le curseur d'une ligne print chr$(12) Efface l'écran print chr$(13) Retour à la ligne print chr$(14, n%) Equivalent de PAPER avec n% = indice de la couleur print chr$(15, n%) Equivalent de PEN avec n% = indice de la couleur
print chr$(17) Efface la ligne jusqu'au dernier caractère print chr$(18) Efface la ligne depuis le dernier caractère print chr$(19) Efface depuis le haut de l'écran jusqu'au dernier caractère print chr$(20) Efface depuis le dernier caractère jusqu'au bas de l'écran
print chr$(22, n%) Définit l'interaction avec la couleur de fond ("bit blit") : n% = 0 ==> mode normal n% = 1 ==> mode XOR n% = 2 ==> mode AND n% = 3 ==> mode OR n% = 4 ==> mode ALPHA (transparence)
print chr$(30) Equivalent de LOCATE 1, 1 print chr$(31,x%,y%) Equivalent de LOCATE x%, y%
2) Nouveaux programmes exemples : - graffiti.bas : Adaptation d'une série de petits exemples publiés dans "Amstrad Magazine" sous le nom "Amstradian Graffiti", permettant de créer des sprites dans une matrice de 2x2 caractères. - transpar.bas : Ecriture d'un texte avec différents niveaux de transparence 3) Correction d'un bug : l'abréviation "?" (équivalent de PRINT) ne fonctionnait pas en mode graphique | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Naissance de Crocodile Basic Mar 6 Aoû 2019 - 19:53 | |
| Bonsoir Jean J'ai testé cette nouvelle version. graffiti.bas montre la possibilité de réaliser des icônes sympa ! très pratique... Concernant les fenêtres d'exemples, je n'ai pas réussi à fermer par la croix en haut à droite. Est ce normal ? A bientôt et bon courage. | |
|
| |
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Mer 7 Aoû 2019 - 8:57 | |
| Bonjour Minibug, Merci pour le test Effectivement, le programme attend une pression de touche pour fermer la fenêtre. On peut cliquer sur la croix de fermeture de la fenêtre de commande, mais alors on ferme tout, y compris l'éditeur. | |
|
| |
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Mer 21 Aoû 2019 - 9:53 | |
| J'ai ajouté l'instruction ORIGIN, tirée du BASIC Amstrad. Elle sert à définir l'origine des axes ainsi qu'une zone de tracé rectangulaire (_viewport_). Tous les tracés ultérieurs seront limités à cette zone : les points situés en dehors ne seront pas tracés (_clipping_). La syntaxe de l'Amstrad est la suivante : - Code:
-
ORIGIN x%, y%, gauche%, droite%, haut%, bas%
- x% et y% définissent la position de l'origine (coordonnées 0, 0) - les 4 autres paramètres (optionnels) sont les coordonnées du rectangle délimitant la zone de tracé. J'ai ajouté 2 paramètres (également optionnels) pour la couleur, de sorte que l'instruction devient : - Code:
-
ORIGIN x%, y%, gauche%, droite%, haut%, bas%, fill_color%, border_color%
- fill_color% est la couleur de remplissage - border_color% est la couleur du cadre A titre d'exemple, les deux instructions : - Code:
-
mode 1 origin 320, 200, 100, 540, 350, 50, CL_NOIR, CL_VERT_VIF
génèrent l'image suivante : L'origine (0,0) est placée au centre. L'échelle va de -220 à 220 sur Ox et de -150 à 150 sur Oy (l'axe Oy est dirigé vers le haut, selon la convention de l'Amstrad). Cette instruction sera dans la prochaine version ( ainsi que d'autres fonctions graphiques ... lorsque j'aurai résolu les problèmes qu'elles posent ! ) | |
|
| |
Contenu sponsorisé
| Sujet: Re: Naissance de Crocodile Basic | |
| |
|
| |
| Naissance de Crocodile Basic | |
|