PURE BASIC - Le Topic officiel

Page 9 sur 11 Précédent  1, 2, 3 ... 8, 9, 10, 11  Suivant

Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Dobro le Ven 18 Oct 2019 - 11:08

Je plaisantais hein

oui oui , t’inquiètes pas je fais la part des choses Wink

Dobro
Patient contaminé

Nombre de messages : 293
Date d'inscription : 30/09/2019

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Dobro le Sam 19 Oct 2019 - 11:22

Pour que tout le monde en Profite Wink


LES STRUCTURES / et les listes chainées EN PUREBASIC
Les Structures sont parfois appelé "Type" dans certains langage
ici je ne parle que du langage Purebasic

Les Structures sont vraiment Pratiques, tout comme les Listes chainées d'ailleurs ce sont 2 concepts tres simple a appréhender
et qui pour le coup peuvent remplacer avantageusement l'utilisation de Tableau (pour les list chainées ) ...

une structure c'est juste une façon de ranger des variables , pour que ce soit plus clair ..  

par exemple pour faire une fiche client ou de carnet d'adresse  (ou un coffre fort de Loot) , en variable standard on va ecrire un truc du genre :

nom$="toto"
adresse$="21,rue des chantiers"
ville$="Versailles"
code_postal.i=78000

bon c'est bien , mais lorsqu'on a 5000 fiches a faire, on va devoir employer un Tableau ..
ça va donner un truc du genre:

Dim nom$(5000)
Dim Adresse$(5000)
Dim code_postal.i(5000)

ensuite l'attribution dans chaque tableau, se fera avec soit une lecture de fichiers soit du type "a la main" ou avec lecture de Data , bref, l'essentiel c'est de remplir nos variable donc par exemple :

nom$(0)="toto"
adresse$(0)="21,rue des chantiers"
ville$(0)="Versailles"
code_postal.i(0)=78000

mais... il nous a fallu créer  autant de tableau que d’élément dans notre fiche !!  c'est lourd ! Wink

bon.. ok , mais dans un code avec plein de tableaux , faudra juste ne pas oublier que nom$(x) correspond a la fiche client et pas a la fiche fournisseur ... (ou bien au contenu de la besace de ton perso, et pas au contenu du stock du coffre fort... )

maintenant on va utiliser un tableau toujours mais avec une structure (qui je le rappel n'est qu'une façon de ranger les variables)

on creer notre structure

Structure Fiche ;<--- on donne le nom qu'on veux
  nom$
  adresse$
  ville$
  code_postal.i ;<--- on peut mélanger les types de variables dans une structure
EndStructure  

voila notre fiche est "precablé"
on dimensionne avec un

Dim Fiche.Fiche(5000) ; un seul tableau va regrouper tout nos membres!!
et on utilise avec

Fiche(0)\nom$="toto"  ; pour attribuer un nom a la variable "nom$" se trouvant dans la Structure Fiche !
Fiche(0)\adresse$="21,rue des chantiers" ; pour ajouter l'adresse
etc...  
Vous allez me dire, mais c'est pareille , sauf qu'on ecrit bien plus de chose ....  
oui , mais l'avantage c'est que si tu créer un tableau qui porte le nom de "nom$" plus tard dans ton listing
avec un Dim nom$(5000) le code ne confondra pas

nom$(0)
="toto"
avec
Fiche(0)\nom$="titi"  
pour le code les 2 type de variables sont différentes
et c'est bien plus clair de lire Fiche(0)\nom$  car on sait qu'il s'agit d'une variable se trouvant dans la structure "Fiche"

voyez-vous, c'est surtout une question de lecture
pour un sprite c'est plus lisible de lire

mechant()
\x =100 ; on sait qu'il s'agit de la coordonée du "mechant"
mechant()\y =200

qu'un simple  x=100 :y=200 car dans un code de plusieurs milliers de lignes il y a risque de confondre les variables x ou y

pour les listes chainée c'est encore plus simple !  cheers
une list c'est comme une liste de courses  
comme une pile d’assiette !  
on entasse les infos les une sur les autres , puis lorsqu’on en a besoin, on regarde dans la liste l’élément qu'on veux retirer ...
on peut employer les listes Chainée sans Structure , mais l'utilisation d'une Structure la rend plus lisible ..  sunny
la list permet ainsi, ajouter autant d"éléments sans savoir a l'avance combien on va en mettre .... contrairement au tableau
qui oblige a connaitre le nombre à l'avance ...
une liste permet par exemple un TIR de missile d'un vaisseau Spacial , les balles (et leur coordonnées) vont s'entasser dans la liste
et lorsqu'on cesse d'appuyer sur la gâchette , on peut vider la liste jusqu'a ce que tout les sprites des balles soient sortie de l'ecran ou rencontré un ennemi ;  on a plus a gerer le nombre de balles (ou missile) ... :)

exemple:
; on recreer une structure qui va englober nos variables
Structure Fiche
   nom$
   Adresse$
   Ville$
   code_postal.i
EndStructure


NewList Fiche.Fiche()  ; on creer une liste chainée "vide" (une seule list qui va contenir tout nos éléments de notre fiche )
; pour ajouter un élément dans la liste

;ici grace a la structure on ajoute, en fait les éléments d'une fiche complète

AddElement(Fiche()) ; on dit dans quel liste on va ajouter un ou plusieurs éléments
;
Fiche()\nom$ = "toto"   ; ici on ajoute l'element nom$
Fiche()\Adresse$="21 rue des chantiers" ; ici on ajoute l'element Adresse
Fiche()\Ville$="Versailles" ; l'element ville
Fiche()\code_postal.i=78000 ; et enfin ajout de l'element code postal

;si je voulais ajouter une nouvelle fiche il me suffirai de refaire

AddElement
(Fiche()) ; on dit dans quel liste on va ajouter un ou plusieurs éléments
;
Fiche()\nom$ = "titi"   ; ici on ajoute l'element nom$
Fiche()\Adresse$="54 chemin de la colline"
Fiche()\Ville$="Annecy le vieux"
Fiche()\code_postal.i=74940

(ce qui pourrai bien sur etre inclu dans une boucle )

ce qui dans le debbugeur nous affiche ceci
PURE BASIC - Le Topic officiel - Page 9 Pbdebu12

c'est vachement plus lisible qu'un simple tableau non ?  :)

de la sorte toutes les variables relatives a la "Fiche" sont regroupée ensemble ..

pour retrouver une fiche précise on peut faire ainsi :


; ressortir une fiche precise :

ForEach Fiche() ; pour tout les elements se trouvant dans la list "Fiche"
     If Fiche()\nom$="titi" ; on regarde si on trouve le champ "titi"
         debug  Fiche()\nom$  ; et on ressort tout les éléments composant cette fiche (ici via Debug a compiler avec Debugger ON bien sur )
         debug Fiche()\Adresse$
        debug Fiche()\Ville$
        debug Fiche()\code_postal.i
     Endif
Next

et voila, c'est ultra rapide meme sur des milliers de fiches !  

on peut aussi faire :

SelectElement(Fiche(), 0) ; on sélectionne la fiche numero 0 (la premiere)
debug  Fiche()\nom$  ; et on affiche son contenu ....
debug Fiche()\Adresse$
debug Fiche()\Ville$
debug Fiche()\code_postal.i

La difference entre les deux methodes, c'est vous l'aurez compris
que dans la methode 1 on recherche une fiche d'apres un contenu (ici le nom$)
alors que la deuxieme methode, on sait deja que ce qui nous interesse est dans la fiche 0 , donc on saute directement a cette "index"  :)

autre avantage , on dispose dans le Purebasic de possibilité de Tri en fonction d'un des elements ...
on peut ainsi trier nos fiches par ordre alphabetique, ou en fonction de la valeur d'un des membres de la fiche :)


voila en esperant que vous aurez saisi l'interet des Structures , et des listes Chainées
dans le langage Purebasic :)


Dernière édition par Dobro le Sam 19 Oct 2019 - 19:34, édité 3 fois
avatar
Dobro
Patient contaminé

Masculin Nombre de messages : 293
Age : 55
Localisation : 43
Date d'inscription : 30/09/2019

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par drfloyd le Sam 19 Oct 2019 - 12:12

Oui c'est vrai, fais en profiter tout le monde (demande en MP à la base)

Les structures, c'est plein d'avantages, mais il faut les accepter

_______________________________________________________
PURE BASIC - Le Topic officiel - Page 9 Giphy10
Mes objets en vente :
https://www.gamopat-forum.com/t105296-la-nouvelle-brocante-du-doc#3072649
Mon profil Gamopat Advisor :
https://www.gamopat-forum.com/t94659-dr-floyd-advisor





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 152137
Age : 50
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par drfloyd le Sam 19 Oct 2019 - 22:30

tiens PUREBASIC ne supporte pas le MP3

On va passer à la musique .MOD alors  Mr. Green

_______________________________________________________
PURE BASIC - Le Topic officiel - Page 9 Giphy10
Mes objets en vente :
https://www.gamopat-forum.com/t105296-la-nouvelle-brocante-du-doc#3072649
Mon profil Gamopat Advisor :
https://www.gamopat-forum.com/t94659-dr-floyd-advisor





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 152137
Age : 50
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Dobro le Dim 20 Oct 2019 - 0:32

@drfloyd a écrit:tiens PUREBASIC ne supporte pas le MP3

On va passer à la musique .MOD alors  Mr. Green

Mr. Green Mr. Green  je reste calme.... je reste calme .... Mr. Green Mr. Green

c'est vrais que le  purebasic et le Mp3 c'est pas par defaut la panacée
je pourrait te dire Que Purebasic gere tres bien le Format OGG  qui est l'equivalent sans Licence du MP3
et qu'il existe des convertisseurs d'un format dans l'autre Gratuit ....


mais par esprit de contradiction , je vais quand meme te dire, que de façon legerement détoourné on peut lire du Mp3
avec PureBasic

avec les fonctions de la librairie "Movie"

tu as  
LoadMovie(#Mp3, MP3File)  ; pour charger un mp3 (ou une video)
et
PlayMovie(#Mp3, WindowID(#MainForm))  (doit etre rataché a la fenetre ici "#mainForm" )  pour jouer le mp3 (ou une video)
et ça c'etait du Natif (donc en principe marche pour les 3 plateformes )
bon c'est pas spécifié dans la doc , mais tout les codeurs Purebasic savent ça MDR

j'ajoute que si t'avais moins d'oursins dans les poches (tu m'a cherché Mr. Green  ) tu pourrai aussi utiliser facilement les Api Windows
avec la version complete de Purebasic

et utiliser les fonctions MCI suivante ....     ET TOC !MDR
Code:


Procedure MP3_Load(Nb,file.s)
  ;i=mciSendString_("open Sequencer!"+Chr(34)+file+Chr(34)+" alias mid"+Str(Nb),0,0,0)
  i=mciSendString_("OPEN "+Chr(34)+file+Chr(34)+" Type MPEGVIDEO ALIAS MP3_"+Str(Nb),0,0,0)
  If i=0
    ProcedureReturn #True
  Else
    ProcedureReturn #False
  EndIf
EndProcedure
Procedure MP3_Play(Nb)
  i=mciSendString_("play MP3_"+Str(Nb),0,0,0)
  ProcedureReturn i
EndProcedure
Procedure MP3_PlayStart(Nb)
  i=mciSendString_("play MP3_"+Str(Nb)+" from "+Str(0),0,0,0)
  ProcedureReturn i
EndProcedure
Procedure MP3_PlayPart(Nb,Start,endPos)
  i=mciSendString_("play MP3_"+Str(Nb)+" from "+Str(Start)+" to "+Str(endPos),0,0,0)
  ProcedureReturn i
EndProcedure
Procedure MP3_Pause(Nb)
  i=mciSendString_("pause MP3_"+Str(Nb),0,0,0)
  ProcedureReturn i
EndProcedure
Procedure MP3_Resume(Nb)
  i=mciSendString_("resume MP3_"+Str(Nb),0,0,0)
  ProcedureReturn i
EndProcedure
Procedure MP3_Stop(Nb)
  i=mciSendString_("stop MP3_"+Str(Nb),0,0,0)
  ProcedureReturn i
EndProcedure
Procedure mp3_Free(Nb)
  i=mciSendString_("close MP3_"+Str(Nb),0,0,0)
  ProcedureReturn i
EndProcedure
Procedure MP3_SetVolume(Nb,volume)
  i=mciSendString_("SetAudio MP3_"+Sr(Nb)+" volume to "+Str(volume),0,0,0)
  ProcedureReturn i
EndProcedure
Procedure MP3_GetVolume(Nb)
  a$=Space(#MAX_PATH)
  i=mciSendString_("status MP3_"+Str(Nb)+" volume",@a$,#MAX_PATH,0)
  ProcedureReturn Val(a$)
EndProcedure


Procedure MP3_SetSpeed(Nb,Tempo)
  i=mciSendString_("set MP3_"+Str(Nb)+" Speed "+Str(Tempo),0,0,0)
  ProcedureReturn i
EndProcedure
Procedure MP3_GetSpeed(Nb)
  a$=Space(#MAX_PATH)
  i=mciSendString_("status MP3_"+Str(Nb)+" Speed",@a$,#MAX_PATH,0)
  ProcedureReturn Val(a$)
EndProcedure
Procedure MP3_GetLength(Nb)
  a$=Space(#MAX_PATH)
  i=mciSendString_("status MP3_"+Str(Nb)+" length",@a$,#MAX_PATH,0)
  ProcedureReturn Val(a$)
EndProcedure
Procedure MP3_GetPosition(Nb)
  a$=Space(#MAX_PATH)
  i=mciSendString_("status MP3_"+Str(Nb)+" position",@a$,#MAX_PATH,0)
  ProcedureReturn Val(a$)
EndProcedure
Procedure MP3_Seek(Nb,pos)
  i=mciSendString_("Seek MP3_"+Str(Nb)+" to "+Str(pos),0,0,0)
  ProcedureReturn i
EndProcedure
Procedure.s MP3_TimeString(time)
  time/1000
  sek=time%60:time/60
  min=time%60:time/60
  ProcedureReturn RSet(Str(time),2,"0")+":"+RSet(Str(min),2,"0")+":"+RSet(Str(sek),2,"0")
EndProcedure
avatar
Dobro
Patient contaminé

Masculin Nombre de messages : 293
Age : 55
Localisation : 43
Date d'inscription : 30/09/2019

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par drfloyd le Dim 20 Oct 2019 - 8:33

Mais je ne t'ai pas cherché,  c'était juste une constatation en lisant la doc  Mr. Green Je ne cherchais pas spécialement à utiliser du MP3. Mais merci pour les tuyaux ! Enorme lire de du MP3 avec la fonction vidéo  MDR

Fort possible quand meme que j'utilise de la musique MOD dans mon jeu car ca ne prend pas de place et ça fait plus rétro :)

_______________________________________________________
PURE BASIC - Le Topic officiel - Page 9 Giphy10
Mes objets en vente :
https://www.gamopat-forum.com/t105296-la-nouvelle-brocante-du-doc#3072649
Mon profil Gamopat Advisor :
https://www.gamopat-forum.com/t94659-dr-floyd-advisor





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 152137
Age : 50
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Dobro le Dim 20 Oct 2019 - 10:06

clown  sinon comme je te l'ai dit, Purebasic gere tres bien les sons *.Ogg
qui sont l'equivalent Grapuit (sans licence) du Mp3
il existe des convertisseurs MP3-> OGG en Prg ou meme en ligne
comme ici :
https://audio.online-convert.com/fr/convertir-en-ogg


pour charger un fichier Ogg il suffit de faire ceci :


Code:
InitSound()           ; Initialisation des Sons
 UseOGGSoundDecoder()  ; Utilisation des fichiers ogg

 ; Chargement d'un son depuis un fichier
 LoadSound(0, #PB_Compiler_Home +"Examples\3D\Data\Siren.ogg")
 ; Le son joue en boucle
 PlaySound(0, #PB_Sound_Loop, 20)
 
 MessageRequester("Info", "Ok pour quitter.")
 
 FreeSound(0) ; Le son est libéré



a toute fin utile , il faut savoir qu'en Purebasic, on peut aussi integrer les fichiers qui servent au jeux , DANS l'executable !!

ce qui evite d'avoir un EXE et plein de fichiers du jeux, qui seraient accessibles
par l'utilisateur, des fois on a envie de proteger ses propres fichiers Images, ou sons ...

la solution que propose le Purebasic , c'est d'integrer au moment de la compilation
les fichiers qu'on desire proteger dans l'executable lui meme

voici comment on fait par exemple pour un fichier *.OGG


InitSound()           ; Initialisation des Sons
UseOGGSoundDecoder()  ; Utilisation des fichiers ogg




CatchSound(0, ?Music) ; en debut de listing, on demande a Purebasic d'aller integrer le fichier Music
; dont le chemin se trouve indiqué dans la DataSection 
"?Music" renvoi l'adresse du pointeur du debut de la Datasection


 ; Le son joue en boucle
 PlaySound(0, #PB_Sound_Loop) ; declenche la lecture du son (ou de la musique ) , ici la musique jouera en boucle
 MessageRequester("Info", "Ok pour quitter.")





; la dataSection
DataSection 
        Music:  ; le Label qui servira de pointeur de debut de Zone DataSection
        IncludeBinary "Sound.ogg" ; ici le Chemin vers notre fichier a inclure lorsqu'on compilera le programme
EndDataSection
(j'ai mis directement "Sound.ogg" si le fichier se trouve au meme endroit que le prg )
mais on pourrai mettre  :  IncludeBinary "c:\toto\titi\tutu\Sound.ogg"
; ainsi, plus besoin de distribuer notre fichier musique , puisqu'il sera inclu dans l'executable !!  santa

note qu'on peut faire la meme chose avec les images avec CatchImage() , les Sprites  avec CatchSprite()  etc...


Dernière édition par Dobro le Dim 20 Oct 2019 - 10:21, édité 6 fois
avatar
Dobro
Patient contaminé

Masculin Nombre de messages : 293
Age : 55
Localisation : 43
Date d'inscription : 30/09/2019

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par drfloyd le Dim 20 Oct 2019 - 10:10

c'est top ça d'integer les sons à l'EXE ! On peut faire la meme chose pour les graphismes ??????

_______________________________________________________
PURE BASIC - Le Topic officiel - Page 9 Giphy10
Mes objets en vente :
https://www.gamopat-forum.com/t105296-la-nouvelle-brocante-du-doc#3072649
Mon profil Gamopat Advisor :
https://www.gamopat-forum.com/t94659-dr-floyd-advisor





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 152137
Age : 50
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Dobro le Dim 20 Oct 2019 - 10:12

j'etais en train de reediter mon message precedent a ce propos Wink

je me reedite souvent, car je me relis 20 fois pour etre sur de pas ecrire de conneries :)
en plus j’essaie dans la mesure de mes moyens, de corriger mes fautes d'orthographe :)


ps: t'es foutu mon pote !
t'a touché au Purebasic, tu ne pourra plus en sortir  !   GNiark Gniark Gniark  Twisted Evil lol!
avatar
Dobro
Patient contaminé

Masculin Nombre de messages : 293
Age : 55
Localisation : 43
Date d'inscription : 30/09/2019

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par drfloyd le Dim 20 Oct 2019 - 19:16

Enorme

Oui je crois que je suis foutu : "DOBRO M'A TUER"


Sérieux, malgré certains aspects douteux (le texte et les fontes (j'ai encore des soucis LOL j'y reviendrais c'et pas urgent, il manque "PRINT"!), certaines commandes à rallonge, des zones de dessins primaires délimitées) c'est au final de la bombe baby !

Des commandes basic de base très standard (malgré les apparences)
GOTO et GOSUB (pour les ultra core !  Mr. Green)
pas obligé de déclarer tes variables (pour les radicaux, comme moi, je déteste ça)
Un editeur tres sympa
compilation super rapide
Execution plus rapide que la lumière 
des .EXE de folie (ultra courts et integrant les fichiers)
stand alone sur clé USB
une vraie communauté (même si on retrouve peu ce langage dans les logiciels et jeux en vente, c'est surpenant)

1400 commandes, c'est énorme... mais on s'en tape, perso ma demo de shoot em up en utilise très peu (moins de 40 je crois !)... avec un EXE de qq Ko ! On peut bosser à plusieurs niveaux differents :
- avec des commandes de base comme au bon vieux temps (avec goto et gosub)
- moyennement structuré avec des fonctions, procedures, structures...
- ou un truc super structuré et tordus qui plaira aux fans de C
- ou les gros malades qui intégreront de l'assembleur

Faut juste un petit programme tuto de base pour paramétrer l'environnement... C'est c'est en fait le seul soucis car cet aspect n'a rien d'instinctif...Mais si tu as à disposition un petit prog bien fait qui résume l'essentiel en 40 ou 50 lignes, bah en une journée c'est bon tu es formé (souvent ce genre de petit programme manque dans les guides)

A quand une version pour développer des jeux Switch ????  What a Face

Enfoiré de Dobro, t'aurai jamais du venir sur ce forum.

_______________________________________________________
PURE BASIC - Le Topic officiel - Page 9 Giphy10
Mes objets en vente :
https://www.gamopat-forum.com/t105296-la-nouvelle-brocante-du-doc#3072649
Mon profil Gamopat Advisor :
https://www.gamopat-forum.com/t94659-dr-floyd-advisor





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 152137
Age : 50
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Tryphon le Dim 20 Oct 2019 - 19:19

@Dobro a écrit:t'a touché au Purebasic, tu ne pourra plus en sortir  !   GNiark Gniark Gniark  Twisted Evil lol!

Le Doc a accroché à ton langage ? C'est toi qui es foutu, tu vas devoir lui expliquer des trucs Wink
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 20392
Age : 43
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par drfloyd le Dim 20 Oct 2019 - 19:33

là j'ai assez e connaissances pour dév un jeu complet sans emmerder le Prof Dobro... 

C'est surtout Dobro qui volontairement nous fait de petits tutos sans questions préalables. Il nous fait profiter de son amour pour PureBasic.

_______________________________________________________
PURE BASIC - Le Topic officiel - Page 9 Giphy10
Mes objets en vente :
https://www.gamopat-forum.com/t105296-la-nouvelle-brocante-du-doc#3072649
Mon profil Gamopat Advisor :
https://www.gamopat-forum.com/t94659-dr-floyd-advisor





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 152137
Age : 50
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Dobro le Dim 20 Oct 2019 - 23:06

merci ,
c'est surtout que je viens du meme monde que vous...
le Vrais Basic a l'ancienne

que j'ai probablement eu les memes "conflits" vis a vis des "pros" de la programmation

les memes "apriori" , a defendre aussi des causes parfois indéfendable
(Amiga/ST) 

Bref, c'est parce qu'en lisant le Doc , je me suis reconnu parfois dans ses dires
et que le temps m'a permis aussi d'evoluer dans mon coin, et surtout d'apprendre
a ne plus avoir d'idées reçut , ou partisanes sur tel ou tel langage

le monde du purebasic, je le cotoie depuis pas mal de temps
et je le dis, le langage a des defauts ...  on y viendra a l'occasion

mais il m'a permis de me coder tout ce que j'ai eu envie de faire
et de me permettre de le faire simplement ...

bien sur au debut avec des reflexes a "l'ancienne" (Goto/Gosub)
mais depuis j'ai mis mes poings dans mes poches , et j'ai ouvert mon esprit au techniques nouvelles , j'ai aussi du le faire pour repondre a des questions sur le Forum
Purebasic a l'epoque ...

en faisant des tutos, on apprends soi-meme :)

bref, je souhaite a quiconque s’intéressant a la programmation de regarder
de jeter un oeil a ce langage bien particulier sur pleins d'aspect ...

mais je veux rester clair, je n'ai pas d'action sur le langage
Fred Laboureur le créateur n'est pas mon pote  ....

mais force est de reconnaitre qu'il nous a fait un superbe outils

j'ai programmé pleins de prg, que j'utilise tout les jours...
et donc je ne pourrai plus me passer :)
c'est incroyable tous ce qu'on peut coder en Purebasic  Very Happy



Ps: a propos des Tuto, les Forums du langage en contiennent plein !!
l'un des defaut majeur, c'est qu'ils ont souvent été ecrits dans des versions
"ancienne" de Purebasic, et qu'il faut souvent retoucher le code pour qu'il fonctionne
avec la version en cours ... c'est l'un des GROS defaut du Purebasic, c'est que les mises a jours
peuvent complétement faire foirer un ancien code qui marchait bien ...

bon , on peut jours utiliser les anciennes version (un dans chaque dossier et c'est marre )
mais c'est quand meme pas terrible ...
avatar
Dobro
Patient contaminé

Masculin Nombre de messages : 293
Age : 55
Localisation : 43
Date d'inscription : 30/09/2019

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Tryphon le Dim 20 Oct 2019 - 23:12

@Dobro a écrit:merci ,
c'est surtout que je viens du meme monde que vous...
le Vrais Basic a l'ancienne

Que tu as laissé tomber sans états d'âmes, je te félicite Razz

que j'ai probablement eu les memes "conflits" vis a vis des "pros" de la programmation

Perso j'ai jamais eu aucun conflit avec personne. Faut dire que je les ai pas cherchés...
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 20392
Age : 43
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Dobro le Dim 20 Oct 2019 - 23:13

j'aurai pas du ecrire "conflit" mais Snobisme Wink LOL
avatar
Dobro
Patient contaminé

Masculin Nombre de messages : 293
Age : 55
Localisation : 43
Date d'inscription : 30/09/2019

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Tryphon le Dim 20 Oct 2019 - 23:17

T'as pas le droit, c'est MON mot Razz
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 20392
Age : 43
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par drfloyd le Dim 20 Oct 2019 - 23:25

y a pas "PRINT" dans PUREBASIC, c'est quand meme un sacré scandale.

Bordel, j'ai fais des "stress tests" avec des milliers de sprites, faut vraiment y aller pour faire ramer Purebasic !!!! Même sur mon PC "netbook" Pentium 4200 sans ventilo !!!

Et meme avec la détection de collision de sprites au pixel près le bestiaux assure à mort !!!!

_______________________________________________________
PURE BASIC - Le Topic officiel - Page 9 Giphy10
Mes objets en vente :
https://www.gamopat-forum.com/t105296-la-nouvelle-brocante-du-doc#3072649
Mon profil Gamopat Advisor :
https://www.gamopat-forum.com/t94659-dr-floyd-advisor





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 152137
Age : 50
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Dobro le Dim 20 Oct 2019 - 23:42

@drfloyd a écrit:y a pas "PRINT" dans PUREBASIC, c'est quand meme un sacré scandale.*

mais si !! :)
je t'ai deja expliqué  :)  

En purebasic on creer un contexte Graphique (soit une image, un sprite, un ecran , un Gadget )

avec
startdrawing(*********)
...
....
StopDrawing()

on peut utiliser toutes les fonctions se trouvant dans la Bibliotheque  "2D Drawing"

ton Print c'est en fait DRAWTEXT()

voici un exemple  :  (ici j'utilise une image, mais tu peux aussi utiliser l'ecran en creant l'ecran et comme sortie Graphique
StartDrawing(ScreenOutput())   Very Happy

Code:




If OpenWindow(0, 0, 0, 600, 600, "DrawText Exemple", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ; creer une fenetre
      If CreateImage(0, 600, 600) ; on creer une image
            StartDrawing(ImageOutput(0))  ; on va ecrire dedans
                  DrawingMode(#PB_2DDrawing_Transparent) ; avec du text transparent
                  Box(0, 0, 600, 600, RGB(255, 255, 200))  ; on dessine une Box  jaune clair
                  For i = 1 To 90 ; on va ecrire 90 lignes de text
                        DrawText(Random(600), Random(600), "Hello World!", RGB(Random(255), Random(255), Random(255))) ; voila on ecrit avec differente couleurs
                  Next i
            StopDrawing()  ; ici on a fini d'ecrire dans notre image
            ImageGadget(0, 0, 0, 600, 600, ImageID(0))  ; on affiche l'image resultat dans la fenetre
      EndIf
      
      Repeat ; boucle principale, qui attent un evenement
            Event = WaitWindowEvent()
      Until Event = #PB_Event_CloseWindow
EndIf



avatar
Dobro
Patient contaminé

Masculin Nombre de messages : 293
Age : 55
Localisation : 43
Date d'inscription : 30/09/2019

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Tryphon le Dim 20 Oct 2019 - 23:44

Non mais pour le Doc, un PRINT, c'est PRINT, pas DrawText... PURE BASIC - Le Topic officiel - Page 9 435303

Je te l'avais dit : bon courage Razz
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 20392
Age : 43
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Dobro le Dim 20 Oct 2019 - 23:47

ha mais Print existe aussi en Purebasic
mais en mode Console seulement  PURE BASIC - Le Topic officiel - Page 9 418468

comme ça

Code:


OpenConsole("test")
Print( "Salut le Doc ")
input()
CloseConsole()


si vraiment la syntaxe le gene
on peut aussi utiliser les Macros !! Shocked


avatar
Dobro
Patient contaminé

Masculin Nombre de messages : 293
Age : 55
Localisation : 43
Date d'inscription : 30/09/2019

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Dobro le Dim 20 Oct 2019 - 23:52

les macro permettent de pouvoir changer le nom d'une fonction
par autre chose par exemple  

je reprends l'exemple des lignes de couleur ci dessus

la ligne :
Macro Print:DrawText:EndMacro
Permet d'utiliser "Print" a la place de "Drawtext" !!!   LOL  et TOC !  MDR  MDR



Code:


Macro Print:DrawText:EndMacro

If OpenWindow(0, 0, 0, 600, 600, "DrawText Exemple", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ; creer une fenetre

 If CreateImage(0, 600, 600) ; on creer une image
 StartDrawing(ImageOutput(0))   ; on va ecrire dedans
 DrawingMode(#PB_2DDrawing_Transparent) ; avec du text transparent
 Box(0, 0, 600, 600, RGB(255, 255, 200))  ; on dessine une Box  jaune clair
 For i = 1 To 90 ; on va ecrire 90 lignes de text
 Print(Random(600), Random(600), "Hello World!", RGB(Random(255), Random(255), Random(255))) ; voila on ecrit avec differente couleurs
 Next i
 StopDrawing()  ; ici on a fini d'ecrire dans notre image
 ImageGadget(0, 0, 0, 600, 600, ImageID(0))  ; on affiche l'image resultat dans la fenetre
 EndIf
 
 Repeat ; boucle principale, qui attent un evenement
 Event = WaitWindowEvent()
 Until Event = #PB_Event_CloseWindow
EndIf



avatar
Dobro
Patient contaminé

Masculin Nombre de messages : 293
Age : 55
Localisation : 43
Date d'inscription : 30/09/2019

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Dobro le Lun 21 Oct 2019 - 0:08

avec les macro, on peut pousser le délire plus loin :)

Code:

Macro Ma:Macro:EndMacro:Ma Print:DrawText:End#Ma:Ma OPW:openwindow:End#Ma
Ma CI:Createimage:end#Ma:Ma RND:Random:End#Ma:Ma SD: StartDrawing:End#Ma
Ma SDD: StopDrawing:End#Ma:Ma DM: DrawingMode:End#Ma:Ma IM: Image:End#Ma
Ma win:Window:End#Ma
If OPW(0, 0, 0, 600, 600, "DrawText Exemple", #PB_#Win#_SystemMenu | #PB_#Win#_ScreenCentered) ; creer une fenetre
 If CI(0, 600, 600) ; on creer une image
 SD(IM#Output(0))   ; on va ecrire dedans
 DM(#PB_2DDrawing_Transparent) ; avec du text transparent
 Box(0, 0, 600, 600, RGB(255, 255, 200))  ; on dessine une Box  jaune clair
 For i = 1 To 90 ; on va ecrire 90 lignes de text
 Print(Rnd(600), Rnd(600), "Hello World!", RGB(Rnd(255), Rnd(255), Rnd(255))) ; voila on ecrit avec differente couleurs
 Next i
 SDD()  ; ici on a fini d'ecrire dans notre image
 IM#Gadget(0, 0, 0, 600, 600, IM#ID(0))  ; on affiche l'image resultat dans la fenetre
 EndIf
 Repeat ; boucle principale, qui attent un evenement
 Event = Wait#Win#Event()
 Until Event = #PB_Event_Close#Win
EndIf




ce qui au final une fois mis en forme le meme code
peut donner un  "PUNCH" (expression tiré des GFAPUNCH )  

voici le meme code toujours "punché" grace au Macro (note que j'ai pas poussé a l'extreme LOL )
Code:

Macro Ma:Macro:EndMacro:Ma Print:DrawText:End#Ma:Ma OPW:openwindow:End#Ma:Ma CI:Createimage:end#Ma
Ma RND:Random:End#Ma:Ma SD:StartDrawing:End#Ma:Ma SDD:StopDrawing:End#Ma
Ma DM:DrawingMode:End#Ma:Ma IM:Image:End#Ma:Ma win:Window:End#Ma
If OPW(0,0,0,600,600,"DrawText Exemple",;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#PB_#Win#_SystemMenu|#PB_#Win#_ScreenCentered):If CI(0,600,600):SD(IM#Output(0))
DM(#PB_2DDrawing_Transparent):Box(0,0,600,600,RGB(255,255,200)):For i=1 To 90;;;
Print(Rnd(600),Rnd(600),"Hello World!",RGB(Rnd(255),Rnd(255),Rnd(255))):Next i;;
SDD():IM#Gadget(0,0,0,600,600,IM#ID(0)):EndIf:Repeat:Event=Wait#Win#Event();;;;;
Until Event=#PB_Event_Close#Win:EndIf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
avatar
Dobro
Patient contaminé

Masculin Nombre de messages : 293
Age : 55
Localisation : 43
Date d'inscription : 30/09/2019

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Tryphon le Lun 21 Oct 2019 - 0:27

pukel

Tu devrais essayer le Brainfuck... Razz
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 20392
Age : 43
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Dobro le Lun 21 Oct 2019 - 0:41

l'un de nos membre JohnJohnsonSHERMAN
c'est amusé a faire un interpréteur BrainFuck en Purebasic

voici le code de l'interpreteur
Code:


#MEMSIZE = 1024
#MAXLPLEVEL = 32

OpenConsole("Brain Not Found")
ConsoleColor(0,7)
PrintN("############################ Interpréteur Brainfuck ############################")
ConsoleColor(7,0)

Dim memory.a(#MEMSIZE)
Dim loops(#MAXLPLEVEL)
Define ptr, loopLevel, bfScript$, i, len, inpt$, errCount

Declare Error(Text.s)

ConsoleColor(10,0)
Print("$iBF$>")
ConsoleColor(14,0)

bfScript$ = Input()
len = Len(bfScript$)

ConsoleColor(2,0)
PrintN("Exécution en cours...")
ConsoleColor(7,0)

For i=1 To len
 
  Select Asc(Mid(bfScript$,i,1))
    Case '+'
      memory(ptr) +1
    Case '-'
      memory(ptr) -1
    Case '>'
      ptr +1
    Case '<'
      ptr -1
      If ptr < 0
        Error("Segmentation error : pointer out of memory : "+Str(ptr)+" Must be [0~1024]")
        errCount +1
        Break
      EndIf
    
    Case '.'
      Print(Chr(memory(ptr)))
    Case ':'
      Print(Str(memory(ptr)))
    
    Case ','
      ConsoleColor(10,0)
      Print("$>")
      ConsoleColor(7,0)
      inpt$ = Input()
      memory(ptr) = Val(inpt$)
    
    Case '['
      loopLevel +1
      loops(loopLevel) = i
    Case ']'
      If memory(ptr) = 0
        loopLevel -1
      Else
        i = loops(loopLevel)
      EndIf
    
  EndSelect
Next

ConsoleColor(2,0)
PrintN(~"\nExécution terminée, erreurs : "+Str(errCount))
ConsoleColor(10,0)
Print("Pressez Entrée pour quitter.")
Input()


Procedure Error(Text.s)
  ConsoleColor(12,0)
  PrintN(Text)
  ConsoleColor(7,0)
EndProcedure


et voici le code de 3 Prg BrainFuck a coller dans l'interpeteur lorsqu'il est en fonction
et appuis sur Return pour lancer le prg et voir le resultat

Prg numero 1 (hello World)
Code:
++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>>++.>+.+++++++..+++.<<++.>+++++++++++++++.>.+++.------.--------.<<+.<.

Prg numero 2(afficher le nombre 1020 )
Code:
++++++++++:>++:>:

Prg numero 3 (affiche "le BrainFuck c'est cool! )
Code:
-[------->+<]>+++.-[--->++++<]>+.--[--->+<]>-.+[->++<]>.---[----->+<]>-.+++[->+++<]>++.++++++++.+++++.--------.-[--->+<]>--.+[->+++<]>+.++++++++.-[++>---<]>+.+[->+++<]>.[->+++<]>--.-[--->+<]>+++.[--->+<]>----.+.[---->+<]>+++.+[->+++<]>.++++++++++++..---.[++>---<]>--.---[->++<]>.--[->++++++<]>.

Les instructions sont celles du Brainfuck traditionnel + le ":" qui permet d'afficher la valeur brute de l'octet pointé, ce qui est pratique quand on ne veut pas afficher le caractére ASCII correspondant, mais qui du coup repréente une légére digression au but du BF, qui est d'est chiant à coder ^^


Dernière édition par Dobro le Lun 21 Oct 2019 - 0:43, édité 1 fois
avatar
Dobro
Patient contaminé

Masculin Nombre de messages : 293
Age : 55
Localisation : 43
Date d'inscription : 30/09/2019

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Urbinou le Lun 21 Oct 2019 - 0:43

Miam, aussi digeste que les codes des deukilos Very Happy
https://www.gamopat-forum.com/t85503-les-deuxkilos-saison-2016#2300958
Urbinou
Urbinou
Docteur *
Docteur *

Masculin Nombre de messages : 11247
Age : 51
Localisation : Liège, Belgique
Date d'inscription : 12/02/2013

http://cambouisdelatari.wordpress.com

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Dobro le Lun 21 Oct 2019 - 0:46

oui , il y a un air de famille Very Happy
avatar
Dobro
Patient contaminé

Masculin Nombre de messages : 293
Age : 55
Localisation : 43
Date d'inscription : 30/09/2019

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par drfloyd le Lun 21 Oct 2019 - 7:33

@Dobro a écrit:
@drfloyd a écrit:y a pas "PRINT" dans PUREBASIC, c'est quand meme un sacré scandale.*

mais si !! :)
je t'ai deja expliqué  :)  

En purebasic on creer un contexte Graphique (soit une image, un sprite, un ecran , un Gadget )

avec
startdrawing(*********)
...
....
StopDrawing()

on peut utiliser toutes les fonctions se trouvant dans la Bibliotheque  "2D Drawing"

ton Print c'est en fait DRAWTEXT()

voici un exemple  :  (ici j'utilise une image, mais tu peux aussi utiliser l'ecran en creant l'ecran et comme sortie Graphique
StartDrawing(ScreenOutput())   Very Happy

Code:




If OpenWindow(0, 0, 0, 600, 600, "DrawText Exemple", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ; creer une fenetre
 If CreateImage(0, 600, 600) ; on creer une image
 StartDrawing(ImageOutput(0))   ; on va ecrire dedans
 DrawingMode(#PB_2DDrawing_Transparent) ; avec du text transparent
 Box(0, 0, 600, 600, RGB(255, 255, 200))  ; on dessine une Box  jaune clair
 For i = 1 To 90 ; on va ecrire 90 lignes de text
 DrawText(Random(600), Random(600), "Hello World!", RGB(Random(255), Random(255), Random(255))) ; voila on ecrit avec differente couleurs
 Next i
 StopDrawing()  ; ici on a fini d'ecrire dans notre image
 ImageGadget(0, 0, 0, 600, 600, ImageID(0))  ; on affiche l'image resultat dans la fenetre
 EndIf
 
 Repeat ; boucle principale, qui attent un evenement
 Event = WaitWindowEvent()
 Until Event = #PB_Event_CloseWindow
EndIf





Bordel je déconnais  Mr. Green Faut pas prendre au pied de la lettre tout ce que je dis  Mr. Green

_______________________________________________________
PURE BASIC - Le Topic officiel - Page 9 Giphy10
Mes objets en vente :
https://www.gamopat-forum.com/t105296-la-nouvelle-brocante-du-doc#3072649
Mon profil Gamopat Advisor :
https://www.gamopat-forum.com/t94659-dr-floyd-advisor





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 152137
Age : 50
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par drfloyd le Lun 21 Oct 2019 - 7:36

@Dobro a écrit:les macro permettent de pouvoir changer le nom d'une fonction
par autre chose par exemple  

je reprends l'exemple des lignes de couleur ci dessus

la ligne :
Macro Print:DrawText:EndMacro
Permet d'utiliser "Print" a la place de "Drawtext" !!!   LOL  et TOC !  MDR  MDR


ah oui tres simple pour créer une macro !  thumleft

Mais je n'aime pas les utiliser de manière générale car tu finis par oublier le vrai nom et c'est chiant quand tu montres un bout de code à quelqu'un

_______________________________________________________
PURE BASIC - Le Topic officiel - Page 9 Giphy10
Mes objets en vente :
https://www.gamopat-forum.com/t105296-la-nouvelle-brocante-du-doc#3072649
Mon profil Gamopat Advisor :
https://www.gamopat-forum.com/t94659-dr-floyd-advisor





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 152137
Age : 50
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par drfloyd le Lun 21 Oct 2019 - 7:42

@Tryphon a écrit:Non mais pour le Doc, un PRINT, c'est PRINT, pas DrawText... PURE BASIC - Le Topic officiel - Page 9 435303

Je te l'avais dit : bon courage Razz


je déconnais, le courage c'est de comprendre quand je déconne ou pas  Mr. Green J'ai honte, je lance le professeur dans des exemples de code pour rien... j'espère que ce sont des copier coller ?  pale

j'aime bien DRAWTEXT en plus

_______________________________________________________
PURE BASIC - Le Topic officiel - Page 9 Giphy10
Mes objets en vente :
https://www.gamopat-forum.com/t105296-la-nouvelle-brocante-du-doc#3072649
Mon profil Gamopat Advisor :
https://www.gamopat-forum.com/t94659-dr-floyd-advisor





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 152137
Age : 50
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Dobro le Lun 21 Oct 2019 - 9:02

@drfloyd a écrit:code pour rien... j'espère que ce sont des copier coller ?  pale


en PB de toutes façons, on code beaucoup par Copier-coller  Basketball
soit a partir des exemples de la doc, qu'on modifie ensuite
soit a partir de Bibliothèque de code perso, qu'on modifie (ou pas) pour l'exemple
pas de soucis :)

cette façon de faire permet de ne pas a avoir a apprendre par cœur la syntaxe des fonctions....
ou la méthodologie (je suis une grosse feignasse ! Mr. Green )
je pense notamment a la boucle d’évent , ça fait pourtant des années que je code en PB
mais je ne connais toujours pas par coeur les syntaxes .. ni les constantes...
bref j'ai une mémoire de poisson rouge MDR
je ne retiens pas les détails, j'ai seulement une mémoire infaillible pour les principes  alien


structure general d'un code en PB c'est :


;*************************************************************
utilisation des fonctions de chargement de format image/son.. (Jpg,/png/tif/tga)
comme "UseJPEGImageDecoder()" par exemple
pour pouvoir les utiliser dans le code

declaration de Procedures

les structures (s'il y en a )
enumeration (variables/constantes )

creation des images,sprites etc ..  si il y en a

; ----------------------------------------------------
Boucle-principal
evenement windows (en select-case-endselect )
;..
gestion des touches clavier/joystick
regle de rebond collision imposés au sprites si il y en a

affichage Graphique (FlipBuffer()) si il y en a ...

fin-boucle principale
; ----------------------------------------------------

; -------------------------
Zone des procedures :
fin zone Procedure
; -------------------------

; --------------
DataSection
endDataSection
; ---------------

; ******************************************************
voila en gros ce que je retiens, c'est surtout la présentation général d'un code
après, c'est du copié coller que j'adapte , le plus souvent Mr. Green

ps: on peut ne pas déclarer les procédures, a condition qu'elles soient en début de listing
perso je déteste ça , parce que pour accéder a la boucle principal et voir ce qui se passe
on est obligé de scroller 2 heures ....
bref les procédures c'est a la fin du code, moyennant une petite déclaration en début de listing

la déclaration c'est simple ,c'est juste ceci  

Declare.i toto(x,y)

pour la procedure qui se trouve en fin de listing :
Procedure.i Toto(x,y)
    ProcedureReturn X*Y
EndProcedure  

le ".i" indique le type de donnée que la procedure renvoie Cool

je rappel qu'on pose le curseur sur n'importe quel mot Purebasic ou fonction PB , un appuis su F1
envoi directement a la Doc sur la bonne Section, ou on a une explication de la syntaxe, et un exemple a chaque fois !
exemple qu'on peut copier-coller dans notre listing pour l'adapter
avatar
Dobro
Patient contaminé

Masculin Nombre de messages : 293
Age : 55
Localisation : 43
Date d'inscription : 30/09/2019

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par drfloyd le Mar 22 Oct 2019 - 7:47

je m'amuse bien je sui en train de tester les limites de PURE en 2D/60FPS sur mon petit netbook, et bon... bah y a du potentiel !  Mr. Green Pas sur d'obtenir de meilleurs résultats en C /C++....

_______________________________________________________
PURE BASIC - Le Topic officiel - Page 9 Giphy10
Mes objets en vente :
https://www.gamopat-forum.com/t105296-la-nouvelle-brocante-du-doc#3072649
Mon profil Gamopat Advisor :
https://www.gamopat-forum.com/t94659-dr-floyd-advisor





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 152137
Age : 50
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

PURE BASIC - Le Topic officiel - Page 9 Empty Re: PURE BASIC - Le Topic officiel

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 9 sur 11 Précédent  1, 2, 3 ... 8, 9, 10, 11  Suivant

Revenir en haut


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