Forum Liberty Basic France

Discussion Générale » Quelques propos..... Sur: Les exemples
Le 27/03/2012 à 18h55

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Reprise du message précédent

Dans ton jeu, les billes ne peuvent pas remonter une colonne n'est-ce pas ?

Quel est le seul moment qui serait approprié pour controler qu'il y a une bille tout en haut d'une colonne ?

Logiquement il me semble que ce serait quand le joueur l'y dépose !?

Donc ça pourrait se détecter quand la colonne choisie est remplie à une bille près...!


Roland:
LigneSeuil +1, ou NbYmax - (dc*4) le probleme c'est d'arriver à pecher la position de la bille à son arrivée avec autre chose que "y" qui est remis à "0" en fin de boucle, et qui pendant la descente, passe par la valeur dont on veut se servir pour dire "stop".


NbYmax - (dc*4) c'est la 4ième ligne en partant du bas. Pourquoi tu veux utiliser celle-ci ? qu'a-t-elle de particulier ?

'y' est remis à "0" dans ton code. Pas dans le mien !!! C'est bien 'y' et seulement 'y' qui peut être utilisé et comparé à LigneSeuil+1 pour savoir s'il y a une bille en dessous ou pas !


Dis moi si la greffe prend :s



Edité par cassiope01 Le 27/03/2012 à 19h02
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 27/03/2012 à 19h41

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2204
Houla ! c'est copieux.
Merci de me remettre la tete à l'endroit avec "NbYmax"
Tu me dis que y n'est pas remis à 0 en fin de boucle (c'est à dire quand le prog quitte la boucle), voila qui m'étonne.
ce qui est sur c'est que y passe par la valeur à tester pendant la descente.
Laisse moi réfléchir, j'aime bien ce genre de problème. :miam
____________________
Roro

   
Le 27/03/2012 à 20h20

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Roland:
ce qui est sur c'est que y passe par la valeur à tester pendant la descente.


pas nécessairement, si tu détectes le contenu de la cellule en question (LigneSeuil+1) comme 'occupé' : plus besoin d'entrer dans la boucle, puisqu'aucune bille ne peut descendre dans cette colonne !!!



Edité par cassiope01 Le 27/03/2012 à 20h22
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 27/03/2012 à 20h56

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2204
j'ai essayé le test d'occupation, je me suis un peu emmelé les pinceaux.
J'ai mis ça à l'entrée de: [controle]
if Yfin = LigneSeuil+1 then
goto [quit]
end if
Ca marche !!....("Yfin = y", aprés: "Ystop =y ", pour pas mettre le souk, je présume que cet "Ystop", tu ne l'a pas mis pour faire joli ! ) Yfin en global pour sur.

Le goto [quit] est un peu violent, mais c'est provisooaaaaaaare. :)



Edité par Roland Le 27/03/2012 à 23h35
____________________
Roro

   
Le 28/03/2012 à 07h03

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2204
Je vois que tu a mis des bx et des bX.
Nonobstant le fait que le tutoriel dit que les noms de variables sont sensibles à la casse, et que le prog n'a pas l'air de s'en émouvoir. :(
Il se trouve que sans le vouloir, j'ai fait comme toi.
Le problème, c'est que la fenetre du bas (ou s'affichent les conneries), commençait à me bouffer la fenetre du haut. :gre
J'ai donc mis tout les "x" de "bx", (by) en majuscules. (dans les parenthèses ça fait bizarre, mais bon....) :s
Je suis sur le test:normale/speciale, et la sub: "diag",( le test fonctionne, mais la sub:::NIET !!)
Je préfère ne pas te montrer mes élucubrations.

PS: ne t'use pas trop les méninges sur "Wykersham" ( le perdant devait manger ses pierres, je présume ?) ;)
re PS: il semble que seule la première lettre des variables est sensible à la casse (avec conséquences)



Edité par Roland Le 28/03/2012 à 07h26
____________________
Roro

   
Le 28/03/2012 à 07h42

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2204
Je sais qu'il est tot, mais là je crois réver. Voilà que je découvre des variables à génération spontanée:
Dx, ax, cx, cy, et il doit y'en avoir d'autres cachées dans les fourrés.
Qu'est-ce que c'est que ça que c'est ! ?! :|
____________________
Roro

   
Le 28/03/2012 à 08h38

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Où ça ! où ça ! :| :| :|
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 28/03/2012 à 11h48

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
J'ai pris une peu de temps pour repenser la gestion de LigneSeuil plus proprement.

Jeu Roland.zip

L'option du nombre de lignes de billes affichées en haut (LigneSeuil) est maintenant fonctionnelle je pense. Tu peux même n'en mettre qu'une seule si tu veux...!

La fin du jeu :

A mon avis, dans la mesure où c'est le joueur qui choisit la colonne où il veut mettre une bille, et qu'il ne peut pas la mettre dans une colonne déjà remplie bien sûr, il me semble logique que la fin du jeu est quand le joueur ne peut plus choisir de colonne !!!
Donc ce n'est pas 1 mais toutes les colonnes qu'il faut surveiller non ?!



Edité par cassiope01 Le 28/03/2012 à 12h43
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 28/03/2012 à 13h00

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2204
Les colonnes remplies, ça se discute, mais tu a peut etre raison. ;)
L'option du nombre de lignes d'en haut ? Ne me dis pas que tu a fait une option pour afficher plus de deux lignes !!! (c'était donc ça le soucis ?) dis donc, tu m'entraine au large ! ...Je n'ai pas encore de bouée.

Les variables à génération spontanées: :hum
En admettant que quand tu pose: "call ceçi-celà cx, cy" celà soit une déclaration de varables, je veux bien.
Mais quand je cherche à quel endroit la variable a été initialisée, et qu'il n'y a pas d'endroit, je fais: "Gloups ?"

Et quand je vois, que pas beaucoup plus loin, tu te sers de ces variables, pire que d'un bulldozer, d'un concasseur, et d'un chalumeau....Réunis. Là, je fais: "Glou...Glou....Glou.....Glou......
Bon il faut que je vois les misères que je vais subir, à décripter la """petite""""modification. :s
____________________
Roro

   
Le 28/03/2012 à 13h35

Libertynaute

Groupe: Membre

Inscrit le: 18/10/2011
Messages: 73
Bonjour,

Cette longue suite de messages ne ressemble pas à un échange de points de vue serein, comme on pourrait l'attendre sur un forum, mais à du harcèlement.

Qu'en pense l'Admin' ?

Claude
____________________
Omnium populorum gallicorum bravissimi sunt Belgae.

Web    
Le 28/03/2012 à 13h39

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Roland:
L'option du nombre de lignes d'en haut ? Ne me dis pas que tu a fait une option pour afficher plus de deux lignes !!! (c'était donc ça le soucis ?) dis donc, tu m'entraine au large ! ...Je n'ai pas encore de bouée.

Oui. Je t'avais même expliqué que ça pouvait constituer (avec le nombre de billes minimum pour constituer un alignement) le niveau du jeu.

Roland:
Les variables à génération spontanées: :hum
En admettant que quand tu pose: "call ceçi-celà cx, cy" celà soit une déclaration de varables, je veux bien.
Mais quand je cherche à quel endroit la variable a été initialisée, et qu'il n'y a pas d'endroit, je fais: "Gloups ?"


C'est simplement des arguments (ou paramètres, comme tu veux) donnés à la SUB.
Ce dont Black Templar te parlais.
Quand tu crées des SUBs ou des Function(), tu peux (ou pas) leur transmettre des arguments. C'est simplement plus clair que d'utiliser des variables GLOBALES (il commence a y avoir beaucoup ;) )

En JB, une variable n'a pas besoin d'être déclarée, sauf si elle est prévue pour être GLOBALE ou une varaible tableau de plus de 10 éléments.



@+
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 28/03/2012 à 14h14

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2204
Et bien, moi qui comptais faire des essais en "double aveugle" sur ces surprenants arguments, je reporte...
Il va me falloir un moment pour comprendre ce que tu a trafiqué avec la "LigneSeuil". :miam :lu
Et évidemment je mets en "stand-by" la sub "diagonale", dont je tenais un bourgeon.

Ta façon d'avoir réglé le "soucis" ouvre de sacrés perspectives, mais qui entraine le besoin d'ajouter des handicaps.

Le bébé fait des poussées de croissances incontrolables. Les médecins sont sur place, les témoins ont pris la fuite. :heink



Edité par Roland Le 28/03/2012 à 14h19
____________________
Roro

   
Le 29/03/2012 à 12h51

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2204
Par contre, j'ai un soucis
Je vais dans "moveball", en haut, je vois:"Dx" "Ax", colonne départ colonne arrivée
à la ligne juste au dessous, je pose xx=Ax (avec "xx" en global, pour etre sur d'arracher "Ax" à la sub)
je prend "Yfin" (=Ystop=y) (global aussi), qui marche bien, et à l'entrée de: "controle", je pose:

ee = 13 (pour assurer le coup et en hommage aux rugbymans tombés pour la patrie) :p
e = cell(xx,Yfin)
if e = ee then
goto [quit]
end if

quelle erreur je commets ? :(
je passe sous silence les autres tentatives, comme e=cell(bx,by)
(heureusement qu'on peut régler les dimensions du tableau, et maintenant, avec les trois lignes, ça aide pour faire les essais. Super ! le N° De bille dans les infos Super aussi !) :top



Edité par Roland Le 29/03/2012 à 18h05
____________________
Roro

   
Le 29/03/2012 à 18h19

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Le pb c'est que depuis quelques messages, je ne comprend pas du tout ce que tu veux faire.

La tendance chez les débutants c'est d'utiliser beaucoup beaucoup de variables...
Je pense plutôt qu'il vaut mieux utiliser celles qui existent déjà (pour la même chose).
Par exemple : à quoi te sert 'Yfin' alors qu'il y a déjà 'Ystop' qui contient déjà la même information ?
ou bien :
ee = 13
e = cell(xx,Yfin)
if e = ee then
...
pourquoi pas if cell(xx,Yfin) = 13 then ?


Du coup, tu rends tout, trop compliqué.


Méfie toi des 'goto', ça donne de la programmation spaghetti ;)


Si tu lances un goto [label] dans une SUB, et que le [label] ne se trouve pas dans la SUB, ça ne marchera pas.
'goto' ne permet pas de revenir.
'gosub' vers un [label] qui se termine par 'return' le permet.



Edité par cassiope01 Le 29/03/2012 à 18h29
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 29/03/2012 à 19h03

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2204
Toutes ces variables sont provisoires et ne sont là que pour éviter de toucher à des variables existantes, et de possiblement créer des perturbations.
Du goto, je reviens avec un autre goto.
la programation "spagheti" ? personnellement, je préfère un prog, ou chaque action est isolée dans un bloc précis avec une entrée et des sorties, plutot qu'un prog d'un seul tenant ou rien ne peut etre isolé;
Pour les contraintes ses subs, c'est bon, j'ai bien étudiée l'aide.
____________________
Roro

   
Le 29/03/2012 à 19h17

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Roland:
Du goto, je reviens avec un autre goto.

C'est exactement ça la programmation spaghetti ;)




____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 29/03/2012 à 19h24

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2204
Si j'en suis arrivé à aller chercher Ax de "moveball" avec xx, c'est que j'avais essayé déjà beaucoup d'autres choses. ;)
Et bien sur que j'ai commencé par: "if cell(bx,by)=13. then
J'ai extrait la valeur du tableau avec une variable, comme tu l'a fait avec: "c=cell(....
je sais que peu de langages font des comparaisons de tableau à tableau.
ce que je ne comprend pas, c'est que le test de fin qui est au meme endroit avec un "goto" fonctionne.
Que le: c=cell(bx,by) que tu utilise. ne fonctionne pas avec mon test.
Le but premier de tout ce mic mac, étaitd'obtenir un branchement en fonction de la nature (valeur) de la dernière bille posée.
mais crois moi, je lui ferai lacher le morceau, il en faudra plus pour me faire peur, crogneugneu !



Edité par Roland Le 29/03/2012 à 19h29
____________________
Roro

   
Le 29/03/2012 à 19h42

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2204
ça y est, ça marche..! Le débuggeur est mon ami ! :)
Les sub's c'est bon pour les chefs cuisiniers comme toi, moi j'en suis encore aux spaghetis.
Mais si en face de chaque label tu mets un 'com disant d'ou on viens, pourquoi on est là, ce qui va se passer, et comment on va s'en sortir. C'est déjà mieux que des spaghetis à l'eau.



Edité par Roland Le 29/03/2012 à 20h33
____________________
Roro

   
Le 29/03/2012 à 20h40

Administrateur

Groupe: Administrateur

Inscrit le: 25/09/2010
Messages: 361
M'avez toujours pas expliqué où était votre problème exactement.
C'est quoi le but du ton jeu Roland ? Ca marche avec des billes comme j'ai pu constater :p

Roland, j'ai rigolé quand j'ai lut
Citation:
"Liberty" (Just B) sont les éditeurs les plus stables de ceux que j'ai testés.

Je sais pas si tu veux parler de l'éditeur lui même, qui gère comme un pied l'indentation ou qui plante lorsque tu as le malheur de mettre un ² (faute de frappe), ou du compilateur. Le compilateur, c'est le langage LB (JB) en lui même. Mes arguments ne concernent que moi, mais j'ai eu des problèmes avec de simple boucles FOR qui avaient décidées de ne pas aller jusqu’à 4 mais 5 (de gros problème avec le parcours de tableaux par exemple).


J'ai bien envie de t'aider dans ton code par contre. Parce que si je ne code plus en LB, je code toujours frénétiquement sous plain d'autres langages (PHP => HTML/CSS/JS, C/C++, JAVA, PureBasic, un peu de Python, des notions d'ASM ...). Donc je ne me sens pas noob :p

Voila

Cordialement
Jagang

PS : Désolé pour les temps de réponses, j'ai pas accès souvent à l'Internet et j'ai toujours deux milles choses à faire à chaque fois :p
____________________
J'ai toujours raison ! Sauf quand j'ai tort ...

Web    
Le 29/03/2012 à 21h23

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2204
Salut Jagang,
C'est sur que si tu lui fait faire "les pieds aux murs" à l'éditeur tu atteind forcément des limites. :d
j'espère que tu ne fait pas pareil avec ta bagnole. ;)
Les tableaux ,c'est pour les artistes :top
Python: miam miam ! Java:ouillouillouille !! :heink
Quand une for/next me fait des soucis, je reviens aux vielles méthodes: n=0...Blablabla n=n+1. les boucles c'est bon pour attacher les chevaux, ou pour les orfèvres.
Ne t'inquiette pas trop pour ton peu de présence sur le forum, on est que deux, Cassiope et moi, mais c'est chaud. On a mème réussi à réveiller Claude qui s'était assoupi derriere un tas de matrices. :lol
Il y a ceux qui ne postent pas beaucoup mais qui gardent un oeil sur la marmite comme Atomose. ;)
Allez j'y retourne, aprés avoir reussi à greffer des mamelles à une chaise, je tente l'épluchage de carottes en diagonale. :miam
PS: (Pour les Suspicieux) Je fume du tabac sans additif ;)



Edité par Roland Le 29/03/2012 à 21h26
____________________
Roro

   
Le 30/03/2012 à 10h01

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2204
J'ai tenté le: "1*-1" magique sans résultat, j'ai déplacé les limites en vain. :heink
En plus, ce chien d'éditeur plie bagages sans dire "au revoir", c'est encore plus raide que mon "goto quit".
J'ai vu que le N° des colonnes commençant par "0", n'arrangeait pas l'affaire (fonction; "Grrrrr" de selectball)
Je vais de ce pas, voir si un "Liberty's" anglais, dont tu vante l'agilité, n'aurait pas taté du problème. :p



Edité par Roland Le 30/03/2012 à 12h43
____________________
Roro

   
Discussion Générale » Quelques propos..... Sur: Les exemples  

 |  |

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