Forum Liberty Basic France

Le 12/04/2020 à 16h54

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2484
Reprise du message précédent

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

   
Le 12/04/2020 à 18h35

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 436
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 ^^
____________________
Yo !

MSN Web    
Le 12/04/2020 à 18h45

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 741
Roland:
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 courante avec GNU/Linux Mageia7+ Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 12/04/2020 à 20h24

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 436
Christophe,

tu pense que tu pourrais me refaire ton code en inversant les axes x et y ? je suis entrain de buger dessus stp ^^

EDIT : j'ai trouvé en fait ^^



Edité par atomose Le 12/04/2020 à 20h39
____________________
Yo !

MSN Web    
Le 13/04/2020 à 14h05

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 741
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+
____________________
Just BASIC v2.0 :
  • utilisation courante avec GNU/Linux Mageia7+ Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 13/04/2020 à 17h33

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2484
Citation:
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

   
Le 14/04/2020 à 01h18

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 436
vous entretuez pas les gars !!! on est si peu XD
____________________
Yo !

MSN Web    
Le 14/04/2020 à 10h31

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2484
C'est le confouiiiiiinement, t'inquiète ça va passer. :)
____________________
Roro

   
Le 14/04/2020 à 13h44

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 436
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 =)
____________________
Yo !

MSN Web    
Le 14/04/2020 à 16h13

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2484
Citation:
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

   
Le 14/04/2020 à 22h38

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 741
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 courante avec GNU/Linux Mageia7+ Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 15/04/2020 à 00h57

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 436
ben non justement c'est ce que je dis ^^
des limites internes seraient mieux surtout pour la sécu et pour simplifier le code
____________________
Yo !

MSN Web    
Le 15/04/2020 à 10h40

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2484
Citation:
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

   
Le 15/04/2020 à 16h21

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 436
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 ... ^^
____________________
Yo !

MSN Web    
Le 15/04/2020 à 16h56

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 741
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 courante avec GNU/Linux Mageia7+ Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 16/04/2020 à 13h45

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 436
je savais pas qu'on pouvait éditer directement le tableau du fichier .bas ^^
____________________
Yo !

MSN Web    
Le 16/04/2020 à 15h36

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 741
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
____________________
Just BASIC v2.0 :
  • utilisation courante avec GNU/Linux Mageia7+ Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 26/05/2021 à 19h00

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 436
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
____________________
Yo !

MSN Web    
Le 21/09/2022 à 23h15

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 436
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
____________________
Yo !

MSN Web    
Le 22/09/2022 à 10h15

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2484
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.
____________________
Roro

   
Le 22/09/2022 à 10h58

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 436
Ben je voulais bien le mettre ici mais l'espace de stokage est trop limité.
Tu as quoi comme navigateur pour que mega te dise ca ? XD



Edité par atomose Le 18/12/2022 à 23h39
____________________
Yo !

MSN Web    

 |  |

1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie