Forum Liberty Basic France
• Index
Reprise du message précédent
Citation:
Du dépannage, il ne doit pas y en avoir, un programme est au point ou il ne l'est pas.
Mettre des datas "en dur" (dans le code) est une mauvaise pratique, les datas doivent êtres dans des fichiers (pour êtres accessibles).
Citation:
mais question clarté et dépannage, tu t'y retrouveras plus facilement avec des lignes de datas
Du dépannage, il ne doit pas y en avoir, un programme est au point ou il ne l'est pas.
Mettre des datas "en dur" (dans le code) est une mauvaise pratique, les datas doivent êtres dans des fichiers (pour êtres accessibles).
____________________
Roro
Roro
vous voyez... tous pleins de petites astuces que je ne connais pas
! c'est vrai que ca diminue la taille du tableau drastiquement ! mais j'ai vue que les x sont en y et vise versa (ligne en x et colonnes en y) ce qui n'est pas très intuitif pour remplir mais c la même avec l'ancien tableau donc merci quand même


Roland:
Roland:
Et qu'est-ce que c'est que cette fronde anti-datas ? On met à l’extérieur du programme les données dont on pense qu'elles nécessitent d'y être, et chacun est libre d'organiser ses données comme il l'entend.
En phase de test, simuler un fichier avec des datas permet de ne pas solliciter inutilement la mécanique du disque dur, et permet de ne pas encombrer la routine en test avec la procédure de lecture du fichier : moins le programme est complexe et plus facile est la recherche de bug (si tant est que le bug n'est pas dans la lecture du fichier).
De même, avec les datas, on stocke de manière lisible et directement accessible des données qu'on serait obligé d'aller chercher dans un fichier (ah, c'est lequel, et comment j'ai ordonné ça, déjà ?). C'est pas mieux de modifier une ligne de data qu'on a sous les yeux dans le programme, plutôt qu'ouvrir un éditeur de texte pour ouvrir le fichier, retrouver la donnée et la modifier puis sauvegarder et relancer le programme, ça en fait pas un peu beaucoup, des manips, pour supprimer un data ?
Je ne sais pas ce que tu as contre les datas, il n'y a aucune honte à utiliser des datas, t'en sors de bonnes, parfois, pardonne-moi de réagir. C'est dit avec la bonhommie habituelle
atomose:
Edité par Christophe Le 12/04/2020 à 18h48
Du dépannage, il ne doit pas y en avoir, un programme est au point ou il ne l'est pas.
Il ne doit pas y avoir de dépannage ? Sauf que, si dans notre bas monde le programme fonctionnait dès sa dernière ligne écrite, nos forums de programmation ne seraient que de simples espaces de présentation de logiciels.Roland:
Mettre des datas "en dur" (dans le code) est une mauvaise pratique, les datas doivent êtres dans des fichiers (pour êtres accessibles).
Et qu'est-ce que c'est que cette fronde anti-datas ? On met à l’extérieur du programme les données dont on pense qu'elles nécessitent d'y être, et chacun est libre d'organiser ses données comme il l'entend.
En phase de test, simuler un fichier avec des datas permet de ne pas solliciter inutilement la mécanique du disque dur, et permet de ne pas encombrer la routine en test avec la procédure de lecture du fichier : moins le programme est complexe et plus facile est la recherche de bug (si tant est que le bug n'est pas dans la lecture du fichier).
De même, avec les datas, on stocke de manière lisible et directement accessible des données qu'on serait obligé d'aller chercher dans un fichier (ah, c'est lequel, et comment j'ai ordonné ça, déjà ?). C'est pas mieux de modifier une ligne de data qu'on a sous les yeux dans le programme, plutôt qu'ouvrir un éditeur de texte pour ouvrir le fichier, retrouver la donnée et la modifier puis sauvegarder et relancer le programme, ça en fait pas un peu beaucoup, des manips, pour supprimer un data ?
Je ne sais pas ce que tu as contre les datas, il n'y a aucune honte à utiliser des datas, t'en sors de bonnes, parfois, pardonne-moi de réagir. C'est dit avec la bonhommie habituelle
atomose:
donc merci quand même 
Mais de rien, on avance tous en réfléchissant sur les codes des autres, on voit des manières différentes d'aboutir au résultat, et ça aide.

Edité par Christophe Le 12/04/2020 à 18h48
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Les boucles te semblent peut-être à l'envers, mais le contenu sera identique à ton remplissage. Pour la démo je me suis cantonné à deux lignes et des valeurs perso, mais au final j'écris sur 2 caractères une donnée qui t'en prenait 9 ou 10.
Roland : ça va, je suis calmé, tu as des opinions à l'emporte-pièce, parfois. Je suggérais à atomose l'utilisation de DATA pour faciliter la maintenance de son tableau, mon propos n'était pas d'utiliser des DATA pour stocker les données, d'où ton "doivent" qui n'est pas très bien passé. C'est oublié, y'a pas de souci.
A+
Roland : ça va, je suis calmé, tu as des opinions à l'emporte-pièce, parfois. Je suggérais à atomose l'utilisation de DATA pour faciliter la maintenance de son tableau, mon propos n'était pas d'utiliser des DATA pour stocker les données, d'où ton "doivent" qui n'est pas très bien passé. C'est oublié, y'a pas de souci.
A+
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Citation:
Moi aussi, mais bon, quand en ouvrant le code je suis accueilli par 23 lignes à 21 instructions par lignes pour remplir un tableau, je pars en courant en m'arrachant les cheveux et en criant bouhouhouhouhouhouhouhouhouhouhouhouhou.
A quoi ça sert que Ducros, oups! Cassiope se soit décarcassé pour nous pondre un super code de remplissage de tableau à la souris transgénique ? Hein ? Je vous le demande...
Roland : ça va, je suis calmé, tu as des opinions à l'emporte-pièce, parfois
Moi aussi, mais bon, quand en ouvrant le code je suis accueilli par 23 lignes à 21 instructions par lignes pour remplir un tableau, je pars en courant en m'arrachant les cheveux et en criant bouhouhouhouhouhouhouhouhouhouhouhouhou.
A quoi ça sert que Ducros, oups! Cassiope se soit décarcassé pour nous pondre un super code de remplissage de tableau à la souris transgénique ? Hein ? Je vous le demande...
____________________
Roro
Roro
vous entretuez pas les gars !!! on est si peu XD
C'est le confouiiiiiinement, t'inquiète ça va passer.

____________________
Roro
Roro
nn mais pour revenir au sujet,
les data sont super utile pour ce type de tableau, je m'explique.
Avoir un tableau en dur sur le code permet comme l'a dit Christophe d'y accéder rapidement et de simplifier le mécanisme. Pour autant, il n'est pas modifiable comme l'éditeur game maker que tu as fait Roland et j'avoue qu'il est beaucoup plus simple de tracer les limites avec ton éditeur que de remplir tableau par tableau... MAIS un point a ne pas négliger est la sécurité du jeu. En effet, avec des limites inscrite sur des fichiers texte, si tu es un minimum malin (et malcin) tu peux facilement modifier a ta guise les limites du jeu pour tricher.... alors que dans le code, ben ca réduit beaucoup beaucoup le nombre de tricheurs voir le rend nul. Ce système de déplacement, je vais l'utiliser principalement pour mon jeu pro et lorsque j'aurais le temps je le mettrai sur eternal quest. Donc il me faut quelque chose de pro, de sécurisé. Même si ta solution est 100x plus rapide Roland, elle est encore hors de mes compétences intélectuelle (je tassure
) et complexifi bien plus le mécanisme des limites.
Je vais donc me pencher sur les data, tout en travaillant sur game maker pour réussir je lespère un jour a comprendre. Jai reussi a faire une superposition de la grille sous forme de points sur les cartes du jeu afin de facilité le remplissage des tableaux. C assez rapide mais jespère réussir a faire un style d'éditeur comme toi Roland avec ce système. A voir dans le temps =)
les data sont super utile pour ce type de tableau, je m'explique.
Avoir un tableau en dur sur le code permet comme l'a dit Christophe d'y accéder rapidement et de simplifier le mécanisme. Pour autant, il n'est pas modifiable comme l'éditeur game maker que tu as fait Roland et j'avoue qu'il est beaucoup plus simple de tracer les limites avec ton éditeur que de remplir tableau par tableau... MAIS un point a ne pas négliger est la sécurité du jeu. En effet, avec des limites inscrite sur des fichiers texte, si tu es un minimum malin (et malcin) tu peux facilement modifier a ta guise les limites du jeu pour tricher.... alors que dans le code, ben ca réduit beaucoup beaucoup le nombre de tricheurs voir le rend nul. Ce système de déplacement, je vais l'utiliser principalement pour mon jeu pro et lorsque j'aurais le temps je le mettrai sur eternal quest. Donc il me faut quelque chose de pro, de sécurisé. Même si ta solution est 100x plus rapide Roland, elle est encore hors de mes compétences intélectuelle (je tassure

Je vais donc me pencher sur les data, tout en travaillant sur game maker pour réussir je lespère un jour a comprendre. Jai reussi a faire une superposition de la grille sous forme de points sur les cartes du jeu afin de facilité le remplissage des tableaux. C assez rapide mais jespère réussir a faire un style d'éditeur comme toi Roland avec ce système. A voir dans le temps =)
Citation:
Si veux qu'on ne puisse pas accéder aux fichiers il suffit de les mettre sous forme compressée, avec le "Jag compressor" -->: http://libertybasic.fr/forum/topic-462+minimiseur-jag.php
De les décompresser dans le code; de remplir les tableaux et de détruire les fichiers décompressés directement derrière. Le tout est trop rapide pour qu'on accède aux fichiers pendant le traitement.
Et si tu a encore un doute tu leur mets ".dll" en extension à la décompression.
Et là tu es tranquille.
tu peux facilement modifier a ta guise les limites du jeu pour tricher.
Si veux qu'on ne puisse pas accéder aux fichiers il suffit de les mettre sous forme compressée, avec le "Jag compressor" -->: http://libertybasic.fr/forum/topic-462+minimiseur-jag.php
De les décompresser dans le code; de remplir les tableaux et de détruire les fichiers décompressés directement derrière. Le tout est trop rapide pour qu'on accède aux fichiers pendant le traitement.
Et si tu a encore un doute tu leur mets ".dll" en extension à la décompression.
Et là tu es tranquille.
____________________
Roro
Roro
Je sais pas si je dis une bêtise (pour le moment, je n'ai pas étudié ton code), mais ça ne devrait pas être très compliqué de gérer des limites à l'intérieur du code. C'est si ingérable que ça ?
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
ben non justement c'est ce que je dis
des limites internes seraient mieux surtout pour la sécu et pour simplifier le code

des limites internes seraient mieux surtout pour la sécu et pour simplifier le code
Citation:
Mais dans ce cas il n'y a plus d'éditeur de map; c'est un autre concept.
des limites internes seraient mieux surtout pour la sécu et pour simplifier le code
Mais dans ce cas il n'y a plus d'éditeur de map; c'est un autre concept.
____________________
Roro
Roro
ben je me demande si on peut pas faire un editeur qui convertirai le resultat en code implémentable.
Par exemple, un tracage comme dans ton éditeur qui donne un réultat dans un fichier temp sous cette forme :
0100001000
0100001000
0111111000
0000000000
ou les 1 sont des limites et 0 sont la ou on peut marcher.
Ensuite, une autre partie du code convertie ca en
data 0,1,0,0,0,0,1,0,0,0
data 0,1,0,0,0,0,1,0,0,0
data 0,1,1,1,1,1,1,0,0,0
data 0,0,0,0,0,0,0,0,0,0
puis sauvegarde cela indentiquement sur un fichier txt
ensuite il suffira de copier coller le contenu sur le fichier .bas en remplacant le tableau vierge par celui-ci.
c une idée d'éditeur ...
Par exemple, un tracage comme dans ton éditeur qui donne un réultat dans un fichier temp sous cette forme :
0100001000
0100001000
0111111000
0000000000
ou les 1 sont des limites et 0 sont la ou on peut marcher.
Ensuite, une autre partie du code convertie ca en
data 0,1,0,0,0,0,1,0,0,0
data 0,1,0,0,0,0,1,0,0,0
data 0,1,1,1,1,1,1,0,0,0
data 0,0,0,0,0,0,0,0,0,0
puis sauvegarde cela indentiquement sur un fichier txt
ensuite il suffira de copier coller le contenu sur le fichier .bas en remplacant le tableau vierge par celui-ci.
c une idée d'éditeur ...

C'est un éditeur pour créer une map ? Les DATAs sont utiles si tu veux un jeu d'essai modifiable manuellement dans le programme, si tes 0 et 1 reflètent une map modifiée dans un éditeur, pourquoi ne pas les mettre directement et automatiquement dans le tableau de ton programme ?
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
je savais pas qu'on pouvait éditer directement le tableau du fichier .bas

Je ne sais pas ce que tu entends par "éditer directement le tableau du fichier .bas", mais tu peux remplir un tableau avec le contenu d'un fichier dans lequel tu as tes données, tu n'as pas besoin de passer par l'étape intermédiaire de la création de lignes de data à coller ensuite dans ton programme ???
A moins que tu tiennes absolument à avoir le contenu du tableau codé "en dur" dans ton listing, auquel cas j'aurais procédé comme toi : générer un fichier texte avec les lignes de données commençant par data, puis importer le résultat dans le code principal...
Et rien n'empêche de générer directement les attributions de tableau plutôt que des lignes de datas (les "p(xx,xx)=0: p(xx,xy)=1, etc...) l'utilisation des data avait juste comme fonction de faciliter une intervention manuelle dans les valeurs du tableau.
Edité par Christophe Le 16/04/2020 à 15h40
A moins que tu tiennes absolument à avoir le contenu du tableau codé "en dur" dans ton listing, auquel cas j'aurais procédé comme toi : générer un fichier texte avec les lignes de données commençant par data, puis importer le résultat dans le code principal...
Et rien n'empêche de générer directement les attributions de tableau plutôt que des lignes de datas (les "p(xx,xx)=0: p(xx,xy)=1, etc...) l'utilisation des data avait juste comme fonction de faciliter une intervention manuelle dans les valeurs du tableau.
Edité par Christophe Le 16/04/2020 à 15h40
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
hey ! on fête quand même le sujet qui a atteint les + de 1 million de vues XD !
S'il y a des curieux qui se demande ce que ce jeu est devenu il a fusioné avec Ascension... donc la suite se trouve dans le sujet Ascension XD
S'il y a des curieux qui se demande ce que ce jeu est devenu il a fusioné avec Ascension... donc la suite se trouve dans le sujet Ascension XD
Salut aux survivants 
Finalement, après une journée détente, je me suis penché sur mes anciens projets et j'ai retrouvé mon premier gros projet, Eternal Quest.
après une relecture assez difficile du code, je me suis dit que redonner un coup de jeune à celui-ci ne serait pas de trop
. J'ai donc réduit le code de prêt de 3000 lignes sur les 10600 initiales. Ca fait un beau coup de balai
. Surtout que de nombreux bugs ont été corrigés et que l'interface est plus fluide. Bref, pas déçu de ces quelques heures utilisées.
Voici le log de la maj et le lien juste en dessous. A titre d'information, cela fait 11 ans que j'ai commencé ce sujet
. Ca rajeuni pas ...
Version 2.92 alpha :
- Refonte complète du code source passant de 10 600 lignes a 7 800.
- Correction du bug affectant l'égalité des variables "emplacement" sur la carte du personnage
- Amélioration importante du déplacement du personnage, la version clavier est aussi rapide que la version souris et le cycle des sprites est corrigé
- Correction du bug d'affichage qui fesait clignoter les données de l'interface
- réduction du temps de transition entre les cartes
- correction de bugs divers
Edité par atomose Le 18/12/2022 à 23h39

Finalement, après une journée détente, je me suis penché sur mes anciens projets et j'ai retrouvé mon premier gros projet, Eternal Quest.
après une relecture assez difficile du code, je me suis dit que redonner un coup de jeune à celui-ci ne serait pas de trop


Voici le log de la maj et le lien juste en dessous. A titre d'information, cela fait 11 ans que j'ai commencé ce sujet

Version 2.92 alpha :
- Refonte complète du code source passant de 10 600 lignes a 7 800.
- Correction du bug affectant l'égalité des variables "emplacement" sur la carte du personnage
- Amélioration importante du déplacement du personnage, la version clavier est aussi rapide que la version souris et le cycle des sprites est corrigé
- Correction du bug d'affichage qui fesait clignoter les données de l'interface
- réduction du temps de transition entre les cartes
- correction de bugs divers
Edité par atomose Le 18/12/2022 à 23h39
Ton lien (Mega) veut encore me faire mettre à jour mon navigateur qui marche très bien partout sur le net, sauf pour Mega.
Et moi, je ne veux pas de mises à jour qui ne respectent pas la rétrocompatibilité, parce que: "Qui dit pouvoir le "plus" doit pouvoir le "moins".
Quand cette condition n'est pas respectée, ce n'est pas un progrès, c'est une contrainte.
Et moi, je ne veux pas de mises à jour qui ne respectent pas la rétrocompatibilité, parce que: "Qui dit pouvoir le "plus" doit pouvoir le "moins".
Quand cette condition n'est pas respectée, ce n'est pas un progrès, c'est une contrainte.
____________________
Roro
Roro
• Index
1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie