Premier projet (CatBot)

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
FR4NK13
Messages : 72
Inscription : mar. 03/juil./2018 9:30

Re: Premier projet (CatBot)

Message par FR4NK13 »

Merci Crystal Noir pour le conseil, mais le truc c'est que je ne comprends pas encore assez comment ça fonctionne pour faire toute seule, bientôt sans doute je saurai faire. Bidouiller des codes me permet de comprendre le fonctionnement de chaque ligne, ce qui est plutôt bien je trouve
Avatar de l’utilisateur
Crystal Noir
Messages : 891
Inscription : mar. 27/janv./2004 10:07

Re: Premier projet (CatBot)

Message par Crystal Noir »

C'est normal au début mais si j'étais toi je partirai de la base pour justement comprendre comment cela marche. Admettons tu as un projet (peu importe lequel). Fais par étape, par ex :

- Commence à savoir ouvrir une fenêtre PB.
- Affiche un sprite (même si il bouge pas c'est pas grave)
- Tu y arrives ? alors essaye de le changer de position.
- Essaye de le faire avancer.
- Ajoute un décor etc... etc...

Et au bout d'un moment tu vas te dire que tu ne vois plus rien dans le code il y en a partout (c'est normal au début) alors tu vas chercher à essayer d'organiser un peu tout cela (sur le forum et dans la doc), et tu vas avancer. Bien sur là c'est l'exemple vraiment du début début. Mais c'est le principe, et c'est même comme ça qu'à l'époque j'ai appris PB.

L'erreur c'est de vouloir commencer à apprendre en codant direct un projet compliqué. Tu vas galérer, ne pas y arriver et te décourager. Commence par la base, par du ultra simple. Et au fur et à mesure tu vas repartir sur ton projet et tu seras plus à l'aise (et tu continueras d'ailleurs d'apprendre des choses).

Je suis un nouveau bel exemple : cela fait un bail que je n'ai pas pissé une ligne de code en PB ce qui fait que j'ai pas mal oublié. Aujourd'hui je suis intéressé par SpiderBasic (son frère), si je m'y met et bien je reprendrai à 0, je commencerai par afficher une simple fenêtre et ainsi de suite ;)
FR4NK13
Messages : 72
Inscription : mar. 03/juil./2018 9:30

Re: Premier projet (CatBot)

Message par FR4NK13 »

Tu as tout à fait raison Crystal.

Le truc c'est que je ne sais pas comment m'entraîner et je comprends rien à la doc, au tuto et compagnie.
Ca serait plus pratique avec des exercices que l'on me donnerait, où comme tu dis je progresse pas à pas sur les trucs de bases à connaître.

Je t'envoie un MP
Avatar de l’utilisateur
omega
Messages : 624
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

Re: Premier projet (CatBot)

Message par omega »

Bonsoir FR4NK13
Pour une débutante comme vous dites, je vous félicite pour avoir codé un programme qui a l'air très professionnel.
Bravo et bons succès
Win7 (x64) 64 bits Pb 5.72
FR4NK13
Messages : 72
Inscription : mar. 03/juil./2018 9:30

Re: Premier projet (CatBot)

Message par FR4NK13 »

Bonsoir Omega,

Je n'ai aucun mérite ; je ne fais que piocher des bouts de codes de ci de là pour les adapter à mon besoin. Je suis encore loin de pouvoir faire quoi que ce soit d'élaboré de moi même pour l'instant, mais merci des félicitations :)
Avatar de l’utilisateur
Crystal Noir
Messages : 891
Inscription : mar. 27/janv./2004 10:07

Re: Premier projet (CatBot)

Message par Crystal Noir »

"Piocher" des bouts de code on le fait à longueur de dev. Enfin d'une certaine manière. Quand quelqu'un propose un snippet, et bien oui on l'utilise, pourquoi réinventer la roue ? Mais pour apprendre c'est vrai que c'est pas le mieux, car finalement tu ne fais pas du code mais du "légo", tu emboîtes plusieurs bout de code ensemble, tu bidouilles pour que cela marche.

L'idée c'est d'essayer quitte à utiliser des bouts de codes et conseils que te donne la communauté mais comprends les, ne les copie colle pas de façon bateau, car cela ne t'aidera pas. SI à un moment il y a un hic, tu vas galérer à comprendre ce qui cloche. Tu as déjà à priori les notions de programmation de base (boucle, conditions etc...). Si tu as un projet, passe du temps à l'analyser en dehors de l'ide de purebasic, penses aux mécaniques que tu aimerais mettre en place. Car pisser de la ligne de code au km sans avoir ne serait ce qu'un tout petit peu réfléchi à ton projet, tu risques de te heurter au syndrome du "zut cela ne pourra jamais marcher comme cela, faut que je réécrive la moitié du code".

Après pour apprendre tu n'es pas obligé non plus d'avoir un gros projet, tu peux juste faire des petites routines pour tester les fonctionnalités cela demande pas spécialement de grosses réflexion niveau organisation et ca te permet de toucher à plusieurs principes ;)

Bon courage !
FR4NK13
Messages : 72
Inscription : mar. 03/juil./2018 9:30

Re: Premier projet (CatBot)

Message par FR4NK13 »

Oui je vais faire des petits trucs plus simples pour m'entraîner, demain je tenterai de mettre des images ou son par exemple déjà (ce sera utile pour donner un peu de vie au bot)
et puis je vais essayer de me faire des exemples de chaque fonctions ou quoi dont j'aurai eventuellement besoin. J'aurais plus qu'à les inclure après, merci :)
Avatar de l’utilisateur
microdevweb
Messages : 1800
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Premier projet (CatBot)

Message par microdevweb »

FR4NK13 a écrit :

Microwebdev,

Je dois enregistrer les deux fichiers dans le même dossier puis ouvrir le fichier main, c'est bien ça ?
Merci ! :)
Oui c'est ça.

Désolé si mon code peut te sembler compliqué, n’hésite pas à me demander une explication (même en mp) je prendrais le temps de te répondre.

Mais voila apprend en cherchent à trouvé une solution à tel ou tel problème et on fini par comprendre.

Voici un lien youtube avec les base de pb que j'avais réalisé (les codes source ne sont plus accessibles)

https://www.youtube.com/watch?v=eBu2KMG ... yc73BwzkXI

Et un autre pour créer le jeu astéroide

https://www.youtube.com/watch?v=GuZwd1G ... B9vR0mu5KL

idem pour le code sorry
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
FR4NK13
Messages : 72
Inscription : mar. 03/juil./2018 9:30

Re: Premier projet (CatBot)

Message par FR4NK13 »

Je te remercie et t'envoie un petit MP de ce pas :)
Avatar de l’utilisateur
Ar-S
Messages : 9476
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Premier projet (CatBot)

Message par Ar-S »

Tu ne comprends rien à la doc et aux tutos, là je tic un peu. Hormis quelques fonctions un peu rotor, (jouer avec la mémoire, les pointeurs...), c'est tout de même explicite.
Et non seulement tu as des exemples dans la doc. Mais n'oublie pas que tu as aussi un dossier exemple dans PB.
Enfin, tu ne vas pas tout piger en 3 jours :) faut pas t'affoler :wink:
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: Premier projet (CatBot)

Message par Marc56 »

FR4NK13 a écrit :Le truc c'est que je ne sais pas comment m'entraîner et je comprends rien à la doc, au tuto et compagnie.
Ca serait plus pratique avec des exercices que l'on me donnerait, où comme tu dis je progresse pas à pas sur les trucs de bases à connaître.
Tu fais comme on a fait et qu'on continue à faire.
Quand tu tombe sur un nouveau mot-clé, tu cliques dessus, puis F1
Tu lis la syntaxe et les remarques
Tu copie/colle l'exemple (il y en a sur chaque fonction et ils sont tous autonomes)
Tu changes quelques paramètres et tu regarde ce que ça fait.
Tu regardes surtout ce que doit donner la valeur de retour, c'est ce qui te permet de fiabiliser ton application et programmer façon gestion des exceptions (Try/Catch) de d'autres langages en utilisant ici If fonction... ... Else ... Endif

Ça ne viendra pas en un jour et il est déconseillé de commencer par un projet de plusieurs centaines de lignes.
Tu dois étudier chaque fonction dont tu auras besoin, une par une puis tu assemble.

L’éditeur est par défaut en mode Débug actif (bestiole verte dans la barre d’icône) donc si ton programme se bloque, tu cliques sur la croix rouge "Arrêter le programme". Dans 99.99% des cas, tu peux reprendre la main. (si la souris n'est plus active, tu fais ALT+TAB, puis tu utilise les menus)
Penses aussi à activer l'option sauver avant de lancer

Et avant de lancer, tu laisses l'éditeur vérifier que toute les boucles dont fermées
CTRL + A puis CTRL + I, ça refait toute l'indenation
Exemple: Si tous les Procedure / EndProcedure ne sont pas à la marge alors il y a des mauvaises imbrications

:wink:
FR4NK13
Messages : 72
Inscription : mar. 03/juil./2018 9:30

Re: Premier projet (CatBot)

Message par FR4NK13 »

Je ne suis même pas capable d'afficher une image avec loadimage, et ce, malgré l'exemple. Ca ne marche pas, sauf si j'affiche le code d'exemple tel quel, bien entendu.

Oui je sais bien que je n'apprendrai pas en trois jours.
Avatar de l’utilisateur
Crystal Noir
Messages : 891
Inscription : mar. 27/janv./2004 10:07

Re: Premier projet (CatBot)

Message par Crystal Noir »

Et bien compare ton code et celui de l'exemple et tu trouveras l'erreur.
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: Premier projet (CatBot)

Message par Marc56 »

Les images ne sont pas ce qu'il y a de plus facile à comprendre au début, car il faut manipuler deux choses:

- L'image elle-même (c'est une zone mémoire) mais il y a un outil de débug pour la voir
- L'affichage de l'image (se fait dans un gadget (image, canvas, screen etc))

Avant de demander son affichage, tu peux voir si l'image est correctement créée ou chargée en mémoire avec ShowLibraryViewer()

Exemple de la doc

Code : Tout sélectionner

  If CreateImage(0, 200, 200) And StartDrawing(ImageOutput(0))
    DrawingMode(#PB_2DDrawing_Transparent)
    Box(0, 0, 200, 200, RGB(255, 255, 255))
    For i = 1 To 30
      DrawText(Random(200), Random(200), "Hello le Monde !", RGB(Random(255), Random(255), Random(255)))
    Next i
    StopDrawing() 
    
    ShowLibraryViewer("Image", 0)  ; Montre l'image
    CallDebugger                   ; Stoppe le programme qui ne se termine pas correctement
  EndIf
Une image peut être:
- Chargée depuis un fichier (Loadimage)
- Générée depuis rien (StartDrawin()...
- Copiée depuis une autre (CopyImage)
- Découpée depuis une autre (GrabIMage)

:wink:
FR4NK13
Messages : 72
Inscription : mar. 03/juil./2018 9:30

Re: Premier projet (CatBot)

Message par FR4NK13 »

Merci Marc56, effectivement ça a l'air bien galère pour moi, bon, je vais me contenter de la base de la base et y aller tranquillement.
Je reviendrai sur ce topic quand je serai mieux aguerrie pour reprendre mon projet :)
Répondre