IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Taquin: déplacement de case


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 23
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 4
    Par défaut Taquin: déplacement de case
    Bonjour,
    je suis débutante en VB.NET et je dois créer un taquin (4x4). Du coup, pour faire déplacer mes boutons (les cases sont représentées en boutons) je voulais faire en sorte de rendre le bouton visible cliqué en invisible de sorte que le trou devient visible et affiche la valeur du bouton cliqué et le bouton cliqué en trou. Et je pensais faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Button16_Click[...]
    Button16.Visible=false
    Button1.Text=Button16.Text
    Mais le faire pour chaque bouton (16) est laborieux. Saviez-vous comment faire pour déplacer les boutons ? Je pensais réaliser un tableau de structure et faire une méthode callback mais je ne sais pas si c'est la bonne solution.

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    ---> Pour appréhender idéalement le déplacement des pièces il faut d'abord établir le fonctionnement du jeu le taquin :

    - Une grille avec 16 cases : 4x4
    - il y a 15 pièces numérotées + 1 pièce vide
    - on déplace chaque pièce : haut, bas, droite, gauche
    - il y a toujours une case vide = pièce vide

    ---> Avec ces éléments on peut en déduire que :

    - la pièce cliquée se déplace uniquement la ou il y a la case vide (pièce vide)
    - lors du déplacement de chaque pièce on mets à jour son positionnement par rapport à la grille
    - on pourrait prévoir une fonction type Swap entre la pièce cliquée et la pièce vide
    - chaque pièce doit être identifiée par rapport à son positionnement sur la grille pour déterminer dès le départ la solution du jeu


    ---> Que peut-on utiliser comme contrôles :

    - Personnellement j'utiliserai un UserControl qui possède par défaut un numero
    - Puis pour la grille j'utiliserai un contrôle TableLayoutPanel

    A+

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 23
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 4
    Par défaut
    Okay d'accord mais en fait je ne comprends pas comment faire la grille de sorte à faire une mise à jour des positionnement des pièces. Et comment faire un UserControl sur des boutons ?

  4. #4
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Oui je comprends que tu veuilles utiliser des boutons après tout il n'y aura à chaque fois qu'un seul déplacement possible....

    La création d'un UserControl te permettra de savoir ou il est positionné dans le tableayoutpanel.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 23
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 4
    Par défaut
    En fait, l'utilisation des boutons fait partie de la consigne et je suis obligée d'en utiliser... D'accord je vais tenter ça

  6. #6
    Membre expérimenté Avatar de Delaney
    Homme Profil pro
    Developpeur VB amateur
    Inscrit en
    Mars 2014
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Developpeur VB amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2014
    Messages : 148
    Par défaut
    Tu peux passer par un tableau intermédiaire 4x4 contenant des 1 ou le nom des boutons pour les cases occupées et le zéro pour la case vide.
    dans tous les cas, il ne peux y avoir qu'un seul mouvement.
    Tu stockes les positions physiques dans un deuxième tableau 4x4
    (ou mieux un tableau 3d, avec la 3eme dimension gérant soit la position physique, soit l'occupation)

    Pour savoir où se trouve le bouton, utilise la propriété tag : tu stockes sa position dans le tableau par x,y

    crée une procédure qui va tester en fonction du bouton que tu cliques, sa position et si une des cases adjacentes est la case vide et dans ce cas modifie la position du bouton et met à jour le tableau : la case précédemment vide devient pleine et la case anciennement pleine devient vide.

    Affecte cette procédure sur chaque bouton avec un code du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub Button_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button3.Click, Button4.Click ...
      Dim ClickedButton As Button
      ClickedButton = CType(sender, Button) 'ici tu obtiens le nom du bouton cliqué
       call ma_procedure(ClickedButton) ' a partir du moment que tu as le nom, tu peux tout faire avec...
    End Sub
    La procédure :
    • Récupère le tag du bouton cliqué et l’interprète en position x et y (compris entre 0 et 3)
    • Vérifie si une case adjacente est libre (tu peux passer par une procédure intermédiaire pour vérifier cela)
    • Si oui change la position physique du bouton et met à jour le tableau d'occupation et le tag du bouton
    • Sinon, il se passe rien

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 23
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 4
    Par défaut
    OUIIIII J'ai compris merciiiiiii!!! Du coup je vois comment faire!!!
    >Pour le tableau, je n'ai jamais vu comment faire un tableau 3d, du coup je crois je vais opter pour un tableau 4x4 qui m'a l'air plus compréhensible:
    Du coup je fais:



    // Là je veux dire que s'il y a un bouton à une case, affecter CasePleine ou CaseVide mais je sais pas comment sélectionner tous les boutons
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
            Dim TableauV(3, 3) As Integer
            Dim CasePleine As Integer = 1
            Dim CaseVide As Integer = 0
            For cpt As Integer = 0 To 3
                For cpt2 As Integer = 0 To 3
                    If TableauV(cpt, cpt2) = Button Then 'Ici pb avec le bouton
     
     
     
                        TableauV(cpt, cpt2) = CasePleine
                    Else
                        TableauV(cpt, cpt2) = CaseVide
                    End If
                Next
            Next
     
            Dim TableauPh(3, 3) As Integer
     
            For CaseXph As Integer = 0 To 3
                For CaseYph As Integer = 0 To 3
                    If TableauPh(CaseXph, CaseYph) = Button Then
                        TableauPh(CaseXph, CaseYph) = Button.Text
                    End If
                Next
            Next
    Je suis très nul en boucle et en création de tableau, donc je ne sais pas vraiment si c'est comme ça qu'il faut faire mais j'ai tenté un truc.

    Et pour la procédure comme c'est la première que j'en fais je sais pas trop mais je tente (j'ai juste commencer avec le tag):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
       Function comparaison(sender As Object)
            Object Tag = ((Button)sender).Tag    ' Comment récupérer un tag dun bouton, je pensais faire ça mais il m'indique erreur :calim2
            End If
    Merci encore

  8. #8
    Membre expérimenté Avatar de Delaney
    Homme Profil pro
    Developpeur VB amateur
    Inscrit en
    Mars 2014
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Developpeur VB amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2014
    Messages : 148
    Par défaut
    Exemples de tableau :

    tableau 2D :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim tab (4,4) as integer
    tableau 3D :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim tab (4,4,3) as integer
    Dans ton cas en effet, il faut mieux un deuxième tableau (mais de point cette fois) pour stocker les coordonnées physiques (X,Y) des cases

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Tab_Coord_Case(4,4) as point
    N'oublie pas que tes tableaux doivent être publique donc à déclarer dans ton form avant tout le reste par un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Public Tab_Occupation (4,4) as integer
    Public Tab_Coord_Cases(4,4) as point

  9. #9
    Membre expérimenté Avatar de Delaney
    Homme Profil pro
    Developpeur VB amateur
    Inscrit en
    Mars 2014
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Developpeur VB amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2014
    Messages : 148
    Par défaut
    Voici quelques idées


    Au départ on va considérer que c'est la case en bas à droite qui est vide :

    donc on a

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public Public Tab_Occupation (4,4) as integer
    Boucle de remplissage du tableau d'occupation + une liste de point à affecté au tag des boutons :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    dim list_point as new list (of point)
    for i = 0 to 3
    for j = 0 to 3
    dim p as new point
    p.X=i
    P.Y=j
    Tab_Occupation (i,j)=1
    list_point.add (p)
    next j
    next i
    Tab_Occupation (3,3)=0
    pour les tags des boutons

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dim i as integer =0
    For Each B as  button In Me.Panel1
    b.tag=list_point.item (i)
    i=i+1
    Next
    comme il y a 15 boutons et 16 emplacements, le dernier de la liste n'est pas affecté et c'est la case vide (d’où le choix du en bas à droite )


    comme tu affectes des points aux tags, ils vont agir comme des points donc tu auras par exemple bouton4.tag.X et bouton4.tag.Y que tu pourras utiliser pour vérifier si les positions autour (X± 1 et Y± 1) sont rempli ou vide

    donc dans ta procédure (et non une fonction) tu auras

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    'dans l'évènement click du bouton :
    Dim ClickedButton As Button
      ClickedButton = CType(sender, Button) 'ici tu obtiens le nom du bouton cliqué
     
    'puis la procédure dans un module
    public  sub ma_procedure(ClickedButton as button)
     
    ClickedButton.tag.X  'à utiliser
    ClickedButton.tag.Y  'à utiliser
     
    'etc...
     
    end sub

  10. #10
    Membre expérimenté Avatar de Delaney
    Homme Profil pro
    Developpeur VB amateur
    Inscrit en
    Mars 2014
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Developpeur VB amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2014
    Messages : 148
    Par défaut
    Tiens cadeau

    A toi d'analyser, d'adapter et de continuer : fait sous VB 2010 deplacement_dynamique.zip mais compatible 2017


    EDIT : Modification de la pièce jointe : le programme maintenant vérifie l'état des cases adjacentes à celle cliquée. Prochaine étape le mouvement.

  11. #11
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Voici qqch que tu pourrais agrémenter en ajoutant par exemple :

    - un randomize de pièces
    - des images à la place des chiffres

    .....etc....

    Donc comme expliqué plus haut j'utilise un UserControl et un TableLayoutPanel

    L avantage d utiliser un tablelayoutpanel c est que tu n as pas à te soucier du positionnement X Y puisqu il gère les coordonnées du usercontrol (CellPosition)

    Nom : Taq1.jpg
Affichages : 262
Taille : 34,5 Ko

    TaquinProject.zip

    Si tu as des questions n'hésites pas.

    Bon codage.++

  12. #12
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    Mais le faire pour chaque bouton (16) est laborieux. Saviez-vous comment faire pour déplacer les boutons ? Je pensais réaliser un tableau de structure et faire une méthode callback mais je ne sais pas si c'est la bonne solution.
    Probablement et c'est utiliser un marteau-pilon industriel de Fives-Lille ( forges) pour tuer ...une mouche...!!!

    Si tu veux à tout prix utiliser des boutons ,seul le DRAG DROP est ton ami (meme le tableau est inutile) ,il suffit de disposer tes boutons en rangées tres sages dur un Panel ajouté à ton Form

    voici un code .vb exemple très court qui déplace les boutons uniquement en CROIX (déplacement diagonaux non autorisés) qui illustre le propos...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
     
     
    Public Class Form1
        Private WB As Integer = 100 'largeur button
        Private HB As Integer = 40  'hauteur button
        Private FCols As Integer = 4 'nb colonnes
        Private FRows As Integer = 4 'nb lignes
        Private SepX As Integer = 10 'espacement Hor 
        Private SepY As Integer = 10 'espacement Ver
        Private X As Integer
        Private Y As Integer
     
        Private Numeros(15) As Integer 'tableau numeros
        Private GridButtons(FRows - 1, FCols - 1) As Button 'futile, peut etre eliminé
     
     
        Public Sub New()
            ' Cet appel est requis par le concepteur.
            InitializeComponent()
     
            ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
            Me.Panel1.BorderStyle = BorderStyle.Fixed3D
            Me.Panel1.BackColor = Color.White
            Me.Size = New Size(FCols * (WB + SepX), FRows * (HB + SepY))
        End Sub
        Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
            GenNumeros()
            CreateBoard()
     
        End Sub
        'reset du pave grid
        Private Sub ResetButton_Click_1(sender As System.Object, e As System.EventArgs) Handles ResetButton.Click
            GenNumeros()
            CreateBoard()
        End Sub
        'tirage au sort des numeros :0...15
        Private Sub GenNumeros()
            Array.Clear(Numeros, 0, Numeros.Length)
            Numeros = GetRandomNumbers(Numeros.Length)
        End Sub
        'dessin du board
        Private Sub CreateBoard()
            'clear tout y compris le Panel1 "hote"
            Array.Clear(GridButtons, 0, 16)
            Me.Panel1.Controls.Clear()
     
            Dim index As Integer = 0
            For col As Integer = 0 To FCols - 1
                For row As Integer = 0 To FRows - 1
     
                    X = row * (WB + SepX)
                    Y = col * (HB + SepY)
                    Dim btn As New Button()
                    Me.Panel1.Controls.Add(btn)
                    index = Me.Panel1.Controls.IndexOf(btn)
                    'curseur Croix
                    btn.Cursor = Cursors.SizeAll
                    btn.Location = New Point(X, Y)
                    btn.Size = New Size(WB, HB)
                    btn.Font = Me.Font
                    btn.Name = "btn" + Numeros(index).ToString()
                    btn.Text = Numeros(index).ToString()
                    'allow drop
                    btn.AllowDrop = True
     
                    If Numeros(index) = 0 Then
                        btn.BackColor = Color.DarkBlue
                    Else
                        btn.BackColor = Color.DarkGreen
                    End If
                    AddHandler btn.MouseMove, AddressOf btn_mousemove
                    AddHandler btn.DragEnter, AddressOf btn_dragenter
                    AddHandler btn.DragDrop, AddressOf btn_dragdrop
     
                    GridButtons(row, col) = btn
     
                Next
            Next
     
        End Sub
     
        Private Sub btn_mousemove(sender As Object, e As MouseEventArgs)
     
            If e.Button = MouseButtons.Left Then
                Dim btn As Button = CType(sender, Button)
                ' sender could be btnA or btnB - we dont care
                btn.DoDragDrop(btn, DragDropEffects.Copy)
            End If
     
        End Sub
        Private Sub btn_dragenter(sender As Object, e As DragEventArgs)
            If e.Data.GetDataPresent(GetType(Button)) Then
                e.Effect = DragDropEffects.Copy
            Else
                e.Effect = DragDropEffects.None
            End If
        End Sub
     
     
        Private Sub btn_dragdrop(sender As Object, e As DragEventArgs)
            If e.Data.GetDataPresent(GetType(Button)) = False Then
                Exit Sub
            End If
     
            ' sender == bouton CIBLE
            Dim btnDst As Button = CType(sender, Button)
            Dim posDst As Point = btnDst.Location
     
            ' e.Data == bouton SOURCE
            Dim bSrc As Button = CType(e.Data.GetData(GetType(Button)), Button)
            Dim posSrc As Point = bSrc.Location
     
     
     
            '
            Dim pt As Point
            If (posDst.X = posSrc.X And posDst.Y = posSrc.Y + SepY + HB) Or
               (posDst.X = posSrc.X And posDst.Y = posSrc.Y - SepY - HB) Then 'bouton CIBLE est en HAUT ou BAS
                pt = btnDst.Location
                ' swap locations
                btnDst.Location = bSrc.Location
                bSrc.Location = pt
            ElseIf (posDst.X = posSrc.X + SepX + WB And posDst.Y = posSrc.Y) Or
                   (posDst.X = posSrc.X - SepX - WB And posDst.Y = posSrc.Y) Then 'bouton CIBLE est à DROITE  ou à GAUCHE
                pt = btnDst.Location
                ' swap locations
                btnDst.Location = bSrc.Location
                bSrc.Location = pt
            End If
     
     
        End Sub
        'tirage au sort 
        Private rand As New Random()
        Private Function GetRandomNumbers(n As Integer) As Integer()
     
            Dim dstList As New List(Of Integer)
            While dstList.Count < n
                Dim number As Integer = rand.Next(0, n)
                If Not dstList.Contains(number) Then
                    dstList.Add(number)
                End If
            End While
            Return dstList.ToArray()
        End Function
     
     
     
    End Class
    bon code...

  13. #13
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Voici le projet agrémenté de la fonction "RandomizePieces" qui permet de générer des grilles aléatoires respectant la parité de la case vide et la parité du nombre de permutations afin que les déplacements des cases conduisent à une solution.

    Nom : Taq2.jpg
Affichages : 239
Taille : 31,1 Ko

    TaquinProject2.zip

    A+

  14. #14
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Bon et bien je faisais le ménage dans mes projets (de type exemple) et j'ai encore décidé d'agrémenter celui-ci donc voilà qqch de + sympa :

    TaquinProject3.zip

    Bon codage à tous.++

Discussions similaires

  1. Identification case blanche jeu Taquin
    Par anthonynguyen0 dans le forum Android
    Réponses: 4
    Dernier message: 13/03/2017, 15h55
  2. [LibreOffice][Tableur] Déplacement de cases
    Par lvignaud dans le forum OpenOffice & LibreOffice
    Réponses: 4
    Dernier message: 11/05/2015, 16h07
  3. déplacement cases colorées
    Par devhafid dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 01/06/2013, 22h48
  4. [TP] Recherche d'un code source taquin à 9 cases
    Par dericthebeast dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 03/08/2005, 18h34
  5. Limiter le déplacement de la souris
    Par el_bouleto dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/11/2002, 23h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo