Accueil > Forum > > > > Problème de pointage d'une case d'un tableau vers une case d'un autre tableau
Problème de pointage d'une case d'un tableau vers une case d'un autre tableau
vendredi 27 janvier 2006 à 18:31:18 |
Problème de pointage d'une case d'un tableau vers une case d'un autre tableau

250386
|
Bonjour, voila, je suis sous VB6 et j'ai un petit probleme. J'ai un tableau : joug(10 to 109) as ??????? et 7 autres de la forme : adv(1 to 5) as boolean adv2(1 to 4) as boolean etc... Je voudrait savoir comment je peux faire pointer joug(35) sur adv(1) par exemple. J'ai essayé de mettre joug en string et de faire : joug(35)="adv(1)", mais le problème est que je ne peux plus récupérer la valeur booleénne de adv(1) après. Je pourrais faire des tests pour savoir si joug(35)="adv(1)" alors adv(1)=true, mais ces tests seraient vraiment trop longs.... Si vous avez une idée, merci!! 250386
|
|
vendredi 27 janvier 2006 à 19:47:24 |
Re : Problème de pointage d'une case d'un tableau vers une case d'un autre tableau

pcpt
|
salut,
il faudrait que tu expliques le but.
là, juste mettre le nom d'une variable en string dans une tableau, çà
ne sert pas à grand chose, puisque VB ne gère pas une string par
rapport à son équivalent nommé... (c'est pas du PHP ;))
|
|
vendredi 27 janvier 2006 à 20:06:38 |
Re : Problème de pointage d'une case d'un tableau vers une case d'un autre tableau

250386
|
Ben en faite, je fait une sorte de "bataille navale". Les petits tableaux représente les bateaux. je me sert d'un tableau pour savoir si la bateau a été coulé (tableau plein) : booleen (touché ou pas) Lorsque je vais jouer, si je touche un bateau, je veux que la partie du tableau correspondante a la partie du bateau touché passe a True. Ma grille est faite avec des picturebox indexées, donc, lors que je place mes bateau, le seul moyen de savoir quelle partie de quel bateau est sur quelle case est de déclarer un tableau. Et donc, le tableau ayant les mem indices que les picturebox, il me faut un moyen de faire un lien entre ce tableau et les tableaux correspondants aux bateaux. Ci ce n'est pas encore assez claire, dite-le, j'essayerais d'expliqué autrement. merci
|
|
vendredi 27 janvier 2006 à 21:07:54 |
Re : Problème de pointage d'une case d'un tableau vers une case d'un autre tableau

pcpt
|
non, c'est compris, mais je ne vois pas l'intérêt des petits tableaux (les bateaux).
puisqu'une fois une case touchée, vide ou non, tu dois regarder si elle
contient un bateau, si oui lequel, et si tout ce bateau est touché,
pourquoi ne pas tout stoquer dans cette même case...
voici le principe :
'une Form, 5 boutons par défaut
Option Explicit
'
'
Private Type tBateau
tNomBateau As String
tTailleBateau As Integer
tTouche As Boolean
End Type
'
Dim aCases(10 To 109) As tBateau
'
'
Private Sub Form_Load()
' init le tableau
Dim i As Integer
For i = 10 To 109
aCases(i).tNomBateau = ""
aCases(i).tTailleBateau = 0
aCases(i).tTouche = False
Next i
' ta routine d'attribution aléatoire sans (surement utilisateur vs PC..)
' disons Porte-Avion (5) sur la première ligne horizontale
For i = 10 To 14
aCases(i).tNomBateau = "Porte-Avion"
aCases(i).tTailleBateau = 5
Next i
' et un de 3 vertical
aCases(20).tNomBateau = "Navire"
aCases(20).tTailleBateau = 3
aCases(30).tNomBateau = "Navire"
aCases(30).tTailleBateau = 3
aCases(40).tNomBateau = "Navire"
aCases(40).tTailleBateau = 3
' les boutons pour le test
Command1.Caption = "Petit"
Command2.Caption = "Petit"
Command3.Caption = "Grand"
Command4.Caption = "Rien"
Command5.Caption = "Petit"
End Sub
'
'
'
Private Sub Command1_Click()
' on touche le petit bateau
Call VerifImpact(20)
End Sub
Private Sub Command2_Click()
' on touche le petit bateau
Call VerifImpact(30)
End Sub
Private Sub Command3_Click()
' on touche le grand
Call VerifImpact(14)
End Sub
Private Sub Command4_Click()
' on touche rien
Call VerifImpact(60)
End Sub
Private Sub Command5_Click()
' on touche (coule?) le petit
Call VerifImpact(40)
End Sub
'
'
'
Private Sub VerifImpact(ByVal iCase As Integer)
' on vérifie qu'il y a un bateau (donc taille>0 ou nom <>"", l'un des 2)
' on va même gérer une case déjà jouée
If aCases(iCase).tTailleBateau = 0 Then
' rien, on marque jouée
MsgBox "Plouff", vbInformation
aCases(iCase).tTailleBateau = -1
ElseIf aCases(iCase).tTailleBateau = -1 Then
' jouée mais vide
MsgBox "Case déjà jouée !!", vbInformation
Else
' là il y a un bateau. touché?
If aCases(iCase).tTouche Then
MsgBox "Case déjà jouée!!", vbInformation
Else
' touche bateau!!!
MsgBox aCases(iCase).tNomBateau & " touché !!!"
' on enregistre le touché (et tu gères pour la coucleur de la Pic correspondante)
aCases(iCase).tTouche = True
' et on vérifie si il reste des cases libres au bateau
If Not VerifBateauOK(aCases(iCase).tNomBateau) Then
MsgBox aCases(iCase).tNomBateau & " coulé !!", vbCritical
End If
End If
End If
End Sub
'
'
'
Private Function VerifBateauOK(ByVal sName As String) As Boolean
Dim i As Integer
Dim bCoule As Boolean
bCoule = True
For i = 10 To 109
If (aCases(i).tNomBateau = sName) And Not aCases(i).tTouche) Then
bCoule = False
Exit For
End If
Next i
VerifBateauOK = Not bCoule
End Function

Coloration
syntaxique automatique [AFCK]
qu'est-ce que tu en dis?
++
PCPT [AFCK]
|
|
vendredi 27 janvier 2006 à 21:12:56 |
Re : Problème de pointage d'une case d'un tableau vers une case d'un autre tableau

pcpt
|
If (aCases(i).tNomBateau = sName) And (Not aCases(i).tTouche) Then
|
|
vendredi 27 janvier 2006 à 22:33:21 |
Re : Problème de pointage d'une case d'un tableau vers une case d'un autre tableau

250386
|
Il est bien pensé comme code. C'est vrai qu'il est intéresant, mais le truc que je lui reproche, c'est que contrairement a mon idée (meme si elle ne marche pas lol), c'est que pour la vérification des bateaux, tu as besoin de te repalucher tout le tableau. C'est domage qu'il n'y ait pas moyen de pointer vers une adresse commen en C, ça serait bien pratique. Ben j'y réfléchiré mieux demain.
Merci a toi PCPT pour ton aide
|
|
Cette discussion est classée dans : problème, tableau, case, adv, joug
Répondre à ce message
Sujets en rapport avec ce message
problème primaire de tableaux [ par undo ]
Admettons un tableau as string, mettonsdim Noms(120), rempli de chaines de caractères parfois identiques.admettons un autre tableau, vide, NomUnique(x
DESSINER UN TABLEAU (ET SES VALEURS...... ES-CE POSSIBLE?) [ par koubihack ]
Programmeurs, programmeuses... BonjourJ'ai besoin de savoir comment afficher les données d'un tableau qui sont remplies de façons différentes à chaque
Problème à la con avec tableau dynamique [ par Misutsu ]
Salut tout le monde !!!Voilà, j'ai jamais tester avant de tableau dynamique, mais là j'en ai un besoin vital, voici en gros ce que j'ai tapoté : dim t
Checkbox problème! [ par STEN83 ]
Petit problème avec un Checkbox, dans une feuille de calcul je voudrais placer une case à cocher et faire en sorte que celle-ci une fois la coche acti
Problème indice en dehors de la plage [ par Darkukai ]
Bonjour à tous (tes)j'ai un soucis dans l'utilisation des tableauxvoici un bout de code pour l'illustrerdim tableau() as stringfor i = 1 to 10ReDim Pr
Ube condition qui ne marche pas sur un if [ par ndsaerith ]
Bonjour tout le mondeVoila j'ai une condition if suivie d'un select case.Ma condition se fait sur une string() qui récupère les valeurs d'un split :ta
Petit Problème de Connexion [ par Cpapy ]
Bonjour, Pour se connecter il faut donner son Login et son mot de passe. Ces deux information me sont systématiquement demandés malgré la coche
déclaration tableau VBA [ par pommeverte ]
salut , j'ai un problème avec VBA , j'arrive a déclarer les tableau avec une taille variable : message d'erreur " l'expression sur chargement entrée c
déclaration tableau VBA [ par pommeverte ]
salut , j'ai un problème avec VBA , j'arrive a déclarer les tableau avec une taille variable : message d'erreur " l'expression sur chargement entrée c
Datagrid et évenement click [ par 5n0w ]
Salut, Je viens de trouver quelque chose d'assez bizarre. Lorsque je clique sur mon datagrid sur la colonne de gauche (celle grise avec la flèche)
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|