begin process at 2012 02 11 13:42:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Maths

 > 

bataille naval en C++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

bataille naval en C++

mardi 15 mai 2007 à 22:44:05 | bataille naval en C++

dany23

salut à tous, j'ai finalement décié de choisir de programmer le jeu de la bataille navale en C++.

J'ai déjà quelque idée comment faire. Le problème et que mon prof m'a demandé de trouver/inventer quelque algorithme qui pourrait m'aider pour mon programme et j'ai un peu de paine.

Il faut que je trouve: 1) comment faire pour mettre les bateaux alétoirement. 
                                   2) comment faire pour que ces bateaux ne se croisent pas.
pour c 2 chose, j'ai quelque idée mais elles sont assez vague( si vous avez quelque indice, je serait reconnaissant)


Il y a un autre problème aussi. Je ne voit pas comment je pourrait faire pour que l'ordinateur sache s'il y a un bateaux à la case que le joueur à choisit.

MERCI
mardi 15 mai 2007 à 22:48:07 | Re : bataille naval en C++

dany23

un moyen que j'ai trouvé est d'utilisé les if mais sa me semble un peu lent. Je suis sur qu'il y a un autre moyen.

désolé pour les fautes d'orthographes.
mardi 15 mai 2007 à 22:59:12 | Re : bataille naval en C++

luhtor

1) pour l'aléatoire, tu peux déterminer les coordonnées du centre du bateau ainsi qu'une direction aléatoire. Tu places ensuite le bateau si possible, si ce n'est pas le cas, tu tires au hasard a nouveau.

2) pour que la bateaux ne se croisent pas, suffit que ta fonction vérifie que sur chaque case ou tu places ton bateau, aucun bateau n'y est deja.

Et ta dernière question révèle en fait, que tu n'as pas d'idée précise du comment tu vas faire ta bataille navale. Faut forcément que quelque part, tu es une représentation du damier qui te permettent de tester a tel case, les bateaux qui s'y trouvent, si le joueur a deja tirer a cet endroit etc ...
mardi 15 mai 2007 à 23:03:47 | Re : bataille naval en C++

MuPuF

Hello, tu es débutant en c ou en c++ ? (cad, connais-tu la STL ou pas ?)

Si tu ne la connais pas :
- Creation d'une matrice à 2 dimension de caractere (tu vas voir pour quoi)  (char Bataille[Dimension][Dimension]={0};)
- Puis tu créés fait 2 randoms pour récupérer une coordonée X et une Y (donc 0<=X<=Dimension et 0<=Y<=Dimension)
- ensuite, tu choisis une direction (un autre random de 1 à 4 fera l'affaire)
- Tu regardes si tu peux poser le bateau (cad si il ne va pas dépasser du bord et si il ne va pas se placer sur une case ayant une valeur différente de 0)
- Si la voie est libre, alors il faut definir un code pour chaque bateau (5 pour le destroyer par exemple) et puis à chaque case du plateau ou il se trouve, tu dois marquer le code du bateau à poser
- Pour le jeu à proprement parlé, quand le joueur choisis une case, alors toi tu testes si elle est vide (=0) --> c'est dans l'eau, si c'est une case d'une autre valeur et qu'elle n'a pas déja été marquée (tu vas voir comment) alors on marque
Une case est marquée lorsque son numero est > 20 (par exemple), en fait pour marquer une case, on fait Bataille[X][Y]+=20;
Ce qui veut donc dire que l'on garde l'info du bateau qui est touché (suffit d'enlever 20 ou de faire un modulo 20) et qu'on sait qu'il a été marqué.
- Un bateau coule quand toutes ses cases sont marquées
 (Il faut obligatoirement stocker les cases du bateau en plus car il ne suffit pas de tester que toutes les cases adjacentes correspondant au même bateau soient marquée (par récursivité) car si 2 destroyer sont à coté, alors ça va chier (à moins que tu attribue un ID unique à chaque bateau, comme tu veux, à toi de voir)).
- tu connais la suite

Avec le c++, c'est bien plus propre, je te déconseillerai fortement le c pour ça car ça ne peut t'apporter que des bugs et puis une énorme lourdeur à coder. Mieux vaut garder le c pour les algorithmes et le c++ pour tout ce qui ne nécéssite pas de vitesse particulierement rapide (tout est relatif) et un code clair/maintenable.

Vila, bonne soirée


/*
MuPuF®
mardi 15 mai 2007 à 23:04:24 | Re : bataille naval en C++

MuPuF

grillé :-)


/*
MuPuF®
mardi 15 mai 2007 à 23:57:05 | Re : bataille naval en C++

THEwarrior333


J'aurais plutot dit "coulé"...



Cette discussion est classée dans : problème, idée, bataille, bateaux, naval


Répondre à ce message

Sujets en rapport avec ce message

Problème de scintillement [ par WildSkunk ] jai mis le double buffering mais jai toujours un leger scintillement quand jai une animation et ma carte video semble runner au max a chaque applicati bataille naval en C++ [ par dany23 ] salut à tous,je suis nouveau et je voudrai programmer un jeu de bataille naval. Est-ce que c'est envisageable pour quelqu'un qui débute!mici comment fair (bataille naval) [ par nangette ] bonjour tout le monde s'il vous plait j'ai une demande , j'ai un mini projet a fair qui consiste a fair un jeu de bataille naval avec turbo C et j'ar problème :certains de mes triangles disparaissent [ par widwid ] bonjourje dois représenter une surface avec opengl ,j'ai déjà réussi à fabriquer les triangles qui forment la surface,j'ai rajouté une lumière qui bou BitBlt Fenêtre Cachée.. Une solution ? [ par Hades53 ] Bonjour à tous, voilà je me trouve confronté à un petit problème. En fait je voudrais afficher une copier le contenu graphique d'une fenêtre. La fonc Problème d'écriture dans une fichier avec VC++ [ par snoopi_19ans ] j'ai développé une petite application avec MFC sur VC++ V6 : **************************** void CTest_Dlg::OnOK() { // TODO: Add extra validation her Problème de Link OpenGL [ par drummaniac ] Salut à tous!Encore un problème d'OpenGL...J'ai étudié les textures grâce au fabuleux site NeHe. Mais je voudrais maintenant implanter tout ça dans mo Problème avec textures [ par drummaniac ] Salut à tous!Je vous explique mon problème, j'essaie (en vain) d'appliquer des textures en OpenGL avec DevCpp à l'aide du site du zéro.Problème, je la problème de "cout" [ par infinity7780 ] Bonjour,J'ai acheté et j'ai lu plusieurs chose sur le C++.Mais comme je débute, je doit surement me trompé.Alors voici ma question. est-ce normal que Problème avec OnKillFocus [ par rachid1245 ] Bonjour à tous,voilà j'ai une fenêtre de dialogue avec plusieurs edits  numérique avec la propriété Tabstopdans la fonction OnChar je selectionne les


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,839 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales