Forum Liberty Basic France
• Index
Tout est dans le titre.
On n'oubliera pas que cela reste du travail artisanal.
Code JB :
On n'oubliera pas que cela reste du travail artisanal.
Code JB :
NOMAINWIN WindowWidth=550 WindowHeight=465 UpperLeftX=INT((DisplayWidth-WindowWidth)/2) UpperLeftY=INT((DisplayHeight-WindowHeight)/2) BUTTON #w.cli, "clic", [clic, UL, 20, 360, 30, 20 BUTTON #w.cla, "clac", [clac], UL, 125, 360, 30, 20 BUTTON #w.clo, "cloc", [cloc], UL, 225, 360, 30, 20 BUTTON #w.go, "go", [go], UL, 115, 390, 50, 20 BUTTON #w.new, "new", [new], UL, 380, 360, 40, 20 GRAPHICBOX #w.g, 5, 5, 265, 420 GRAPHICBOX #w.gt, 275, 5, 260, 420 open "Cartes Tour N°1" FOR WINDOW AS #w print #w, "trapclose [quit]" ' Le print est facultatif [new] #w.g, "down": #w.g, "fill black" #w.gt, "down": #w.gt, "fill darkblue" #w.go, "!enable" dim z(33): dim jeu(34): dim jou(32) a$="": b$="": c$="": d$="" coup=0: clic=0: clac=0: cloc=0 x=20: y=0: yy=30 for n=1 to 32 'on achete les cartes z(n)=n next n #w.cli, "!disable": #w.cla, "!disable": #w.clo, "!disable" for n=0 to 32 #w.g, "color yellow; backcolor black" 'on présente le jeu #w.g, "font courier_new 18 bold" #w.g, "PLACE "; x; " "; y #w.g, "\"; z(n) y=y+yy if n > 10 and n < 12 then x=x+100: y=y-n*yy: nn=n if n > 21 and n < 23 then x=x+100: y=y-((n-nn)*yy) next n #w.gt, "color cyan; backcolor darkblue" #w.gt, "font courier_new 14 bold" #w.gt, "PLACE 10 50": #w.gt, "\ Voici 32 Cartes... " #w.gt, "PLACE 10 75": #w.gt, "\ Choisi s'en une, et" #w.gt, "PLACE 10 100": #w.gt, "\ stocke la dans " #w.gt, "PLACE 10 125": #w.gt, "\ ta vive mémoire. " #w.gt, "PLACE 10 180": #w.gt, "\Quand ton choix est " #w.gt, "PLACE 10 205": #w.gt, "\fait, Clique sur 'go'" wait [go] #w.go, "!disable" FOR y = 1 TO 32 ' on mélange jeu(y) = y NEXT FOR y = 1 TO 32 tire = jeu(y) distr = INT(rnd(1) * 32) + 1 jeu(y) = jeu(distr) jeu(distr) = tire NEXT [etale] ' on distribue #w.cli, "!enable": #w.cla, "!enable": #w.clo, "!enable" #w.gt, "fill darkred" #w.gt, "color cyan; backcolor darkred" #w.gt, "PLACE 10 50": #w.gt, "\L'ordi va deviner " #w.gt, "PLACE 10 75": #w.gt, "\en trois coups " #w.gt, "PLACE 10 100": #w.gt, "\la carte choisie." #w.gt, "PLACE 10 150": #w.gt, "\Coup N°:" #w.gt, "PLACE 120 150": #w.gt, "\";coup #w.gt, "PLACE 10 190": #w.gt, "\Clique sur le bouton " #w.gt, "PLACE 10 215": #w.gt, "\sous la colonne " #w.gt, "PLACE 10 240": #w.gt, "\contenant ta carte" #w.g, "fill black" ' on étale x=20: y=0: yy=30: nj=1 for n=0 to 32 x=20: y=y+yy for nn=1 to 3 if nj > 32 then exit for #w.g, "color yellow; backcolor black" #w.g, "font courier_new 18 bold" #w.g, "PLACE "; x; " "; y #w.g, "\"; jeu(nj) x=x+100: nj=nj+1 next nn next n '#w.g, "flush" n=0: a$="": b$="": c$="" ' on rammasse for j=1 to 32 n=n+1 if n > 32 then exit for a$=a$+str$(jeu(n))+" " n=n+1 if n > 32 then exit for b$=b$+str$(jeu(n))+" " n=n+1 if n > 32 then exit for c$=c$+str$(jeu(n))+" " if n > 32 then exit for next j if coup=3 then goto [result] wait [clic] clic=clic+1 ' on range redim jeu(32) d$=b$+a$+c$ for n=1 to 32 jeu(n)=val(word$(d$,n)) next n coup=coup+1 gosub [pause] goto [etale] wait [clac] clac=clac+1 redim jeu(32) d$=a$+b$+c$ for n=1 to 32 jeu(n)=val(word$(d$,n)) next n coup=coup+1 gosub [pause] goto [etale] wait [cloc] cloc=cloc+1 redim jeu(32) d$=a$+c$+b$ for n=1 to 32 jeu(n)=val(word$(d$,n)) next n coup=coup+1 gosub [pause] goto [etale] wait [result] ' le résultat gosub [pause] r=17 if cloc=3 then r=r-1 if clac=1 and cloc=2 then r=r-1 if clic=1 and cloc=2 then r=r-1 if clac=1 and clic=2 then r=r+1 'if clic=3 then r=r+1 #w.g, "fill black" #w.g, "color yellow; backcolor black" #w.g, "font courier_new 18 bold" #w.g, "PLACE 20 100": #w.g, "\La carte choisie" #w.g, "PLACE 20 140": #w.g, "\est le:" #w.g, "PLACE 100 180": #w.g, "\"; jeu(r) wait [pause] timer 500, [temps] 'en millisecondes wait [temps] timer 0 return [quit] CLOSE #w END
____________________
Roro
Roro
NOTE: Les ajustements en fonction de clic, clac et cloc, au chapitre [result], sont empiriques.
Si un matheux passe par là, il pourrait nous expliquer de quoi il retourne.
Mais le taux de réussite reste assez élévé..
PS: Il semblerait que ce forum soit muni d'un clapet anti-retour. ( de commentaires...)
Si un matheux passe par là, il pourrait nous expliquer de quoi il retourne.
Mais le taux de réussite reste assez élévé..
PS: Il semblerait que ce forum soit muni d'un clapet anti-retour. ( de commentaires...)
____________________
Roro
Roro
Ce serait plus sympa avec des vrai cartes
Si tu veux j'ai les fichiers nécessaires.
@+

Si tu veux j'ai les fichiers nécessaires.
@+
____________________
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
____________________
Roro
Roro
Oui c'est celle là.
Dans Poker, j'ai aussi mis un petit code pour fabriquer le répertoire avec toutes les cartes, à partir d'un seul fichier BMP.
Bien sûr que c'est dans tes cordes maintenant
@+
Edité par cassiope01 Le 18/09/2012 à 17h09
Dans Poker, j'ai aussi mis un petit code pour fabriquer le répertoire avec toutes les cartes, à partir d'un seul fichier BMP.
Bien sûr que c'est dans tes cordes maintenant

@+
Edité par cassiope01 Le 18/09/2012 à 17h09
____________________
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
Le tout, c'est d'arriver à délimiter "le petit code" à l'intérieur du "gros", il m'a semblé que que tu chargeais les bmp au fur et à mesure des besoins...Je poursuis l'investigation.
Ce tour ne marche qu'avec 32 cartes, et avec 2 ou 3 cas particuliers (ajustements clic clac cloc) je pense qu'avec 54, il faudrait faire 4 passes......à+
Hey ! c'est le zip qui est dans le dossier.
.......Boudiou !... le "petit code"......petit...mais costaud.
Edité par Roland Le 18/09/2012 à 21h34
Ce tour ne marche qu'avec 32 cartes, et avec 2 ou 3 cas particuliers (ajustements clic clac cloc) je pense qu'avec 54, il faudrait faire 4 passes......à+
Hey ! c'est le zip qui est dans le dossier.

.......Boudiou !... le "petit code"......petit...mais costaud.

Edité par Roland Le 18/09/2012 à 21h34
____________________
Roro
Roro
T'es même pas obligé de prendre 32 cartes : Tour des 3 colonnes.
Comme dans Poker, tu pourrais distribuer les cartes en colonnes à partir du paquet... puis tu poses la question en disant de cliquer n'importe où dans une des colonnes pour la désigner (pas besoin de boutons), etc... puis tu renvois toutes les cartes sur le paquet pour les redistribuer en colonnes (tu reproduits ça 2 fois), puis la dernière fois tu fais pareil sauf la carte du joueur.
Le seul soucis c'est qu'on va vite comprendre si on lance plusieurs fois le programme puisque la carte à découvrir se trouve toujours au même endroit !!!
Remarque pour limiter ça, tu pourrais renvoyer TOUTES les cartes sur le paquet puis faire reglisser celle du joueur vers le centre de la fenêtre !!! ça ça serait plus impressionnant
Astuce : rappelle toi que si tu places tous les sprites au même endroit : seul le dernier sprite créé sera visible car il se trouvera toujours au dessus des autres...
Donc il te faut créer le sprite du dos des cartes en dernier, et tu n'auras donc jamais à rendre aucun sprite invisible : il suffit de les placer aux même coordonnées que celui du dos... il cachera toujours tous les autres...
@+
Edité par cassiope01 Le 19/09/2012 à 08h29
Comme dans Poker, tu pourrais distribuer les cartes en colonnes à partir du paquet... puis tu poses la question en disant de cliquer n'importe où dans une des colonnes pour la désigner (pas besoin de boutons), etc... puis tu renvois toutes les cartes sur le paquet pour les redistribuer en colonnes (tu reproduits ça 2 fois), puis la dernière fois tu fais pareil sauf la carte du joueur.
Le seul soucis c'est qu'on va vite comprendre si on lance plusieurs fois le programme puisque la carte à découvrir se trouve toujours au même endroit !!!

Remarque pour limiter ça, tu pourrais renvoyer TOUTES les cartes sur le paquet puis faire reglisser celle du joueur vers le centre de la fenêtre !!! ça ça serait plus impressionnant

Astuce : rappelle toi que si tu places tous les sprites au même endroit : seul le dernier sprite créé sera visible car il se trouvera toujours au dessus des autres...
Donc il te faut créer le sprite du dos des cartes en dernier, et tu n'auras donc jamais à rendre aucun sprite invisible : il suffit de les placer aux même coordonnées que celui du dos... il cachera toujours tous les autres...

@+
Edité par cassiope01 Le 19/09/2012 à 08h29
____________________
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
Et oui, avec 27 cartes, on élimine les cas particuliers et le taux de réussite est de 100%.
J'ai élagué " poker" pour extraire la procédure de distribution. Et je suis tombé sur un truc que je ne comprend pas:
La sub deal, a deux param's: " plyer "et "view"; qui viennent de shuffle (player,1 ou 0 , qui désigne le joueur en cours )
Or dans "deal" , le param "view" n'est pasutilisé ( n'apparait pas ), et est pourtant actif .
Tu n'aurais pas fais des économies dans ce coin là ?
Super le lien.
Je tentais de me remémorer les tours que me faisait mon père, je vais certainement en retrouver sur ce site.......à+
J'ai élagué " poker" pour extraire la procédure de distribution. Et je suis tombé sur un truc que je ne comprend pas:
La sub deal, a deux param's: " plyer "et "view"; qui viennent de shuffle (player,1 ou 0 , qui désigne le joueur en cours )
Or dans "deal" , le param "view" n'est pas

Tu n'aurais pas fais des économies dans ce coin là ?
Super le lien.

____________________
Roro
Roro
Comment ça "View" n'apparait pas dans Deal ???
C'est même la condition d'un "if" !!!!
Ceci dit tu devrais plutôt écrire tes propres SUB en t'inspirant éventuellement des miennes, car dans Poker elles avaient certainement une fonction qui "collait" plus à mon cahier des charges de l'époque... et dont tu n'as absolument pas besoin pour ton programme par exemple.
@+
Edité par cassiope01 Le 19/09/2012 à 10h50
C'est même la condition d'un "if" !!!!
Ceci dit tu devrais plutôt écrire tes propres SUB en t'inspirant éventuellement des miennes, car dans Poker elles avaient certainement une fonction qui "collait" plus à mon cahier des charges de l'époque... et dont tu n'as absolument pas besoin pour ton programme par exemple.
@+
Edité par cassiope01 Le 19/09/2012 à 10h50
____________________
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
P....n ! de M...e ! Tu a raison. Je l'ai épluché vingt fois cette sub sans le voir.
Je suis épaté par la distribution des cartes, et j'essaie d'en piger le mécanisme. ( pour me l'approprier..off corse).
Il n'y a qu'en analysant des codes plus évolués que j'avancerai. Si je fais à ma façon....tu sais ce que ça donne !
Je suis épaté par la distribution des cartes, et j'essaie d'en piger le mécanisme. ( pour me l'approprier..off corse).
Il n'y a qu'en analysant des codes plus évolués que j'avancerai. Si je fais à ma façon....tu sais ce que ça donne !
____________________
Roro
Roro
Roland:
ça c'est pas forcément vrai, en tout cas pas seulement... on apprend très bien aussi en codant pour réaliser un projet de A à Z (avec toutes l'aide possible bien sûr) et obtenir la satisfaction du résultat qui va encourager à progresser pour coder encore plus efficace, etc...
C'est juste mon avis...
Mais tu veux que j'essaye de le coder ce tour de carte (avec les trucs de Poker) ?
@+
Edité par cassiope01 Le 19/09/2012 à 19h48
Il n'y a qu'en analysant des codes plus évolués que j'avancerai.
ça c'est pas forcément vrai, en tout cas pas seulement... on apprend très bien aussi en codant pour réaliser un projet de A à Z (avec toutes l'aide possible bien sûr) et obtenir la satisfaction du résultat qui va encourager à progresser pour coder encore plus efficace, etc...
C'est juste mon avis...

Mais tu veux que j'essaye de le coder ce tour de carte (avec les trucs de Poker) ?
@+
Edité par cassiope01 Le 19/09/2012 à 19h48
____________________
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 suis toujours friand de tes subtilités.
Et suis curieux de voir si j'y retrouve mes petits..

Et suis curieux de voir si j'y retrouve mes petits..

____________________
Roro
Roro
Il faut d'abord utiliser Make_Cards_Sprites.zip (revu & corrigé
) pour fabriquer le répertoire des cartes.
Puis tu peux voir si ça marche à chaque fois
Code VB :
PS: il est assez facile de modifier ce code pour qu'il y ait une autre distribution ex: 5x5, 3x3, 5x3, 7x5 mais le nombre de clics qui sera demandé au joueur sera toujours égal au nombre de lignes...
@+
Edité par cassiope01 Le 21/09/2012 à 19h12

Puis tu peux voir si ça marche à chaque fois

Code VB :
' http://libertybasic.fr/forum/topic-204-0-2292+un-tour-de-carte.php#m2292 nomainwin WindowWidth = 800 WindowHeight = 600 UpperLeftX = (DisplayWidth-WindowWidth) / 3 UpperLeftY = (DisplayHeight-WindowHeight) / 2 mois$ = "Jan Fév Mar Avr Mai Jun Jui Aou Sep Oct Nov Déc" today$ = date$("mm/dd/yyyy") j = date$(today$) jsem$ = word$("Mar Mer Jeu x Ven Sam x Dim Lun",int((j/7-int(j/7))*10)+1) date$ = jsem$+" "+mid$(today$,4,2)+" "+word$(mois$, val(today$))+" "+left$(time$(),5)'right$(today$,4) DIM distrib(9,3), info$(10,10), cards(52) GLOBAL xdeck, ydeck, lc, hc, xd, yd, stepp, cht$ ' couleur = "Trèfle Carreau Coeur Pique" ' valeur = "1(As) 2 3 4 5 6 7 8 9 10 11(Valet) 12(Dame) 13(Roi)" ' une carte est définie comme suit : Couleur * 100 + valeur ' ex : 205 = 5 de Carreau ' 401 = As de Pique lc = 70 ' dimension d'une carte hc = 101 xdeck = 10 ' position du paquet ydeck = 38 xd = 120 ' coordonnée de la première carte distribuée. yd = 80 graphicbox #g.map, 5, 5, WindowWidth-16, WindowHeight-152 graphicbox #g.txt, 5, WindowHeight-152, WindowWidth-16, 121 open " Petit tour de cartes..."+space$(20)+date$ for window_nf as #g 'graphics_nf_nsb #g "trapclose quit" #g.map "down ;fill darkgreen" ' "buttonface" = couleur du background actuel de Windows. #g.txt "down ;fill darkgreen" #g.txt "font Comic_Sans_MS 14 bold" #g.txt "backcolor darkgreen ; color yellow" #g.map "getbmp tapis 0 0 ";WindowWidth-16;" ";WindowHeight-132 #g.map "background tapis" if fileExists(DefaultDir$, "Cartes\Card0.bmp") then n = 0 for couleur=1 to 4 for valeur=1 to 13 n = n + 1 cards(n) = couleur*100+valeur ' cartes stockée dans cards(52) loadbmp "SpriteCard", "Cartes\card";cards(n);".bmp" #g.map "addsprite Sprite";cards(n);" SpriteCard" #g.map "spritexy Sprite";cards(n);" ";xdeck;" ";ydeck ' #g.map "drawsprites" next next loadbmp "Dos", "Cartes\card0.bmp" #g.map "addsprite Sprite0 Dos" #g.map "spritexy Sprite0 ";xdeck;" ";ydeck #g.map "drawsprites" else notice "Pas de fichiers BMPs" call quit "#g" end if [new] stepp = 1 #g.map "cls ; fill darkgreen" #g.txt "cls ; fill darkgreen" call message "Choisissez une carte,", "puis cliquez sur la ligne sur laquelle elle se trouve.", "" call shuffleDeck 'mélange le paquet de 52 cartes call distrib #g.map "when leftButtonDown [clic]" WAIT [clic] #g.txt "cls ;fill darkgreen" if stepp = 4 then call slide distrib(5,2), xd, yd, xdeck, ydeck : goto [new] mX = MouseX mY = MouseY #g.map "when leftButtonDown" if mY > yd and mY < yd+3*hc then ligne = int((mY-yd)/hc)+1 else [outa] ' défini le n° de la ligne cliquée. select case ligne case 1 : cht$ = ch$(2)+ch$(1)+ch$(3) case 2 : cht$ = ch$(1)+ch$(2)+ch$(3) case 3 : cht$ = ch$(1)+ch$(3)+ch$(2) end select stepp = stepp + 1 select case stepp case 2,3 t1$ = "cliquez sur la ligne sur laquelle" t2$ = "votre carte se trouve." t3$ = "" case 4 t1$ = "" t2$ = "voici votre carte." t3$ = "" end select call recup if stepp = 4 then call slide distrib(5,2), xdeck, ydeck, xd, yd else call distrib end if call message t1$, t2$, t3$ [outa] #g.map "when leftButtonDown [clic]" wait sub message txt1$, txt2$, txt3$ #g.txt "cls ;fill darkgreen" L1 = len(txt1$) L2 = len(txt2$) L3 = len(txt3$) #g.txt "place ";(WindowWidth-(L1*9))/2;" 35 ;|";txt1$ #g.txt "place ";(WindowWidth-(L2*9))/2;" 65 ;|";txt2$ #g.txt "place ";(WindowWidth-(L3*9))/2;" 95 ;|";txt3$ #g.txt "flush ; discard" end sub sub recup ' remise sur le paquet for y = 1 to 3 for x = 1 to 9 #g.map "spritexy? Sprite";distrib(x,y);" spx spy" call slide distrib(x,y), spx, spy, xdeck, ydeck next next nc = 1 : n = 1 ' réorganisation astucieuse de distrib(x,y) à l'aide de cht$ constituée dans [clic]. for y = 1 to 3 for x = 1 to 9 distrib(x,y) = val(word$(cht$,nc)) ': print distrib(x,y);" "; nc = nc + 9 if nc > 27 then n = n + 1 : nc = n next print next end sub sub distrib ' distribution des cartes. redim ch$(3) for y = 1 to 3 for x = 1 to 9 call slide distrib(x,y), xdeck, ydeck, xd+(x-1)*lc, yd+(y-1)*hc ch$(y) = ch$(y);distrib(x,y);" " next next end sub sub slide carte, dx, dy, ax, ay 'déplace la carte du paquet vers arx,ary steps = 8 'pas ecx = (dx - ax)/steps ecy = (dy - ay)/steps for s = 1 to steps #g.map "spritexy Sprite";carte;" ";dx-s*ecx;" ";dy-s*ecy #g.map "drawsprites" call pause 10 next end sub Sub shuffleDeck 'mélange les 52 cartes, puis mémorise les 27 premières dans un tableau. For i = 52 to 1 Step -1 x = Int(Rnd(1) * i) + 1 temp = cards(x) cards(x) = cards(i) cards(i) = temp Next i for y = 1 to 3 ' mémorise les 27 premières dans distrib(x,y) for x = 1 to 9 n = n + 1 distrib(x,y) = cards(n) next next End Sub function fileExists(path$, filename$) 'DIM info$(10,10) 'doit avoir été déclaré en début de prog files path$, filename$, info$( ' path$ = DefaultDir$ en général... fileExists = val(info$(0, 0)) 'non zéro si vrai end function sub pause temp 'pause en millisecondes timer temp, [temps] wait [temps] timer 0 end sub sub quit handle$ unloadbmp "SpriteCard" unloadbmp "Dos" unloadbmp "tapis" close #handle$ END end sub
PS: il est assez facile de modifier ce code pour qu'il y ait une autre distribution ex: 5x5, 3x3, 5x3, 7x5 mais le nombre de clics qui sera demandé au joueur sera toujours égal au nombre de lignes...
@+
Edité par cassiope01 Le 21/09/2012 à 19h12
____________________
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
Chargé.... Hé, à voir sur place, ça à l'air charnu. gros merci..smiley smac!
Hé, tu sais que si tu veux mettre une corde à ton trébuchet ( celui en surimpression de la vidéo ) elle va sortir de l'écran...Tu n'a rien dit de ma connerie sur le code TSH73, a tu remarqué que la corde était élastique ?
Hé, tu sais que si tu veux mettre une corde à ton trébuchet ( celui en surimpression de la vidéo ) elle va sortir de l'écran...Tu n'a rien dit de ma connerie sur le code TSH73, a tu remarqué que la corde était élastique ?

____________________
Roro
Roro
Que dire d'autre que:
Je met ça pour les visiteurs du soir, car vu les heures de fréquentations , ils doivent avoir du mal avec notre patois.
Note for the night birds visitors:
Make a répertory, include the code above and the "make_cards_sprites.zip".
Unzip "make_cards_sprites" and run: "make_cards_sprites_texas.bas".
Then, Run main code .
The card trick: Choose a card and clic on the card included line, at the third round the soothsayer code find your card.
Edité par Roland Le 21/09/2012 à 17h45



Je met ça pour les visiteurs du soir, car vu les heures de fréquentations , ils doivent avoir du mal avec notre patois.
Note for the night birds visitors:
Make a répertory, include the code above and the "make_cards_sprites.zip".
Unzip "make_cards_sprites" and run: "make_cards_sprites_texas.bas".
Then, Run main code .
The card trick: Choose a card and clic on the card included line, at the third round the soothsayer code find your card.
Edité par Roland Le 21/09/2012 à 17h45
____________________
Roro
Roro
et tu n'as pas pensé une seconde que s'ils viennent sur un forum francophone (déjà fallait le chercher
) c'est parce qu'ils causent la france
et qu'ils sont soit insomniaques soit ailleurs autour de la planète : Nouméa, Québec, Kerguélen, Réunion, expatriés, ou encore francophiles !!!
Notre forum est bien petit par rapport aux anglophones...
Je vais peut-être l'angliciser pour le mettre chez nos amis anglophone.
Je serai curieux de voir ce que ça donne en permettant plusieures distributions possibles (5x3, 5x5, etc...)
@+
Edité par cassiope01 Le 22/09/2012 à 06h45


Notre forum est bien petit par rapport aux anglophones...

Je vais peut-être l'angliciser pour le mettre chez nos amis anglophone.
Je serai curieux de voir ce que ça donne en permettant plusieures distributions possibles (5x3, 5x5, etc...)
@+
Edité par cassiope01 Le 22/09/2012 à 06h45
____________________
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
Possible que le rapport entre le nombre de lignes et le nombre de cartes par ligne soit constant, pour 100% de réussite, c'est à vérifier
Tu pourrait angliciser d'autres codes. Le petit puzzle à inversion de couleurs par exemple ( il n'y a pas beaucoup de texte .)
J'ai fais une version anglaise de Babylone, l'a-tu essayé ? a-tu des suggestions à son sujet ? ( niveau jeu off corse, pas du code ) Si tu estime qu'il est au point, je la posterai pour envoi par delà les mers.
Je planche actuellement sur un niveau de Bd_jb, ça fait travailler le neurone ce truc là !
Mais bon, j'ai maintenant la distribution "Hold'em" à ausculter, ça va aussi faire chauffer le cpu.......à+
Edité par Roland Le 21/09/2012 à 21h52
Tu pourrait angliciser d'autres codes. Le petit puzzle à inversion de couleurs par exemple ( il n'y a pas beaucoup de texte .)
J'ai fais une version anglaise de Babylone, l'a-tu essayé ? a-tu des suggestions à son sujet ? ( niveau jeu off corse, pas du code ) Si tu estime qu'il est au point, je la posterai pour envoi par delà les mers.
Je planche actuellement sur un niveau de Bd_jb, ça fait travailler le neurone ce truc là !
Mais bon, j'ai maintenant la distribution "Hold'em" à ausculter, ça va aussi faire chauffer le cpu.......à+
Edité par Roland Le 21/09/2012 à 21h52
____________________
Roro
Roro
Je ne sais pas toi mais sur le site Kimunga moi je n'ai pas compris grand chose aux explications concernant les variantes.
Mon code ne fonctionne QUE si le nbre de lignes ET le nbre de cartes par ligne sont IMPAIRS.
Et il doit y avoir le même nbre de redistribution qu'il y a de lignes.
Roland:
Tu veux parler de chainreaction.bas ?
@+
HS: J'ai essayé Babylone : je n'y ai rien compris, j'ai laissé tombé
J'ai toujours tendance à penser qu'un petit jeu doit rester intuitif, facile de prise en main et d'utilisation et tout de suite plaisant à jouer...
Le panneau de paramétrage par exemple me ferait plutôt penser aux réglages d'une machine outils d'usinage numérique
: petit, fouilli, complexe...
Ce n'est que mon avis.
Tu as raison, montre le aux anglais, tu auras d'autres avis...
Edité par cassiope01 Le 22/09/2012 à 07h55
Mon code ne fonctionne QUE si le nbre de lignes ET le nbre de cartes par ligne sont IMPAIRS.
Et il doit y avoir le même nbre de redistribution qu'il y a de lignes.
Roland:
Tu pourrait angliciser d'autres codes. Le petit puzzle à inversion de couleurs par exemple ( il n'y a pas beaucoup de texte .)
Tu veux parler de chainreaction.bas ?
@+
HS: J'ai essayé Babylone : je n'y ai rien compris, j'ai laissé tombé

J'ai toujours tendance à penser qu'un petit jeu doit rester intuitif, facile de prise en main et d'utilisation et tout de suite plaisant à jouer...
Le panneau de paramétrage par exemple me ferait plutôt penser aux réglages d'une machine outils d'usinage numérique

Ce n'est que mon avis.
Tu as raison, montre le aux anglais, tu auras d'autres avis...
Edité par cassiope01 Le 22/09/2012 à 07h55
____________________
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
Voici une version où la disposition des cartes est tirée au hasard parmis 3 possibles...
Code VB :
Edité par cassiope01 Le 22/09/2012 à 10h21

Code VB :
' http://libertybasic.fr/forum/topic-204-0-2292+un-tour-de-carte.php#m2292 nomainwin WindowWidth = 800 WindowHeight = 700 UpperLeftX = (DisplayWidth-WindowWidth) / 3 UpperLeftY = (DisplayHeight-WindowHeight) / 3 mois$ = "Jan Fév Mar Avr Mai Jun Jui Aou Sep Oct Nov Déc" today$ = date$("mm/dd/yyyy") j = date$(today$) jsem$ = word$("Mar Mer Jeu x Ven Sam x Dim Lun",int((j/7-int(j/7))*10)+1) date$ = jsem$+" "+mid$(today$,4,2)+" "+word$(mois$, val(today$))+" "+left$(time$(),5)'right$(today$,4) DIM info$(10,10), cards(52) GLOBAL xdeck, ydeck, lc, hc, xd, yd, stepp, cht$, NTL, NTC, nRedistrib ' couleur = "Trèfle Carreau Coeur Pique" ' valeur = "1(As) 2 3 4 5 6 7 8 9 10 11(Valet) 12(Dame) 13(Roi)" ' une carte est définie comme suit : Couleur * 100 + valeur ' ex : 205 = 5 de Carreau ' 401 = As de Pique lc = 70 ' dimension d'une carte hc = 101 xdeck = 10 ' position du paquet ydeck = 38 dim distrib(1,1) graphicbox #g.map, 5, 5, WindowWidth-16, WindowHeight-152 graphicbox #g.txt, 5, WindowHeight-152, WindowWidth-16, 121 open " Petit tour de cartes..."+space$(20)+date$ for window_nf as #g 'graphics_nf_nsb #g "trapclose quit" #g.map "down ;fill darkgreen" ' "buttonface" = couleur du background actuel de Windows. #g.txt "down ;fill darkgreen" #g.txt "font Comic_Sans_MS 14"' bold" #g.txt "backcolor darkgreen ; color yellow" #g.map "getbmp tapis 0 0 ";WindowWidth-16;" ";WindowHeight-132 #g.map "background tapis" if fileExists(DefaultDir$, "Cartes\Card0.bmp") then n = 0 for couleur=1 to 4 for valeur=1 to 13 n = n + 1 cards(n) = couleur*100+valeur ' cartes stockée dans cards(52) loadbmp "SpriteCard", "Cartes\card";cards(n);".bmp" #g.map "addsprite Sprite";cards(n);" SpriteCard" #g.map "spritexy Sprite";cards(n);" ";xdeck;" ";ydeck ' #g.map "drawsprites" next next loadbmp "Dos", "Cartes\card0.bmp" #g.map "addsprite Sprite0 Dos" #g.map "spritexy Sprite0 ";xdeck;" ";ydeck #g.map "drawsprites" else notice "Pas de fichiers BMPs" call quit "#g" end if [new] disposition = int(rnd(0)*3)+1 'disposition = 2 ' tests... NTL = val(left$(word$("3x9 5x5 3x3",disposition),1)) ' nbre de lignes NTC = val(right$(word$("3x9 5x5 3x3",disposition),1)) ' nbre de cartes par lignes redim distrib(NTC,NTL) select case disposition case 1 xd = 120 ' coordonnée de la première carte distribuée. yd = 80 nRedistrib = 4 ' = 3 click du joueur case 2 xd = 240 ' coordonnée de la première carte distribuée. yd = 30 nRedistrib = 3 ' = 2 click du joueur case 3 xd = 260 ' coordonnée de la première carte distribuée. yd = 80 nRedistrib = 3 ' = 2 click du joueur end select stepp = 1 #g.map "cls ; fill darkgreen" #g.txt "cls ; fill darkgreen" call message "Choisissez une carte,", "puis cliquez sur la ligne sur laquelle elle se trouve.", "" call shuffleDeck 'mélange le paquet de 52 cartes call distrib #g.map "when leftButtonDown [click]" WAIT [click] #g.txt "cls ;fill darkgreen" 'if stepp = NTL+1 then call slide distrib(int(NTC/2)+1,(NTL/2)+1), (WindowWidth-lc)/2, (WindowHeight-152-hc)/2, xdeck, ydeck : goto [new] if stepp = nRedistrib then call slide distrib(int(NTC/2)+1,(NTL/2)+1), (WindowWidth-lc)/2, (WindowHeight-152-hc)/2, xdeck, ydeck : goto [new] mX = MouseX mY = MouseY #g.map "when leftButtonDown" if mY > yd and mY < yd+NTL*hc then ligne = int((mY-yd)/hc)+1 else [outa] ' défini le n° de la ligne cliquée. select case case NTL = 3 ' ordre de stockage des lignes select case ligne case 1 : cht$ = ch$(3)+ch$(1)+ch$(2) case 2 : cht$ = ch$(1)+ch$(2)+ch$(3) case 3 : cht$ = ch$(2)+ch$(3)+ch$(1) end select case NTL = 5 select case ligne case 1 : cht$ = ch$(2)+ch$(3)+ch$(1)+ch$(4)+ch$(5) case 2 : cht$ = ch$(1)+ch$(4)+ch$(2)+ch$(3)+ch$(5) case 3 : cht$ = ch$(5)+ch$(2)+ch$(3)+ch$(4)+ch$(1) case 4 : cht$ = ch$(2)+ch$(5)+ch$(4)+ch$(1)+ch$(3) case 5 : cht$ = ch$(1)+ch$(4)+ch$(5)+ch$(2)+ch$(3) end select end select stepp = stepp + 1 if stepp < nRedistrib then t1$ = "cliquez sur la ligne sur laquelle" t2$ = "votre carte se trouve." t3$ = "" else t1$ = "" t2$ = "voici votre carte. " t3$ = "" end if call recup if stepp = nRedistrib then 'NTL+1 then call slide distrib(int(NTC/2)+1,(NTL/2)+1), xdeck, ydeck, (WindowWidth-lc)/2, (WindowHeight-152-hc)/2 else call distrib end if call message t1$, t2$, t3$ [outa] #g.map "when leftButtonDown [click]" wait sub recup ' remise sur le paquet for y = 1 to NTL for x = 1 to NTC #g.map "spritexy? Sprite";distrib(x,y);" spx spy" call slide distrib(x,y), spx, spy, xdeck, ydeck next next nc = 1 : n = 1 ' réorganisation astucieuse de distrib(x,y) à l'aide de cht$ constituée dans [clic]. for y = 1 to NTL for x = 1 to NTC distrib(x,y) = val(word$(cht$,nc)) nc = nc + NTC if nc > NTL*NTC then n=n+1 : nc = n next next end sub sub distrib ' distribution des cartes. redim ch$(NTL) for y = 1 to NTL for x = 1 to NTC call slide distrib(x,y), xdeck, ydeck, xd+(x-1)*lc, yd+(y-1)*hc ' mémorise le contenu complet de cette ligne (y) dans la chaine de caractères correspondante (tableau) ch$(y) = ch$(y);distrib(x,y);" " next next end sub sub slide carte, dx, dy, ax, ay 'déplace la carte du paquet vers arx,ary steps = 8 'pas ecx = (dx - ax)/steps ecy = (dy - ay)/steps for s = 1 to steps #g.map "spritexy Sprite";carte;" ";dx-s*ecx;" ";dy-s*ecy #g.map "drawsprites" call pause 10 next end sub Sub shuffleDeck 'mélange les 52 cartes, puis mémorise les 27 premières dans un tableau. For i = 52 to 1 Step -1 x = Int(Rnd(1) * i) + 1 temp = cards(x) cards(x) = cards(i) cards(i) = temp Next i for y = 1 to NTL ' mémorise les NTL*NTC premières dans distrib(x,y) for x = 1 to NTC n = n + 1 distrib(x,y) = cards(n) next next End Sub sub message txt1$, txt2$, txt3$ #g.txt "cls ;fill darkgreen" L1 = len(txt1$) L2 = len(txt2$) L3 = len(txt3$) #g.txt "place ";(WindowWidth-(L1*9))/2;" 35 ;|";txt1$ #g.txt "place ";(WindowWidth-(L2*9))/2;" 65 ;|";txt2$ #g.txt "place ";(WindowWidth-(L3*9))/2;" 95 ;|";txt3$ #g.txt "flush ; discard" end sub function fileExists(path$, filename$) 'DIM info$(10,10) 'doit avoir été déclaré en début de prog files path$, filename$, info$( ' path$ = DefaultDir$ en général... fileExists = val(info$(0, 0)) 'non zéro si vrai end function sub pause temp 'pause en millisecondes timer temp, [temps] wait [temps] timer 0 end sub sub quit handle$ unloadbmp "SpriteCard" unloadbmp "Dos" unloadbmp "tapis" close #handle$ END end sub
Edité par cassiope01 Le 22/09/2012 à 10h21
____________________
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
Chain_reaction, il y est chez l'oncle Sam.
Je te parle du petit puzzle carré que j'avais nommé "Un Jeu Facile" (qui ne l'est pas tant que ça )
Pour les lignes..ext.. Il y a une explication ( qui n'en ai pas une ) sur un autre site, mais dont je n'ai pas gardé l'adresse. le principe, c'est une sorte de "tri", qui ressemble de loin au tri à bulle.
Toi, tu n'a pas lu le "help" de Babylone. Ducros s'est encore décarcassé en vain..
Le tableau de bord: Figure toi que je suis tombé plusieurs fois sur des jeux, qui auraient été supers, s'ils n'avaient pas eus un ou plusieurs paramètres mal réglés. Ce qui les rendait injouables.
Avec Babylone, on peut régler tous les paramètres, ce qui fait qu'il y a plusieurs façons de jouer.
Au début, c'est assez facile. Mais ça va en se compliquant.
En fonction des réglages, le jeu peut etre "stressy" ou "cool", favoriser la stratégie ou l'opportunisme.
je suis d'accord qu'un petit jeu doit rester intuitif. Babylone n'est pas un petit jeu.
Et que dire de l'intuitivité de Wykersham
Je regarde ta nouveauté, mais tu m'inquiete, la redistribution ne doit pas se faire au hasard, pour que le tri se fasse.
Bon, je poste ça avant que la connection, déconnecte ( déconne serait plus juste ).....
Je te parle du petit puzzle carré que j'avais nommé "Un Jeu Facile" (qui ne l'est pas tant que ça )
Pour les lignes..ext.. Il y a une explication ( qui n'en ai pas une ) sur un autre site, mais dont je n'ai pas gardé l'adresse. le principe, c'est une sorte de "tri", qui ressemble de loin au tri à bulle.
Toi, tu n'a pas lu le "help" de Babylone. Ducros s'est encore décarcassé en vain..

Le tableau de bord: Figure toi que je suis tombé plusieurs fois sur des jeux, qui auraient été supers, s'ils n'avaient pas eus un ou plusieurs paramètres mal réglés. Ce qui les rendait injouables.
Avec Babylone, on peut régler tous les paramètres, ce qui fait qu'il y a plusieurs façons de jouer.
Au début, c'est assez facile. Mais ça va en se compliquant.
En fonction des réglages, le jeu peut etre "stressy" ou "cool", favoriser la stratégie ou l'opportunisme.
je suis d'accord qu'un petit jeu doit rester intuitif. Babylone n'est pas un petit jeu.
Et que dire de l'intuitivité de Wykersham

Je regarde ta nouveauté, mais tu m'inquiete, la redistribution ne doit pas se faire au hasard, pour que le tri se fasse.
Bon, je poste ça avant que la connection, déconnecte ( déconne serait plus juste ).....
____________________
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