Forum Liberty Basic France

Général » Organigramme Ou Ordinogramme
Le 26/11/2020 à 17h31

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 741
Reprise du message précédent

Excellente nouvelle, mais là je testerais un autre jour, je viens parler de la version d'avant.

Citation:
EDIT: "Segment" n'est pas la solution; car "delsegment" sort le segment de la mémoire mais ne le sort pas de l'affichage.

Pas possible de faire un segment "fond", un segment "grille" et un segment "organigramme", et pour capturer l'image, un cls pour vider l'écran, et le réaffichage de seulement "fond" et "organigramme" ?

Citation:
Temps d'analyse de son fichier: 156 ms
Temps total: analyse + affichage + sauvegarde du même bmp: 1 mn 50s.
Comme on dirait: "Y a pas photo".
Dont acte, dit-on.

Si on n'a pas peur de remplacer un simple, bien commode et unique "getbmp" par une trentaine de lignes et une conséquente refonte du code pour placer nous-même les pixels dans le fichier, on pourrait essayer de placer l'organigramme dans des bitmaps en 16 ou 256 couleurs : on devrait gagner beaucoup en place et de temps de traitement. Je pense utiliser des bitmaps 16 couleurs pour mon projet de jeu eighties, et je tiens au courant dans la discussion adéquate (je n'ai pas encore expérimenté ce type de bitmap)

Citation:
Mettre des couleurs de grille c'est faisable. Mais si je mets 16 couleurs et le contraste, ça fait 16 x 4 possibles (c'est beaucoup); plus test compatibilité encre/fond; et plus enregistrement.


Pour les couleurs de grille, je pensais aux nuances de gris que tu utilise pour les faire plus ou moins ressortir sur le fond : tu connais déjà la couleur de grille à rechercher et remplacer dans le fichier

Citation:
il n'y a qu'un seul stylo pour la grille et les objets; ce qui fait que pour changer de contraste sur fonc blanc, il faut régler sur fond noir et inverser
J'ai cherché un bout de temps aussi, pour aboutir à la conclusion qu'on est victime d'une illusion sensorielle.

J'ai modifié ton listing comme suit :
Code VB :
  [grid] '-------------------------------GRID-----------------------------
    #w.m, "size 5"
    #w.m, "color ";" ";colg$: #w.m, "backcolor ";coln$'black"

il m'a semblé plus normal que le backcolor devienne "coln$" et plus "black", et j'ai mis la taille du crayon à 5, relance et tu verra que la couleur de la grille varie selon le contraste choisi.

Sur fond noir tu avais déjà, par exemple, colg$="100 100 100" quand on partait du noir, et je verrais bien, sur fond blanc (puisqu'on part du blanc), colg$="255-100 255-100 255-100". Il ne reste plus qu'à tester et à créer l’algorithme qui sélectionne "0+" ou "255-" en fonction de la couleur de fond. Je n'ai pas personnellement testé, mais "à l'intuition", c'est à essayer...
____________________
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/11/2020 à 18h00

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2480
Citation:
Pas possible de faire un segment "fond"

"Delsegment" n'efface pas de l'affichage, même avec un "Refresh" derrière.
Mais je n'ai pas dit mon dernier mot avec ça.
Citation:
placer l'organigramme dans des bitmap

Si tu parles de mettre les objets en bmp, ce n'est pas avantageux car on perd le dimensionnement; sauf à faire une floppée de bmps.

Pour éliminer la grille, il faut ouvrir le fichier plus un autre, et pendant l'analyse transférer les octets de l'un dans l'autre avec la condition: "si couleur = grille alors couleur = fond"
Si mes projections sont bonnes ça doit se faire en: +/- 300ms (mais/et au prix d'une bonne prise de tête)
Citation:
tu connais déjà la couleur de grille à rechercher et remplacer dans le fichier

C'est un bon début.
Citation:
plus normal que le backcolor devienne "coln$" et plus "black"

Houla, ça fait un moment que c'est "coln$" tu es en retard de quelques versions.
Le problème, je l'ai creusé dans tous les sens il ne veut pas me prendre en compte le changement de colg$ qui pourtant change bien dans la mainwin. C'est in-comp-ré-hen-sible
____________________
Roro

   
Le 26/11/2020 à 18h03

Libertynaute Actif

Groupe: Membre

Inscrit le: 10/10/2017
Messages: 121
Hello Roland,
Pour cause d’imprévu, je ne pourrais pas voir ça aujourd’hui.
Mais j’ai hâte d’être demain après-midi pour découvrir cette version.
A+
____________________
Castel

   
Le 26/11/2020 à 18h58

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2480
@ Cristoff:
Suite du: 26/11/2020 à 18h00
Concernant les segments, j'ai été voir ce prog de Cassiope à base de segments ( http://libertybasic.fr/forum/topic-496+dr-nim.php ); et bien il n'y a pas un seul "delsegment",et pour les effacer il les recouvre de noir !!!
Concluse: "segment" is no good.
____________________
Roro

   
Le 26/11/2020 à 20h15

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 741
Citation:
tu es en retard de quelques versions.
Le problème, je l'ai creusé dans tous les sens il ne veut pas me prendre en compte le changement de colg$ qui pourtant change bien dans la mainwin. C'est in-comp-ré-hen-sible

C'est peut-être que tu as lu trop rapidement : la couleur de la grille en traits de 5 pixels de large est-elle toujours la même quelque soit ton réglage de contraste ? ;)

J'ai travaillé sur ton avant-dernier fichier, le dernier en date étant celui d'aujourd'hui à 16h13.

Pour illustrer ma réponse de tout à l'heure, je me suis permis de modifier la section que j'affiche ci-dessous, qui permet d'afficher du gris plus clair sur fond blanc et plus foncé sur fond noir. La modif tient dans les sept premières lignes.

La variable "co" n'est pas initialisée, ce qui fait que la première fois qu'on clique sur menu "Invert -> faire", l'écran est blanc mais n'affiche pas de grille, et il faut aller dans le menu "contraste", mais pour les clics suivants, il y a bien différence de gris.

J'ai laissé la grille avec son épaisseur de 5 pixels pour qu'on voit bien le changement d'intensité de teinte, mais le principe est là, et il n'y a plus qu'à expérimenter avec un trait de grille à 1 pixels pour retenir les couleurs qui correspondent "optiquement" aux pourcentage de contraste qu'on attend.

Voici la modif :
Code VB :
 
  [100] ic=100 : goto [ret]: wait   ':colg$="100 100 100" 'ic=intensité couleur
  [80] ic=80 : goto [ret]: wait     ':colg$="80 80 80"
  [60] ic=60 : goto [ret]: wait     ':colg$="60 60 60":
  [40] ic=40 : goto [ret]: wait     ':colg$="40 40 40"
  [grid] '-------------------------------GRID-----------------------------
    if co=1 then colg$=255-ic;" ";255-ic;" ";255-ic 'sur fond blanc
    if co=2 then colg$=ic;" ";ic;" ";ic             'sur fond noir

    #w.m, "size 5"
    #w.m, "color ";" ";colg$: #w.m, "backcolor ";coln$'black"
   '#w.m, "color ";" ";colb$: #w.m, "backcolor ";" ";coln$
    xx=87: yy=0
    for x=1 to mapWidth
      #w.m, "place ";"0";" ";yy: #w.m, "line ";"0";" ";yy;" ";mapWidth;" ";yy
      yy=yy+dc
    next x
    for y=1 to mapHeight
      #w.m, "place ";xx;" ";"0": #w.m, "line ";xx;" ";"0";" ";xx;" ";mapHeight
      xx=xx+dc
    next y
    #w.m, "flush"
    return
 


Citation:
Concluse: "segment" is no good.

Possible, je ne maîtrise pas encore les segments... Aujourd'hui je comprend un peu mieux comment ça marche, mais il faudrait que je me plonge sérieusement dans leur étude. Je pense que Cassiope n'avait pas envie de se prendre la tête. Il me semble bien que si on veut être "carré" dans sa programmation il faut les effacer avant de partir, pour libérer l'espace qu'ils occupent en mémoire.

Je te laisse les clefs de la boutique, je reviens demain, comme Castel. (bonjour Castel !)

Totoff.
____________________
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 27/11/2020 à 01h00

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2480
Citation:
en traits de 5 pixels de large

Non mais moi je veux que ça marche avec 1 pixel; et je voudrait bien savoir ce qui cloche dans le mien code, qui a pourtant été pétri à la main et avec amour.

Je testerai tes modifs demain
J'ai mis co à 1 c'était un oubli.

Bon, en attendant, mise à jour du: 26/11/2020 à 20h15 (sans tes modifs)
Mais qui va plaire à Castel pour tirer des traits droits.
- Ajout d'une option pour les liaisons
Si: Clic --- Clic --> tracé libre.
Si : Clic - a - Clic --> contrainte à la verticalité
Si: Clic - w - Clic --> contrainte à l'horizontalité

Lien:
organigramme.zip
____________________
Roro

   
Le 27/11/2020 à 11h03

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2480
Suite du: 27/11/2020 à 01h00
Tes modifs ne sont pas convaincantes au fonctionnement.
J'ai re-modifié et ça marche un peu mieux:

Avant,: On ne pouvait pas régler le contraste après êtres passé du noir au blanc, il fallait d'abord régler au noir puis inverser.
Maintenant: On peut régler le contraste après inversion dans les deux sens; mais le contraste n'est pas conservé à l'inversion.
je laisse comme ça.
La prise de coordonnées n'est plus en pixels mais en N° de case.
____________________
Roro

   
Le 27/11/2020 à 18h09

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 741
Citation:
Non mais moi je veux que ça marche avec 1 pixel; et je voudrait bien savoir ce qui cloche dans le mien code, qui a pourtant été pétri à la main et avec amour.
j'étais en train de penser qu'il n'y a décidément pas plus aveugle que celui qui ne veut pas voir, et que, quand même... Il exagère ! Et blablabli ! Et blablabla ! Mais quel farceur et j'ai failli marcher ! ;) Ta dernière modif me semble plus élégante, mais ton système d'avant fonctionnait aussi, fallait juste revoir les valeurs pour un affichage sur fond clair...

Citation:
Tes modifs ne sont pas convaincantes au fonctionnement.
Normal, c'est de la recherche fondamentale ;)
____________________
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 27/11/2020 à 19h04

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2480
Citation:
fallait juste revoir les valeurs

Je n'ai pas changé les valeurs, j'ai changé la logique
Citation:
ton système d'avant fonctionnait aussi

Le but ultime est inatteignable, il y a une impossibilité "logique" avec Inversion <->-Contraste.

J'ai jeté un oeil sur ton "shot_em"; mais il est trop touffu pour moi, alors j'ai intégré un backgroundxy à un exemple de Jb qui contient un sprite mobile,sans difficulté et ça marche.

Je pense qu'avec ton "shot_em tu te noie dans la complexité (que tu a toi-même engendrée).
Il faut faire au plus simple.Quel intérêt y a t-il à faire ça-->: " timer 100, [updateDisplay]"
Plutôt qu'un bon "gosub [pause]", tellement plus convivial ?

L'organigramme, j'aurais pu le truffer de subs et de fonctions, il aurait été plus court, mais beaucoup plus difficile à" suivre", et bonjour l'angoisse pour débusquer les bugs
Simplicité maximum pour emmerdements minimums, telle est ma devise. :)
____________________
Roro

   
Le 28/11/2020 à 00h21

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 741
Je ne me suis pas concentré sur ton code, donc effectivement je ne sais pas s'il y avait un bug dedans, mais j'ai juste eu l'idée d'élargir tes lignes pour apprécier d'éventuelles nuances, que j'ai trouvé, dans ton noir qui semblait tant statique.

Pour la complexité du shoot'them up, on en discutera dans la discussion adéquate. Bonne nouvelle : l'animation du fond et des sprites fonctionnent comme attendu, et c'est ton exemple qui fait défiler mon décor, qui m'a permis d'avancer.

(édité pour rectification du lien qui ne pointait pas sur la bonne discussion)



Edité par Christophe Le 29/11/2020 à 13h21
____________________
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 29/11/2020 à 01h06

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2480
Les news du Saturday night:
- Ajout dans le dossier d'un "Effaceur de grille" (trèèèèèès long: 3 ou 4 heures).
- Modif de la procédure de sauvegarde pour intégrer la couleur du fond et celle de la grille dans le nom du fichier si la grille est présente, si pas de grille => nom sec.
Format du nom: "Nom_prénom black 80.bmp"
(pour que l'Effaceur sache ce qu'il a traiter et avec quoi)
Au départ le bazar s'emmèlait les pinceaux, j'ai ajouté une "pause 0" qui a régulé le truc,mais ça laissait des pointillés par ci par là; j'ai mis la pause à 3ms, plus de pointillés; mais le bazar est sorti de la boucle au milieu de l'image. le blème c'est que les millisecondes sont multipliées par largeur * hauteur.
Je vais tenter 4 puis 5...ect; mais bon,ça marche et c'est plus ou moins sécurisé contre les manips illégales.

Lien: organigramme.zip
____________________
Roro

   
Le 29/11/2020 à 10h29

Libertynaute Actif

Groupe: Membre

Inscrit le: 10/10/2017
Messages: 121
Salut Roland, salut Christophe,
Très nette amélioration de l'application.
j'apprécie les contrastes, qui sont d'un bel effet, surtout le 60 (à mon goût)
Après un temps d'adaptation (mémorisation des combinaisons avec les lettres a et w, bien sur il y a l'help, mais vaut mieux éviter les aller retour.), on arrive à concevoir un organigramme assez rapidement.
je n'ai pas encore essayé d'effacer la grille, vu le temps nécessaire.
J'ai adapté ta méthode de déplacement centré par rapport à la cellule au programme StitchEditor,
et ça fonctionne efficacement.
Cette même méthode a permis de remplir ou de copier, avec un symbole choisi, rapidement.
Super. Bon dimanche.
____________________
Castel

   
Le 30/11/2020 à 13h49

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2480
Mise à jour de l'Effaceur de grille
Détail là-->: http://libertybasic.fr/forum/topic-598+function-is-bad.php

EDIT: Ultime mise à jour
- Changement de nom: "Effaceur de grille" devient-->: ""Effaceur de grille (image)"
- Ajout dans le dossier d'un: "Effaceur de grille (octets)"; avec l'aide de ROD du forum amméricain
Temps de traitement: +/- 35 secondes

Lien: organigramme.zip
____________________
Roro

   
Le 30/11/2020 à 23h03

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 741
Je te proposerais, si tu te lances dans une nouvelle version, de gérer l'effacement de la grille avant la conversion en bitmap. Je suis sur qu'il y a moyen de le faire, et tu y gagnera en temps de traitement, à mon avis...
____________________
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 01/12/2020 à 01h18

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2480
Citation:
tu y gagnera en temps de traitement, à mon avis...

Tu m'étonnerais, car la méthode ROD paraît être une limite;il transfère directement le header et traite dans le fichier, comment faire mieux ?

EDIT: Mini mise à jour:
- Ajout d'un petit compteur latéral servant de "Progress Bar"
Comme ça on sait à quoi s'attendre de l'attente.
____________________
Roro

   
Le 07/12/2020 à 06h19

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 741
Salut Roland,
Citation:
comment faire mieux ?
Traiter en amont, avant de mettre dans le fichier...

Bonne idée, le progress bar
____________________
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 07/12/2020 à 11h54

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2480
Citation:
Traiter en amont, avant de mettre dans le fichier.

Il y avait un moyen en ne flushant pas la grille et en mettant les objets en segments.
Je doute qu'on puisse traiter en amont par un autre moyen
Mais bon, la dernière version de l'effaceur traite en 35 secondes, c'est acceptable.
____________________
Roro

   
Général » Organigramme Ou Ordinogramme  

 |  |

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