Meilleur auteur de réponses
JeuDémineu

Question
-
En effet voici le code du Jeu: J'aimerais avoir des réponse plus explicites sur les commentaires dans le code.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace JeuDémineur
{
class Program
{
static void Main(string[] args)
{
string[] nivo1 = { "Débutant", "Intermédiaire", "Avancé" };
int[] nivo2 = { 10, 40, 99 };
int niv = 0;
int mines, nbmines = 0, lin = 0, col = 0;
choisiNiveau(ref niv);
Console.Clear();//Efface de la mémoire tampon de la console et de la fenêtre de console correspondante les informations d'affichage.
switch (niv)
{
case 1:
lin = 9;
col = 9;
break;
case 2:
{
lin = 16;
col = 16;
break;
}
case 3:
{
lin = 16;
col = 30;
break;
}
}
//Incompris !!!!!!!!!!!
int[,] demineur = new int[lin, col];
mines = nivo2[niv - 1];
PlacerMines(demineur, mines);
placerchiffre(demineur);
Afficher(demineur);
Console.ReadKey();// J'aimerais savoir le Rôle de cette fonction !!!!!!!!
}
private static void Afficher(int[,] demineur)
{
for (int i = 0; i < demineur.GetLength(0); i++)
{
for (int j = 0; j < demineur.GetLength(1); j++)
{
/*if (j % demineur.GetLength(1) == 0)
{
Console.WriteLine();
}*/
if (demineur[i, j] == -1)
Console.Write(" * ");
else if (demineur[i, j] == 0)
Console.Write(" . ");
else Console.Write(" {0} ", demineur[i, j]);
}
Console.WriteLine();
}
}
static void choisiNiveau(ref int niv)
{
Console.WriteLine("Jeu démineur");
Console.WriteLine("------------");
Console.WriteLine("Niveau de difficulté (1,2 ou 3)");
Console.WriteLine("-1- Débutant : Grille 9x9 et 10 Mines");
Console.WriteLine("-2- Intermédiaire : Grille 16x16 et 40 Mines");
Console.WriteLine("-3- Avancé : Grille 16x30 et 99 Mines");
Console.WriteLine("Votre choix ?");
niv = int.Parse(Console.ReadLine());// J'aimerais savoir le Rôle de cette fonction !!!!!!!!
while ((niv < 1 || niv > 3))
{
Console.WriteLine("Mauvais choix! Réécrire ?");
niv = int.Parse(Console.ReadLine());
}
}
static void PlacerMines(int[,] demineur, int mines)
{
Random rnd = new Random();
while (mines != 0)
{
int x = rnd.Next(demineur.GetLength(0));// J'aimerais savoir le Rôle de cette fonction !!!!!!!!!!
int y = rnd.Next(demineur.GetLength(1));// J'aimerais savoir le Rôle de cette fonction !!!!!!!!!!
if (demineur[x, y] != -1)
{
demineur[x, y] = -1;
mines--;
}
}
}
static void placerchiffre(int[,] demineur)
{
for(int i=0;i < demineur.GetLength(0);i++)
for(int j=0; j<demineur.GetLength(1);j++)
{
if(demineur[i,j]==0)
demineur[i,j]=caculerchiffre(demineur, i, j);
}
}
private static int caculerchiffre(int[,] d, int i, int j)
{
int n = 0;
for (int x = i - 1; x <= i + 1; x++)
for (int y = j - 1; y <= j + 1; y++)
{
if (x >= 0 && y >= 0 && x < d.GetLength(0) && y < d.GetLength(1))
if (d[x, y] == -1)
n++;
}
return n;
}
/*static void Jouer(int[,] demineur,int i,int j)
{
if(demineur[i,j]!=0)
Devoilercase(demineur,nb,i,j)
else if(demineur[i,j]=-1;
else
for(i=0;i<demineur.GetLength(0);i++)
for(j=0;j<demineur.GetLength(1);i++)
}*/
}
}
Réponses
-
Bonjour,
Ce n'est pas la peine de poser 15 fois la même question sur ce forum.
Pour en savoir plus sur ce que fait Console, rendez-vous sur sa documentation qui est bien faite :
Documentation MSDN sur Console
Richard Clark
Consultant - Formateur .NET
http://www.c2i.fr
Depuis 1996: le 1er site .NET francophone- Marqué comme réponse Nina ZaekovaMicrosoft contingent staff, Moderator lundi 30 mars 2015 07:03