Forum Liberty Basic France

Jeux » Code en cours de défrichage Transcription
Le 11/07/2012 à 16h03

Libertynaute Expert

Groupe: Membre

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

Ha ha ! c'est bien, ça prouve que tu suis ;)

Tu veux !disabler quoi ? c'est déjà fait ça !!! (en tout cas si tu as pris la version clavier ;) )



Edité par cassiope01 Le 11/07/2012 à 16h51
____________________
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 11/07/2012 à 16h12

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2489
Je veux désabler juste le bouton sur lequel je viens d'appuyer
Ce qui est étonnant, c'est qu'au débuggeur, l'appui sur le:bt21 donne: dir=1, row=3
j'ai mis ça: (avec dir et row en global pour les avoir au débuggeur)
hand$ = "#w.bt" + STR$(row)+STR$(dir)
print #hand$, "!disable"
end sub.......
Youpie! ça marche, je disable, je enable (en m'étant fait piégé par le "print" qu'il ne faut pas mettre au :"!enable"
Regarde !!

Code JB :
 
 
nomainwin
 
    GLOBAL ncx, ncy, dc
    global ro, di, oldro, oldi
 
    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
 
    WindowWidth  = MapWidth + 65
    WindowHeight = MapHeight + 120  ' 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)
 
 
    loadbmp "mur",   "Mur1.bmp"
    loadbmp "boule", "Bille21.bmp"
 
    TEXTBOX #w.ta, 10 , 420, 150, 20
    TEXTBOX #w.tb, 170 , 420, 150, 20
    TEXTBOX #w.tc, 330 , 420, 150, 20
    TEXTBOX #w.td, 490 , 420, 150, 20
 
    statictext #w.txt "",5,10,350,25  ' just for debug
    graphicbox #w.map, 5+dc, 40, MapWidth-2*dc, MapHeight
    button #w.bt11 "", boutons, UL, 775, 50+(1*dc), dc, dc-10  '  à droite
    button #w.bt21 "", boutons, UL, 775, 50+(2*dc)+1, dc, dc-10
    button #w.bt31 "", boutons, UL, 775, 50+(3*dc)+2, dc, dc-10
    button #w.bt41 "", boutons, UL, 775, 50+(4*dc)+3, dc, dc-10
    button #w.bt51 "", boutons, UL, 775, 50+(5*dc)+4, dc, dc-10
    button #w.bt61 "", boutons, UL, 775, 50+(6*dc)+5, dc, dc-10
    button #w.bt71 "", boutons, UL, 775, 50+(7*dc)+6, dc, dc-10
    button #w.bt81 "", boutons, UL, 775, 50+(8*dc)+7, dc, dc-10
 
    button #w.bt12 "", boutons, UL, 9+17*dc, 50+(1*dc), dc, dc-10  '  à gauche
    button #w.bt22 "", boutons, UL, 9+17*dc, 50+(2*dc)+1, dc, dc-10
    button #w.bt32 "", boutons, UL, 9+17*dc, 50+(3*dc)+2, dc, dc-10
    button #w.bt42 "", boutons, UL, 9+17*dc, 50+(4*dc)+3, dc, dc-10
    button #w.bt52 "", boutons, UL, 9+17*dc, 50+(5*dc)+4, dc, dc-10
    button #w.bt62 "", boutons, UL, 9+17*dc, 50+(6*dc)+5, dc, dc-10
    button #w.bt72 "", boutons, UL, 9+17*dc, 50+(7*dc)+6, dc, dc-10
    button #w.bt82 "", boutons, UL, 9+17*dc, 50+(8*dc)+7, dc, dc-10
    button #w.new "New",[new],UL,MapWidth-55,6,60,27
    OPEN "    TEST Chute(s)... "+space$(15)+date$ for window_nf as #w  'graphics_nf_nsb
    #w.map "trapclose [quit]"
    #w.map, "setfocus"
     Print #w.map, "When rightButtonUp ButtonLeftUp"' a suprimer
    #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"
 
    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
 
    [new]
 
    RESTORE [niveau1]
 
    for y=1 to ncy
        for x=1 to ncx
            read val  ' read ne peut pas affecter directement une var. tableau.
            cell(x,y) = val
        next
        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 boule ";(cx-1)*dc;" ";by*dc
                    end if
                    by = by + 1
                wend
            next
        next
    end sub
 
    sub boutons handle$  ' décalage d'une ligne en fonction du bouton pressé
                         ' les extrémités reviennent de l'autre côté...
 
 
        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
        han$ = "#w.bt" + STR$(oldro)+STR$(oldi)
         #han$, "!enable"
        end if
 
        if dir = 1 then             ' vers la droite
            temp = cell(ncx,row)
            for x=ncx to 2 step -1
                cell(x,row) = cell(x-1,row)
            next
            cell(1,row) = temp
        else                        ' vers la gauche
            temp = cell(1,row)
            for x=1 to ncx-1
                cell(x,row) = cell(x+1,row)
            next
            cell(ncx,row) = temp
        end if
        call drawRow row
        call fall
 
        hand$ = "#w.bt" + STR$(ro)+STR$(di)
        print #hand$, "!disable"
        oldro=ro: oldi=di
 
    end sub                 ' c'est ici que le prog attend le coup suivant
 
    sub drawRow r    ' dessine le contenu d'une ligne
        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 ";(x-1)*dc;" ";(r-1)*dc
            case 2 :#w.map "drawbmp boule ";(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 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
 
    [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,0,0,1,1,1,1
    data 1,0,1,0,1,0,1,0,1,1,0,1,1,0,1,1
    data 0,0,1,0,1,0,0,1,0,1,0,0,1,1,1,1
    data 1,1,0,0,1,0,1,0,1,0,1,1,0,0,0,1
    data 0,1,0,1,1,0,1,0,0,1,0,1,1,1,1,1
    data 1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,1
    data 0,1,1,0,1,0,0,1,0,1,0,1,1,0,0,1
    data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 
    Sub ButtonrightUp handle$, xClick, yClick  'prise de cotes
       #w.map, "Backcolor black"
       #w.map, "Color yellow"
       #w.map, "Place ";xClick;" ";yClick      'a suprimer
       #w.map, "\";xClick
       #w.map, "\"; yClick
       '#w.g, "\MouseY=";yClick
    End Sub
 
    [quit]
        unloadbmp "mur"
        unloadbmp "boule"
        close #w
        end
    wait
 
 




Edité par Roland Le 11/07/2012 à 17h40
____________________
Roro

   
Le 11/07/2012 à 17h21

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2489
Hey! J'ai compris le bt2-->row=3......Il n'y a que 7 lignes ! ! ! ! ! ! ! ! !
J'ai voulu recentrer les boutons en face des lignes...et je me suis retrouvé avec un bouton de trop !
Le dernier code( au dessus) a les boutons recentrés..et le jeu commence à devenir......heu....Nephtys va nous dire..quoi.



Edité par Roland Le 11/07/2012 à 17h45
____________________
Roro

   
Le 11/07/2012 à 18h16

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Non. Il y a bien 8 lignes mais la première n'a pas de bouton, donc : row + 1 à l'extraction !
J'aurai aussi pu renommer les boutons en commençant par #w.bt21 et non #w.bt11 mais j'ai eu la flemme !

Pourquoi Nephthys ?

@+



Edité par cassiope01 Le 11/07/2012 à 18h17
____________________
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 11/07/2012 à 19h12

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2489
Ne sais-tu pas que Nephtys est notre testeur officiel ? Par contre, il risque de raler qu'on n'ai pas fait un zip complet....Je le fait dans mon casier, le tient doit etre plein, ou pas loin de l'etre.
Je mettrai plusieurs billes(boules ;) ) et plusieurs murs. en y reportant les modifs éventuelles......à+
____________________
Roro

   
Jeux » Code en cours de défrichage Transcription  

 |  |

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