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

Raja - Modifié par ucfoutu le 24/11/2014 à 07:36
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 24 nov. 2014 à 06:40
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 :)

2 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 20/11/2014 à 19:54
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
0
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 24/11/2014 à 07:40
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>
-2
Rejoignez-nous