Placement contrôlé d'une plage de cellules (bataille navale)

Signaler
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour internautes,

Dans le cadre de mon cours informatique, je dois réaliser un programme sur VBA soit le jeu Battleship. Je dois demander à l'utilisateur de placer les bateaux, mais je n'ai aucune idée comment m'y prendre. Si vous avez des suggestions, je vous en serait reconnaissant :)
A voir également:

2 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,
"mais je n'ai aucune idée comment m'y prendre"
Sans aucun doute : t'intéresser aux objets (images, shapes etc ...) , à leurs propriétés et à leur création.
Tu es ici sur un forum de développeurs (ce que tu es donc censé être).
Reviens s'il te plait en respectant la charte de ce forum, à savoir : une question technique, spécifique et parfaitement isolée, accompagnée du code tenté pour la résoudre.
Ce n'est qu'au prix de cet effort que tu pourras espérer recevoir l'aide adéquate.

PS :
1) "Battleship" se dit en Français "Bataille navale"
2) ton problème n'est pas la "bataille navale", mais la création et le positionnements d'objets sur une feuille Excel ou sur un Userform (selon ce que tu as choisi comme interface).


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Dans le fond j'ai plusieurs bugs. Le premier c'est d'empêcher l'utilisateur de placer un bateau à l'extérieur du tableau (si le bateau dépasse le tableau then replacer le bateau ailleurs) À moins que je bloque les cellules, mais je n'ai pas vu comment dans mon cours. Le deuxième est SI la taille du bateau est différent <> de 5 de replacer le bateau. Pour l'IA, j'ai placer les bateaux manuellement, mais j'aimerais bien que les bateaux soient placés aléatoirement dans son tableau.


Set porte_avion = Application.InputBox("Choisir 5 cellules ou placer le porte-avion", "Porte-avion", Type:=8)
porte_avion.Interior.Color = 65535
'If Range(porte_avion) <> 5 then
Redo???
'end if
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Ce qui fait là plusieurs questions !
La charte de ce forum précise qu'une discussion doit ne faire l'objet que d'UNE question, spécifique et parfaitement isolée. ...
Je vais donc me contenter de t'inviter à ouvrir ton aide VBA et à y lire :
- ce qu'est la propriété Cells
- ce qu'est la propriété Count
Ce sera un bon début (et nul besoin d'un cours pour cela).
Pour ton autre question (recommencer si réponse non acceptable) :
Intéresse-toi à l'utilisation des Boucles Do While, Do Until, While ...
Voilà.
Reviens après ces lectures et ton code d'essai si encore en difficulté, mais avec UNE seule question par discussion.

PS : Ah oui ! Intéresse-toi également à ce que permet la méthode Intersect (Application.Intersect) et lis, puis sers-t'en.
J'ai par ailleurs modifié ton titre.

<span class='signature'>________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
</span>