Forum Liberty Basic France
• Index
Reprise du message précédent
Hey ! Hola ! Du Donjon ! ..Qui c'est qui joue avec mon avatar ??? ...Et qui l'a mis en " EXPERT "..
Expert en Bug , plantages et formatage d'urgence tu veux dire !
Edité par Roland Le 15/07/2012 à 22h10
Hey ! Hola ! Du Donjon ! ..Qui c'est qui joue avec mon avatar ??? ...Et qui l'a mis en " EXPERT "..

Expert en Bug , plantages et formatage d'urgence tu veux dire !

Edité par Roland Le 15/07/2012 à 22h10
____________________
Roro
Roro
T'es juste étoilé à cause du nombre de messages, pas de leur contenu
Pour en revenir aux fall horizontal comme tu dis, il risque bien d'y avoir pas mal de blocages si on fait ça !
Cas de "2110111011101112" par exemple: ligne bloquée, les boutons devront être "!disable".
A voir si c'est jouable !?
@+


Pour en revenir aux fall horizontal comme tu dis, il risque bien d'y avoir pas mal de blocages si on fait ça !
Cas de "2110111011101112" par exemple: ligne bloquée, les boutons devront être "!disable".
A voir si c'est jouable !?
@+
____________________
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."
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
Je me doutait que ça n'allait pas etre facile, c'est pour ça que je retardais l'annonce.
Je me doute que ce n'est pas la bonne méthode, mais voila ce que je fais:
Aprés avoir fait un niveau spécial pour avoir une configuration favorable aux essais,
j'ai fait un tableau :bi( ), dans lequel je stocke l'état des choses avant le déplacement,
assez vite j'ai eu besoin de l'état de la case précédente, j'ai donc fait un tableau: prebi, sur le principe du: for x=ncx to 2 step-1.
J'étais arrivé à ce que les barres poussent sans tirer, mais quand la bille est enfermée, elle disparait lors du déplacement, n'ayant pas un pouvoir d'abstraction surnaturel.
J'essaie de comprendre pourquoi je ne comprend pas.
Mais comme le disait Coluche, c'est avec son propre cerveau qu'on juge de sa capacité...
Je ne suis pas tiré d'affaire.
Quand au con de robot qui me mets des étoiles, y'a du soucis à se faire pour si un jour ils prennent le pouvoir. (.....si ce n'est déjà fait
)......à+

Je me doute que ce n'est pas la bonne méthode, mais voila ce que je fais:
Aprés avoir fait un niveau spécial pour avoir une configuration favorable aux essais,
j'ai fait un tableau :bi( ), dans lequel je stocke l'état des choses avant le déplacement,
assez vite j'ai eu besoin de l'état de la case précédente, j'ai donc fait un tableau: prebi, sur le principe du: for x=ncx to 2 step-1.
J'étais arrivé à ce que les barres poussent sans tirer, mais quand la bille est enfermée, elle disparait lors du déplacement, n'ayant pas un pouvoir d'abstraction surnaturel.

Mais comme le disait Coluche, c'est avec son propre cerveau qu'on juge de sa capacité...
Je ne suis pas tiré d'affaire.
Quand au con de robot qui me mets des étoiles, y'a du soucis à se faire pour si un jour ils prennent le pouvoir. (.....si ce n'est déjà fait

____________________
Roro
Roro
Avec le cerveau neuf du matin, je vois mon (mes) erreurs, pas besoin de tableaux, juste une lecture à x-2, avec un bon petit test avant et report si dépassement.
Je suis vraiment curieux de voir par quel bout tu attrape la chose....
Je suis vraiment curieux de voir par quel bout tu attrape la chose....
____________________
Roro
Roro
Par ici, on bute sur: 11102211 et: 11122111 qui impose la lecture de x-3, et si on pousse le bouchon, la connaissance de la totalité de la ligne.
Je crois que le problème n'est pas solvable sans l'emploi de l'artillerie lourde.
Je crois que le problème n'est pas solvable sans l'emploi de l'artillerie lourde.
____________________
Roro
Roro
Booof ! c'est pas simple en effet, mais y a toujours moyen de moyéner avec le minimum

____________________
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."
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
Je ne jette pas l'éponge, elle sert maintenant à ramasser au sol mes neurones éparpillés. 
Ne t'avance pas trop, je crois qu'on a mis le doigt sur un truc hyper difficile.
Je pense qu'on ne peut pas y arriver par une lecture séquentielle. Il doit falloir analyser la ligne complète pour avoir les distances d'espace libre, et travailler avec.
En tous cas, je suis sur que de mon coté, je n'ai pas la bonne méthode, car elle m'entraine vers: un cas=un test.
Edité par Roland Le 17/07/2012 à 02h20

Ne t'avance pas trop, je crois qu'on a mis le doigt sur un truc hyper difficile.
Je pense qu'on ne peut pas y arriver par une lecture séquentielle. Il doit falloir analyser la ligne complète pour avoir les distances d'espace libre, et travailler avec.
En tous cas, je suis sur que de mon coté, je n'ai pas la bonne méthode, car elle m'entraine vers: un cas=un test.

Edité par Roland Le 17/07/2012 à 02h20
____________________
Roro
Roro
Le pb est légèrement ardu j'en conviens 
Au point même que je le soumettrait bien à nos amis anglophones
Je pense explorer aussi une autre piste : déplacer le cases par lots avec getbmp et drawbmp...
A suivre...
De plus, en y réfléchissant bien, le jeu peut très bien être perdu par blocage... mais ça pimente le jeu
ex: avant dernière ligne = "2111011011110012" et pas de trou en dessous accessible par un déplacement en 1 coup de la ligne de stockage (la dernière en bas), et pas d'autre ligne déplaçable au dessus...
@+
Edité par cassiope01 Le 17/07/2012 à 10h10

Au point même que je le soumettrait bien à nos amis anglophones

Je pense explorer aussi une autre piste : déplacer le cases par lots avec getbmp et drawbmp...
A suivre...
De plus, en y réfléchissant bien, le jeu peut très bien être perdu par blocage... mais ça pimente le jeu

ex: avant dernière ligne = "2111011011110012" et pas de trou en dessous accessible par un déplacement en 1 coup de la ligne de stockage (la dernière en bas), et pas d'autre ligne déplaçable au dessus...
@+
Edité par cassiope01 Le 17/07/2012 à 10h10
____________________
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."
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
L'impossibilité de terminer, pour cause de pas avoir intuité les derniers coups, c'est déjà le cas, je m'y suis confronté.
Et j'ai fait une drole de tete, quand sans y penser, j'ai fait une ligne sans trous pour le niveau spécial-essais.
Je crois tenir une piste:
-Stockage de la ligne avant déplacement + stockage valeur/numéro d'ordre.
-Déplacement complet
- re-Scrutation en avançant ( de gauche à droite pour déplacement vers la droite)
-Si case vide>on avance. Si case pleine>on pousse
-Si case vide puis bille>on recule
-Si bille puis bille>Comparaison: bille a bougé<>bille n'a pas bougé>Si bille a bougé>on pousse
Méééhh...je bute sur la fin du trou .
Demander aux anglais, YES! Mais pour énnoncer le problème
ou alors, il faut leur envoyer le bébé avec la courbe de poids et la tétine
PS: je ne sais pas si il y a eu du shimy.dans les versions , mais le clic sur la croix de fermeture pendant la fractale déclenche une erreur ( chez moi) ...j'ai la dernière " sans trous".
Edité par Roland Le 17/07/2012 à 11h46
Et j'ai fait une drole de tete, quand sans y penser, j'ai fait une ligne sans trous pour le niveau spécial-essais.
Je crois tenir une piste:
-Stockage de la ligne avant déplacement + stockage valeur/numéro d'ordre.
-Déplacement complet
- re-Scrutation en avançant ( de gauche à droite pour déplacement vers la droite)
-Si case vide>on avance. Si case pleine>on pousse
-Si case vide puis bille>on recule
-Si bille puis bille>Comparaison: bille a bougé<>bille n'a pas bougé>Si bille a bougé>on pousse
Méééhh...je bute sur la fin du trou .
Demander aux anglais, YES! Mais pour énnoncer le problème

PS: je ne sais pas si il y a eu du shimy.dans les versions , mais le clic sur la croix de fermeture pendant la fractale déclenche une erreur ( chez moi) ...j'ai la dernière " sans trous".
Edité par Roland Le 17/07/2012 à 11h46
____________________
Roro
Roro
Roland:
Ben dans ce cas 1 seule solution : pouvoir faire tomber une des billes en dessous...
Roland:
Trop complexe à mes yeux, mais n'hésite pas, tu vas progresser avec ce genre de défi
Roland:
C'est déjà fait...
Roland:
Tu n'as pas la dernière.
Tu peux prendre celle que j'ai envoyée aux anglophones.
@+
Edité par cassiope01 Le 17/07/2012 à 12h39
Et j'ai fait une drole de tete, quand sans y penser, j'ai fait une ligne sans trous pour le niveau spécial-essais.
Ben dans ce cas 1 seule solution : pouvoir faire tomber une des billes en dessous...
Roland:
Je crois tenir une piste:
-Stockage de la ligne avant déplacement + stockage valeur/numéro d'ordre.
-Déplacement complet
- re-Scrutation en avançant ( de gauche à droite pour déplacement vers la droite)
-Si case vide>on avance. Si case pleine>on pousse
-Si case vide puis bille>on recule
-Si bille puis bille>Comparaison: bille a bougé<>bille n'a pas bougé>Si bille a bougé>on pousse
Méééhh...je bute sur la fin du trou .
-Stockage de la ligne avant déplacement + stockage valeur/numéro d'ordre.
-Déplacement complet
- re-Scrutation en avançant ( de gauche à droite pour déplacement vers la droite)
-Si case vide>on avance. Si case pleine>on pousse
-Si case vide puis bille>on recule
-Si bille puis bille>Comparaison: bille a bougé<>bille n'a pas bougé>Si bille a bougé>on pousse
Méééhh...je bute sur la fin du trou .
Trop complexe à mes yeux, mais n'hésite pas, tu vas progresser avec ce genre de défi

Roland:
Demander aux anglais, YES! Mais pour énnoncer le problème
ou alors, il faut leur envoyer le bébé avec la courbe de poids et la tétine

C'est déjà fait...
Roland:
PS: je ne sais pas si il y a eu du shimy.dans les versions , mais le clic sur la croix de fermeture pendant la fractale déclenche une erreur ( chez moi) ...j'ai la dernière " sans trous".
Tu n'as pas la dernière.
Tu peux prendre celle que j'ai envoyée aux anglophones.
@+
Edité par cassiope01 Le 17/07/2012 à 12h39
____________________
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."
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
Ok, c'est bon. Mais comment ça "not so fun" Il est limite "Addictif" ce jeu, comme il est.
Dommage qu'il n'y ai pas plus de testeurs...Ils te le diraient.........ou pas.
Dommage qu'il n'y ai pas plus de testeurs...Ils te le diraient.........ou pas.

____________________
Roro
Roro
Nouvelle approche: 2 nouveaux tableaux en remplacement des anciens: prebi( ), prepla( ), pla ( )..( virés par la Dir.Gest.Tabl. ) ...à la place:
Un: depm(x,row), qui stocke 1 si case mur a été déplacée
Un: depb(x,row), qui stocke 1 si case bille a été déplacée
l'écriture se fait juste aprés: cell(x,row)=cell(x-1,row)
Les deux tableaux sont vidés avant la boucle
Et en sortie de boucle, re-scrutation et ré-arrangement en fonction des tests et des déplacements.
Qu'en pense-tu ?
Edité par Roland Le 18/07/2012 à 11h20
Un: depm(x,row), qui stocke 1 si case mur a été déplacée
Un: depb(x,row), qui stocke 1 si case bille a été déplacée
l'écriture se fait juste aprés: cell(x,row)=cell(x-1,row)
Les deux tableaux sont vidés avant la boucle
Et en sortie de boucle, re-scrutation et ré-arrangement en fonction des tests et des déplacements.
Qu'en pense-tu ?
Edité par Roland Le 18/07/2012 à 11h20
____________________
Roro
Roro
J'ai une approche toujours la plus simple possible.
1) si c'est autorisé, je décale TOUTES les valeurs de la ligne, pas d'affichage pour le moment.
2) je repasse en revue toute la ligne pour remettre seulement les billes qui se retrouvent avec un espace devant (ou derrière suivant le sens) à leur place initiale.
3) j'affiche le contenu de la ligne.
A suivre.
Edité par cassiope01 Le 18/07/2012 à 12h00
1) si c'est autorisé, je décale TOUTES les valeurs de la ligne, pas d'affichage pour le moment.
2) je repasse en revue toute la ligne pour remettre seulement les billes qui se retrouvent avec un espace devant (ou derrière suivant le sens) à leur place initiale.
3) j'affiche le contenu de la ligne.
A suivre.
Edité par cassiope01 Le 18/07/2012 à 12h00
____________________
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."
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
Ici, le pb, c'est que je tombe invariablement sur un truc du genre: A=non A, et je n'arrive pas à déterminer si c'est moi qui me plante, ou si il y a réellement un os.
Je doute que cette modif rende le jeu plus attrayant, juste moins facile, pour le RND.
D'où tu sort ce mur noir ?!?...Tu veux nous mettre les chocottes...
Je doute que cette modif rende le jeu plus attrayant, juste moins facile, pour le RND.
D'où tu sort ce mur noir ?!?...Tu veux nous mettre les chocottes...

____________________
Roro
Roro
Roland:
????????
D'où tu sort ce mur noir ?!?...Tu veux nous mettre les chocottes... 

????????



____________________
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."
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
J'ai chargé la "Chutes_GG chez l'oncle Sam, et au lancement j'ai eu le mur 5, noir, légèrement gauffré de gris.
A-tu éssayé une partie avec billes et mur de meme nature.?...C'est assez délirant.
A-tu éssayé une partie avec billes et mur de meme nature.?...C'est assez délirant.
____________________
Roro
Roro
Il l'a fait !... tsh73 l'a fait !.... et ça marche !...et quand on voit comment c'est fait, on ne peut dire, que: Chapeau L'artiste ! ... Sont vraiment forts ces anglophonistes.
Du coup je fais un nouveau zip avec des murs et des billes en plus (à choisir dans le dossier), et une petite option supplémentaire ( en haut à droite).
Chutes_GGH.zip
Edité par Roland Le 18/07/2012 à 22h12
Du coup je fais un nouveau zip avec des murs et des billes en plus (à choisir dans le dossier), et une petite option supplémentaire ( en haut à droite).
Chutes_GGH.zip
Edité par Roland Le 18/07/2012 à 22h12
____________________
Roro
Roro
C'est lui qui est le plus près du résultat espéré, et c'est très simple comme d'hab avec tsh73 (il est russe : toujours simple et efficace
), mais il y a quand même un petit bug dans sa sub.
Un effet secondaire : la ligne du bas ne peut plus bouger. Le jeu peut se bloquer encore plus facilement à cause aussi des règles de disable des boutons...
@+

Un effet secondaire : la ligne du bas ne peut plus bouger. Le jeu peut se bloquer encore plus facilement à cause aussi des règles de disable des boutons...
@+
____________________
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."
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
Oui , j'ai remarqué ça...Mais on peut toujours tricher en réactivant le dernier bouton pressé.Dis, pour régler le pb de la croix de fermeture, je ne vois qu'un "scan" ajouté dans la sub "Fractale", c'est ça ?
Et... a-tu déjà employé le: " exit sub " ?
En tous cas, voilà une bien jolie petite affaire. Le jeu ne casse pas des briques, mais le code est une mine par le nombre des thèmes abordés, et par sa clarté....Bravo Cassiope01, et Bravo tsh73.....
Edité par Roland Le 19/07/2012 à 10h43
Et... a-tu déjà employé le: " exit sub " ?
En tous cas, voilà une bien jolie petite affaire. Le jeu ne casse pas des briques, mais le code est une mine par le nombre des thèmes abordés, et par sa clarté....Bravo Cassiope01, et Bravo tsh73.....
Edité par Roland Le 19/07/2012 à 10h43
____________________
Roro
Roro
Je pense avoir réussi...
J'ai fait une exception pour la ligne du bas. Dis moi si ça te convient ?
@+
Code VB :
PS: pour la fermeture par la croix quand y a fractale : j'ai simplement changé [quit] en SUB quit handle$
J'ai fait une exception pour la ligne du bas. Dis moi si ça te convient ?
@+
Code VB :
'http://libertybasic.fr/forum/topic-162-1+code-en-cours-de-defrichage.php 'http://libertybasic.fr/forum/topic-163+chutes.php 'with coolFractal.bas contributed by Rod extract of JB exemples ' with help of tsh73 and NJames : http://justbasic.conforums.com/index.cgi?board=games&action=display&num=1342514807 nomainwin GLOBAL ncx, ncy, dc, mm, bb, midx, midy global ro, di, oldro, oldi, coup, tscore ncx = 16 ' nbr of cells X ncy = 9 ' nbr of cells Y dc = 42 ' size of a cell in pixels MapWidth = (ncx+2)*dc+int(dc/ncx) MapHeight = 378 ' (ncy)*dc+int(dc/ncy) '378 midx=int(MapWidth/2)-80 midy=int(MapHeight/2) WindowWidth = MapWidth + 65 WindowHeight = MapHeight + 75 ' 498 ' 75 UpperLeftX = (DisplayWidth-WindowWidth) / 3 UpperLeftY = (DisplayHeight-WindowHeight) / 2 ' mois$ = "January February March April May June July August September October November December" mois$ = "Janvier Février Mars Avril Mai Juin Juillet Août Septembre Octobre Novembre Décembre" ' french today$ = date$("mm/dd/yyyy") j = date$(today$) ' jsem$ = word$("Tuesday Wednesday Thursday x Friday Saturday x Sunday Monday",int((j/7-int(j/7))*10)+1) jsem$ = word$("Mardi Mercredi Jeudi x Vendredi Samedi x Dimanche Lundi",int((j/7-int(j/7))*10)+1) ' french date$ = jsem$+" "+mid$(today$,4,2)+" "+word$(mois$, val(today$))+" "+right$(today$,4)+" "+left$(time$(),5) DIM cell(ncx,ncy): DIM quoi(ncx+1,ncy) button #w.bi "Bille", [bi], UL, 40, 5, 60, 25 button #w.mu "Mur", [mu], UL, 120, 5, 60, 25 statictext #w.txt "",460,10,200,30 button #w.ni "Niveau: 1", [niv], UL, 310, 5, 80, 25 statictext #w.tt "Triche", 40+17*dc, 40+(8*dc)+7,50,20 graphicbox #w.map, 5+dc, 40, MapWidth-2*dc, MapHeight button #w.bt11 "", boutons, UL, 775, 44+(1*dc), dc, dc-10 ' à droite button #w.bt21 "", boutons, UL, 775, 44+(2*dc)+1, dc, dc-10 button #w.bt31 "", boutons, UL, 775, 44+(3*dc)+2, dc, dc-10 button #w.bt41 "", boutons, UL, 775, 44+(4*dc)+3, dc, dc-10 button #w.bt51 "", boutons, UL, 775, 43+(5*dc)+4, dc, dc-10 button #w.bt61 "", boutons, UL, 775, 43+(6*dc)+5, dc, dc-10 button #w.bt71 "", boutons, UL, 775, 41+(7*dc)+6, dc, dc-10 button #w.bt81 "", boutons, UL, 775, 54+(8*dc)+7, dc, 20 ' 775, 46+(8*dc)+7, dc, dc-10 button #w.bt12 "", boutons, UL, 9+17*dc, 44+(1*dc), dc, dc-10 ' à gauche button #w.bt22 "", boutons, UL, 9+17*dc, 44+(2*dc)+1, dc, dc-10 button #w.bt32 "", boutons, UL, 9+17*dc, 44+(3*dc)+2, dc, dc-10 button #w.bt42 "", boutons, UL, 9+17*dc, 44+(4*dc)+3, dc, dc-10 button #w.bt52 "", boutons, UL, 9+17*dc, 43+(5*dc)+4, dc, dc-10 button #w.bt62 "", boutons, UL, 9+17*dc, 43+(6*dc)+5, dc, dc-10 button #w.bt72 "", boutons, UL, 9+17*dc, 41+(7*dc)+6, dc, dc-10 button #w.bt82 "", boutons, UL, 9+17*dc, 54+(8*dc)+7, dc, 20 ' 9+17*dc, 46+(8*dc)+7, dc, dc-10 button #w.new "New",[new],UL,MapWidth-20,6,60,27 OPEN " TEST Chute(s)... "+space$(15)+date$ for window_nf as #w 'graphics_nf_nsb #w "trapclose quit" #w.map "setfocus" #w.map "down; backcolor black; fill black" #w.map "getbmp p0 0 0 ";dc;" ";dc ' empty cell for deleting #w.new "!font Arial 12 bold" #w.txt "!font Arial 11 bold" for bt = 1 to 16 btn$ = "#w.bt"+word$("11 21 31 41 51 61 71 81 12 22 32 42 52 62 72 82",bt) #btn$ "!font Arial 16 bold" if bt<9 then #btn$ ">" else #btn$ "<" next for im = 1 to 5 ' chargement en mémoire des fichiers BMP qui pourront ensuite être utilisés. loadbmp "mur";im, "Mur";im;".bmp" loadbmp "bille";im, "Bille";im;".bmp" next bb=4: mm=5: niv=2 [niv] niv=niv+1 if niv=4 then niv=1 #w.ni, "Niveau: ";word$("1 2 RND",niv) [new] call AllButtonsActivate 1 ' active tous les bouttons coup=0 print #w.txt, coup;" coup(s)" print #w.bi, "Bille: ";bb print #w.mu, "Mur: ";mm if niv=1 then RESTORE [niveau1] if niv=2 then RESTORE [niveau2] for y=1 to ncy ' mise en place du niveau courrant ( cell(x,y) -> 0 = trou, 1 = mur, 2 = bille ) [trou] cm = 0 for x=1 to ncx if niv<3 then read val ' read ne peut pas affecter directement une var. tableau. else val = int(rnd(0)*2) ' 1 sur 3 peut être un trou (=0) if val>1 then val=1 if y=1 then val = 2 else if y=ncy then val = 0 end if cell(x,y) = val if val = 0 then cm = 1 next if cm = 0 and y > 1 then [trou] call drawRow y next call fall ' première chute dès la mise en place WAIT sub fall ' gère toutes les chutes potentielles dans toute la grille for cy = ncy-1 to 1 step -1 ' en partant du bas bien sûr ! for cx = 1 to ncx by = cy while by+1 <= ncy if cell(cx,by) = 2 and cell(cx,by+1) = 0 then cell(cx,by) = 0 #w.map "drawbmp p0 ";(cx-1)*dc;" ";(by-1)*dc cell(cx,by+1) = 2 #w.map "drawbmp bille";bb;" ";(cx-1)*dc;" ";by*dc end if by = by + 1 wend next next #w.map "flush; discard" end sub [bi] ' change bille bb=bb+1 if bb =6 then bb=1 #w.bi, "Bille: ";bb for y = 1 to ncy :call drawRow y :next wait [mu] ' change mur mm=mm+1 if mm =6 then mm=1 #w.mu, "Mur: ";mm for y = 1 to ncy :call drawRow y :next wait sub boutons handle$ ' décalage d'une ligne en fonction du bouton pressé (vers la droite ou vers la gauche) ' la règle : les billes ne se déplacent que poussées par un mur, et ne peuvent pas dépasser les bords. row = val(mid$(handle$,6,1))+1 'extraction de la ligne grace aux noms des boutons (judicieusement nommés ;) ) dir = val(mid$(handle$,7,1)) 'et extraction du sens ro=row-1: di=dir if olro<>0 or oldi<>0 then ' secur premier coup han$ = "#w.bt" + STR$(oldro)+STR$(oldi) #han$, "!enable" 'réactive bouton end if call slide row, dir ' slide management of row call drawRow row call fall call ButtonsRow ' désactive les bouttons d'une ligne sans bille à partir du haut. hand$ = "#w.bt" + STR$(ro)+STR$(di) #hand$, "!disable" ' désactive bouton oldro=ro: oldi=di 'memorise ligne direction coup=coup+1 #w.txt, coup;" coup(s)" tscore=0 for xx=1 to ncx if cell(xx,ncy)=2 then tscore=tscore+1 next xx if tscore=16 then timer 1000, [temp] wait [temp] timer 0 call frac end if end sub ' c'est ici que le prog attend le coup suivant****************************** SUB slide Rw, Dr ' slide management of Rw s = 1 :ax = ncx if Dr=1 then s = 0-1 :ax = 1 o = ok(Rw,Dr) ' = première case déplaçable if o then temp = cell(o,Rw) for x=o to ax-s step s :cell(x,Rw) = cell(x+s,Rw) :next ' tout décaler if temp<>2 then cell(ax,Rw) = temp if Rw < ncy then ' exception ligne du bas... for x=ax to o+s step 0-s ' recherche les billes qui doivent être remisent à leur place if cell(x,Rw) = 0 and cell(x-s,Rw) = 2 then cell(x,Rw) = cell(x-s,Rw) :cell(x-s,Rw)=0 next end if end if END SUB FUNCTION ok(rw,d) ' renvoi la première case déplaçable s = 1 :x = 1 if d=1 then s = 0-1 :x = ncx while cell(x,rw)=2 :x=x+s :wend ok = x :if x>1 and x<ncx and cell(x,rw)=1 then ok=0 END FUNCTION SUB ButtonsRow ' désactive les bouttons d'une ligne sans bille à partir du haut. for cy = 1 to ncy-1 'on commence à partir de la 1ère qui n'a pas de boutons if emptyRow(cy) = 0 then exit for if cy > 1 then ' verifie si c'est une ligne qui comporte des boutons btn$ = "#w.bt";cy-1;1 : #btn$ "!disable" ' cy-1 car les boutons commence à 1 et le 1er cy avec boutons = 2 ! btn$ = "#w.bt";cy-1;2 : #btn$ "!disable" end if next end sub function emptyRow(rw) ' retourne 1 si la ligne 'rw' est vide, 0 si non. emptyRow = 1 for xx=1 to ncx if cell(xx,rw)=2 then emptyRow = 0 :exit function next xx end function SUB AllButtonsActivate OnOff ' si OnOff = 1 "!enable" , 0 = ""!disable" action$ = word$("!disable !enable",OnOff+1) #w.new action$ ' réactiver TOUS les boutons avant de sortir... #w.ni action$ #w.mu action$ #w.bi action$ for bt = 1 to 16 btn$ = "#w.bt"+word$("11 21 31 41 51 61 71 81 12 22 32 42 52 62 72 82",bt) #btn$ action$ next end sub sub frac call AllButtonsActivate 0 #w.map, "down ; fill black" #w.txt "Clic sur la fractale = Retour" #w.map "when leftButtonDown [out]" ' pour sortir de la SUB frac quand clic dans #w.map [draw] 'set up some random colors redim col$(12) for c=0 to 12 col$(c)=str$(int(rnd(0)*256))+" "+str$(int(rnd(0)*256))+" "+str$(int(rnd(0)*256)) next c 'set up some random starting positions a=rnd(0) b=0.9998 c=2-2*a dots=12000 x=j=0 y=rnd(0)*12+0.1 'calculate and draw the points for i=0 to dots scan z=x x=b*y+j j=a*x+c*(x^2)/(1+x^2) y=j-z xp=(x*20)+midx yp=(y*20)+midy #w.map, "color ";col$(i/1000) #w.map, "set ";xp;" ";yp next i goto [draw] [out] call AllButtonsActivate 1 end sub sub drawRow r ' dessine le contenu d'une ligne ' #w.map "place 0 ";(r-1)*dc;" ; boxfilled ";(ncx-1)*dc;" ";r*dc for x=1 to ncx select case cell(x,r) case 0 :#w.map "drawbmp p0 ";(x-1)*dc;" ";(r-1)*dc case 1 :#w.map "drawbmp mur";mm;" ";(x-1)*dc;" ";(r-1)*dc case 2 :#w.map "drawbmp bille";bb;" ";(x-1)*dc;" ";(r-1)*dc end select next end sub [niveau1] data 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ' 2 = boule, 1 = mur, 0 = trou data 0,1,1,1,0,1,1,1,1,0,1,1,1,0,1,1 data 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1 data 0,1,1,1,0,1,0,1,0,1,0,1,0,1,1,1 data 1,1,0,1,1,1,1,0,1,0,1,1,1,0,1,1 data 0,1,1,1,1,0,1,1,0,1,0,1,1,1,1,1 data 1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,1 data 0,1,1,0,1,1,0,1,1,1,0,1,1,1,0,1 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 [niveau2] data 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ' 2 = boule, 1 = mur, 0 = trou data 1,1,0,1,1,0,1,1,0,1,1,0,1,1,1,1 data 1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1 data 1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1 data 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1 data 1,1,0,1,1,0,1,1,1,1,0,1,1,1,1,1 data 1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,1 data 1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 sub quit handle$ for im = 1 to 5 unloadbmp "mur";im unloadbmp "bille";im next close #handle$ end end sub
PS: pour la fermeture par la croix quand y a fractale : j'ai simplement changé [quit] en SUB quit handle$
____________________
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."
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
SUB quit handle$...! ET OUI ! parbleu!
Les grilles , ça donne des idées, et comme j'ai besoin de tripoter de la "sub", il m'et venu l'idée saugrenue suivante:
Deux grilles d'environ 7x7, une à droite, une à gauche. Dans celle de droite qui est le modèle, des cases d'une couleur disposées en motifs, ou au hasard.
Dans la grille de gauche ( qui est ta grille, avec les sub's: "Mark, "coord, "grid, "info).. On doit reproduire le motif de la grille de droite.
Méééh, les cases de la grille de gauche, oscillent entre deux couleurs, quand on clique sur une case elle change de couleur, tandis que des cases voisines (à définir) basculent dans la couleur opposée.
Présentement, j'ai une syntaxe error sur une ligne, dont la soeur jumelle marche au poil dans la sub d'à coté
.....Je reprend les travaux dés que j'aurai compris ce que tu fabrique avec ce..." o "......à+..
Les grilles , ça donne des idées, et comme j'ai besoin de tripoter de la "sub", il m'et venu l'idée saugrenue suivante:
Deux grilles d'environ 7x7, une à droite, une à gauche. Dans celle de droite qui est le modèle, des cases d'une couleur disposées en motifs, ou au hasard.
Dans la grille de gauche ( qui est ta grille, avec les sub's: "Mark, "coord, "grid, "info).. On doit reproduire le motif de la grille de droite.
Méééh, les cases de la grille de gauche, oscillent entre deux couleurs, quand on clique sur une case elle change de couleur, tandis que des cases voisines (à définir) basculent dans la couleur opposée.
Présentement, j'ai une syntaxe error sur une ligne, dont la soeur jumelle marche au poil dans la sub d'à coté

____________________
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