C# creation d'un jeux question reponce en c#

Fermé
vip181 - Modifié le 10 mars 2022 à 18:18
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 - 11 mars 2022 à 16:39
Bonjour,

comment créer une fonction qui associe le nom du joueur qui a été choisi aléatoirement grâce à la fonction que j'ai créée et au nom de la question qui est générée aléatoirement avec une autre fonction que j'ai créée. devez-vous créer un identifiant de joueur et un identifiant de question. Je vous envoie le code des fonctions aléatoires

 
        private List<Qes> qetquestion ()
        {
            List<Qes> lesquestions = new List<Qes>();
            Qes qes1 = new Qes()
            {
                question = "Combien font 20 * 50",
                reponse = "1000"
            };
            Qes qes2 = new Qes()
            {
                question = "Quel est le prenom de bonarte",
                reponse = "Napoleon"
            };
            lesquestions.Add(qes1);
            lesquestions.Add(qes2);
            lesQuestions = lesquestions;
            return lesquestions;
        }
        public Qes getrandomQuestion()
        {
            var random = new Random();
            var list = lesQuestions;
            int index = random.Next(list.Count);
            return list[index];
        }
        

EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
A voir également:

6 réponses

barnabe0057 Messages postés 14439 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 14 avril 2024 4 905
10 mars 2022 à 19:59
Bonjour,

C'est quoi que tu as posté ? Ton main ou bien une autre classe ?

Il faudrait poster toutes les classes, et en entier (avec le constructeur, getter, setter)

1
une classe forme et une autre classe pour les variable
2
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WinFormsApp1
{
    public partial class Form1 : Form
    {
        public int value_limite_question;
        public Form1()
        {
            value_limite_question = 30;

            Form3.temps = value_limite_question;
            ///initialise la variable  temps a 20

            InitializeComponent();

            ///démarrer le timer qui contien les if pour desactivée les bouton pendent une partie
            timer1.Start();
        }
        public void Btn()
        {
            //// timer qui permet activé ou desactivée les bouton pandant une partit ou  aprèes
            
           
        }

        /// <summary>
        /// Je crée la variable liste qui accueilera les prenon des joeur"
        /// </summary>
        public static List<string> langage = new List<string>();
        //itisialise la varble temps
        
        ///fonction qui permet de choisire un joueur aléatoirement qui se situe dans la liste
        public static int Randomindex(int mbplayers)

        {
            var rand = new Random();
            int index = rand.Next();
            return index % mbplayers;
        }
        ///fin de la fonction
        private void button1_Click(object sender, EventArgs e)
        {

            /// <summary>
            /// Je test voir si le prenon n'est pas  ajouter deux foix avec une condition IF et sinon j'ajoute le prénon dans la variable liste qui se nome langage
            /// </summary>

            if (Form3.temps < value_limite_question)
            {
                MessageBox.Show("inposible d'ajouite des jouer pendent une partie");
            }
            else
            {
                if (textBox1.Text == "")
                {
                    MessageBox.Show("veuiller ecrie le non d'un joueur la ligne ne peux pas ètre vièrge");
                }
                else
                {


                    if (langage.Contains(textBox1.Text) == true)
                    {
                        MessageBox.Show("dejat présent");
                    }

                    else
                    {

                        string Val = textBox1.Text;
                        langage.Insert(0, Val);

                        /// <summary>
                        /// avec cette boucle j'ajoute les élément de la variable  liste dans une listebox et je verifie qu'il n'est pas en double
                        /// </summary>
                        foreach (string item in langage)
                        {
                            if (listBox1.Items.Contains(item))
                            {

                                break;
                            }
                            else
                            {
                                listBox1.Items.Add(item);
                            }

                        }
                    }
                }
            }
        }
        
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            /// <summary>
            /// Suprime lélément le prénon du joueur selectioner  de la listeBox et de la variable liste 
            /// </summary>
            /// 
            if (Form3.temps >= value_limite_question)
            {
                
                string stock = (string)listBox1.SelectedItem;
                langage.Remove(stock);
                listBox1.Items.Remove(listBox1.SelectedItem);
            }
            else
            {
                MessageBox.Show("inposible de suprimer des jouer pendent la partie");

            }

        }

        public static bool check = false;
        Form2 f2;
        private void button2_Click(object sender, EventArgs e)
        {
            /// Verrifie si la varible temps et a 20 si oui sa bloque le bouton pose une question arrete le temps de jouer
            if (!langage.Any())
            {
                MessageBox.Show("pas de jouere crée veuiller ajoutée des joeur");
            }
         else
            {
                
                
                f2 = new Form2();
                int index = Randomindex(langage.Count());

                string Playername = langage.ElementAt(index);

        
                f2.Label1Value = Playername.ToString();
               

                f2.ShowDialog();
            }
            if (Form3.temps >= value_limite_question)
            {
                
                button2.Enabled = false;
            }
           
            /// <summary>
            ///
            /// verrifie si la liste des joueur(Langage)  est vide et affiche un message d'information
            /// </summary>

        }





        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button3_Click(object sender, EventArgs e)
        {
            if (!langage.Any())
            {
                MessageBox.Show("pas de jouere crée veuiller ajoutée des joeur");
            }
            else
            {
                MessageBox.Show("partie enclenché");
               Form3.temps = 1;
                button2.Enabled = true;
                button3.Enabled = false;
                timer1.Start();
            }
            


        }

        private void button4_Click(object sender, EventArgs e)
        {
            ///message pour arrter la partit en cours.
            if (MessageBox.Show("vouleur vous arrter la partie en cour(Oui)" + "\n" + "vouleur vous arrter la partie en cour(non)?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)

            {
                ///arret la partit en cour
                Form3.temps = value_limite_question;
            }

            else

            {
              ///continue la partie en cour
            }

           
           
                
        }

        private void button5_Click(object sender, EventArgs e)
        {
            timer1.Stop();
            Application.Exit();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
        
           
            ///timer qui permet de desactive des bouton pendand la partie
            if (Form3.temps >= value_limite_question)
            {
                button2.Enabled = false;
                button3.Enabled = true;
                button4.Enabled = false;
                button6.Enabled = true;
                button7.Enabled = true;
                button8.Enabled = true;
            }

            if (Form3.temps < value_limite_question)
            {
                button2.Enabled = true;
                button3.Enabled = false;
                button4.Enabled = true;
                button6.Enabled = false;
                button7.Enabled = false;
                button8.Enabled = false;

            }
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void button6_Click(object sender, EventArgs e)
        {
            ////initialisation puis selection ensuite  choix de la valeur de la varaiable value_limite_question
            value_limite_question = 20;

            Form3.temps = value_limite_question;
        }

        private void button7_Click(object sender, EventArgs e)
        {
            ////initialisation puis selection ensuite  choix de la valeur de la varaiable value_limite_question
            value_limite_question = 30;

            Form3.temps = value_limite_question;
        }

        private void button8_Click(object sender, EventArgs e)
        {
            ////initialisation puis selection ensuite  choix de la valeur de la varaiable value_limite_question
            value_limite_question = 40;

            Form3.temps = value_limite_question;
        }
        public List<Qes> lesQuestions;
        /// <summary>
        /// crée les question et les reponce grace a cette fonction
        /// </summary>
        /// <returns></returns>
        private List<Qes> qetquestion ()
        {
            List<Qes> lesquestions = new List<Qes>();
            Qes qes1 = new Qes()
            {
                question = "Combien font 20 * 50",
                reponse = "1000"
            };
            Qes qes2 = new Qes()
            {
                question = "Quel est le prenom de bonarte",
                reponse = "Napoleon"
            };
            lesquestions.Add(qes1);
            lesquestions.Add(qes2);
            lesQuestions = lesquestions;
            return lesquestions;
        }


        /// <summary>
        /// choisie  les  question et les reponce de manière aleatoire grace a set fonction
        /// </summary>
        /// <returns></returns>

        public Qes getrandomQuestion()
        {
            var random = new Random();
            var list = lesQuestions;
            int index = random.Next(list.Count);
            return list[index];
        }
        



    }
0
barnabe0057 Messages postés 14439 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 14 avril 2024 4 905 > vip181
Modifié le 11 mars 2022 à 07:00
Où est la classe Qes ? Tu l'as instancié mais je ne la vois nulle part.
0
vip181 > barnabe0057 Messages postés 14439 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 14 avril 2024
11 mars 2022 à 11:56
le Qes est dans une autre classe



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;


namespace WinFormsApp1
{
public class Qes

{

public string question { get; set; }
public string reponse { get; set; }

}
}


0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 928
11 mars 2022 à 07:29
Bonjour

Quand Balladur a corrigé ton message hier, il t'as indiqué un tutoriel pour bien utiliser les balises de code.
Tuto que tu n'as manifestement pas bien lu, car j'ai dû corriger ton second message.
Je te remets le lien là
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code


Il y a beaucoup à dire sur ton code, si je ne devais en citer que 2
  • l'orthographe, alors ça ne parfait pas important pour code, mais l'utilisateur ne voit pas le code, il vois l'interface et ce qui y est écrit. Là il ne verra que des fautes et jugeras ton programme là dessus et pas sur son contenu
  • la cohérence entre le nom d'une variable est ce qu'elle contient. Quand je lis rapidement, il n'y a aucune variable contenant le nom (avec un m) des joueurs. Par contre, il y en a une qui contient un langage et un seul.


En l'état, je ne peux pas répondre à ta question, comme le souligne Barnabé (que je salue), la class Ques pourrait aider, mais surtout je ne suis pas sûr de comprendre ce que tu veux faire.
1
help me
0

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;


namespace WinFormsApp1
{
public class Qes

{

public string question { get; set; }
public string reponse { get; set; }

}
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WinFormsApp1
{
    public partial class Form1 : Form
    {
        public int value_limite_question;
        public Form1()
        {
            value_limite_question = 30;

            Form3.temps = value_limite_question;
            ///initialise la variable  temps a 20

            InitializeComponent();

            ///démarrer le timer qui contien les if pour desactivée les bouton pendent une partie
            timer1.Start();
        }
        public void Btn()
        {
            //// timer qui permet activé ou desactivée les bouton pandant une partit ou  aprèes
            
           
        }

        /// <summary>
        /// Je crée la variable liste qui accueilera les prenon des joeur"
        /// </summary>
        public static List<string> langage = new List<string>();
        //itisialise la varble temps
        
        ///fonction qui permet de choisire un joueur aléatoirement qui se situe dans la liste
        public static int Randomindex(int mbplayers)

        {
            var rand = new Random();
            int index = rand.Next();
            return index % mbplayers;
        }
        ///fin de la fonction
        private void button1_Click(object sender, EventArgs e)
        {

            /// <summary>
            /// Je test voir si le prenon n'est pas  ajouter deux foix avec une condition IF et sinon j'ajoute le prénon dans la variable liste qui se nome langage
            /// </summary>

            if (Form3.temps < value_limite_question)
            {
                MessageBox.Show("inposible d'ajouite des jouer pendent une partie");
            }
            else
            {
                if (textBox1.Text == "")
                {
                    MessageBox.Show("veuiller ecrie le non d'un joueur la ligne ne peux pas ètre vièrge");
                }
                else
                {


                    if (langage.Contains(textBox1.Text) == true)
                    {
                        MessageBox.Show("dejat présent");
                    }

                    else
                    {

                        string Val = textBox1.Text;
                        langage.Insert(0, Val);

                        /// <summary>
                        /// avec cette boucle j'ajoute les élément de la variable  liste dans une listebox et je verifie qu'il n'est pas en double
                        /// </summary>
                        foreach (string item in langage)
                        {
                            if (listBox1.Items.Contains(item))
                            {

                                break;
                            }
                            else
                            {
                                listBox1.Items.Add(item);
                            }

                        }
                    }
                }
            }
        }
        
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            /// <summary>
            /// Suprime lélément le prénon du joueur selectioner  de la listeBox et de la variable liste 
            /// </summary>
            /// 
            if (Form3.temps >= value_limite_question)
            {
                
                string stock = (string)listBox1.SelectedItem;
                langage.Remove(stock);
                listBox1.Items.Remove(listBox1.SelectedItem);
            }
            else
            {
                MessageBox.Show("inposible de suprimer des jouer pendent la partie");

            }

        }

        public static bool check = false;
        Form2 f2;
        private void button2_Click(object sender, EventArgs e)
        {
            /// Verrifie si la varible temps et a 20 si oui sa bloque le bouton pose une question arrete le temps de jouer
            if (!langage.Any())
            {
                MessageBox.Show("pas de jouere crée veuiller ajoutée des joeur");
            }
         else
            {
                
                
                f2 = new Form2();
                int index = Randomindex(langage.Count());

                string Playername = langage.ElementAt(index);

        
                f2.Label1Value = Playername.ToString();
               

                f2.ShowDialog();
            }
            if (Form3.temps >= value_limite_question)
            {
                
                button2.Enabled = false;
            }
           
            /// <summary>
            ///
            /// verrifie si la liste des joueur(Langage)  est vide et affiche un message d'information
            /// </summary>

        }





        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button3_Click(object sender, EventArgs e)
        {
            if (!langage.Any())
            {
                MessageBox.Show("pas de jouere crée veuiller ajoutée des joeur");
            }
            else
            {
                MessageBox.Show("partie enclenché");
               Form3.temps = 1;
                button2.Enabled = true;
                button3.Enabled = false;
                timer1.Start();
            }
            


        }

        private void button4_Click(object sender, EventArgs e)
        {
            ///message pour arrter la partit en cours.
            if (MessageBox.Show("vouleur vous arrter la partie en cour(Oui)" + "\n" + "vouleur vous arrter la partie en cour(non)?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)

            {
                ///arret la partit en cour
                Form3.temps = value_limite_question;
            }

            else

            {
              ///continue la partie en cour
            }

           
           
                
        }

        private void button5_Click(object sender, EventArgs e)
        {
            timer1.Stop();
            Application.Exit();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
        
           
            ///timer qui permet de desactive des bouton pendand la partie
            if (Form3.temps >= value_limite_question)
            {
                button2.Enabled = false;
                button3.Enabled = true;
                button4.Enabled = false;
                button6.Enabled = true;
                button7.Enabled = true;
                button8.Enabled = true;
            }

            if (Form3.temps < value_limite_question)
            {
                button2.Enabled = true;
                button3.Enabled = false;
                button4.Enabled = true;
                button6.Enabled = false;
                button7.Enabled = false;
                button8.Enabled = false;

            }
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void button6_Click(object sender, EventArgs e)
        {
            ////initialisation puis selection ensuite  choix de la valeur de la varaiable value_limite_question
            value_limite_question = 20;

            Form3.temps = value_limite_question;
        }

        private void button7_Click(object sender, EventArgs e)
        {
            ////initialisation puis selection ensuite  choix de la valeur de la varaiable value_limite_question
            value_limite_question = 30;

            Form3.temps = value_limite_question;
        }

        private void button8_Click(object sender, EventArgs e)
        {
            ////initialisation puis selection ensuite  choix de la valeur de la varaiable value_limite_question
            value_limite_question = 40;

            Form3.temps = value_limite_question;
        }
        public List<Qes> lesQuestions;
        /// <summary>
        /// crée les question et les reponce grace a cette fonction
        /// </summary>
        /// <returns></returns>
        private List<Qes> qetquestion ()
        {
            List<Qes> lesquestions = new List<Qes>();
            Qes qes1 = new Qes()
            {
                question = "Combien font 20 * 50",
                reponse = "1000"
            };
            Qes qes2 = new Qes()
            {
                question = "Quel est le prenom de bonarte",
                reponse = "Napoleon"
            };
            lesquestions.Add(qes1);
            lesquestions.Add(qes2);
            lesQuestions = lesquestions;
            return lesquestions;
        }


        /// <summary>
        /// choisie  les  question et les reponce de manière aleatoire grace a set fonction
        /// </summary>
        /// <returns></returns>

        public Qes getrandomQuestion()
        {
            var random = new Random();
            var list = lesQuestions;
            int index = random.Next(list.Count);
            return list[index];
        }
        



    }




et l'autre classe

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;


namespace WinFormsApp1
{
    public class Qes

    {

        public string question { get; set; }
        public string reponse { get; set; }

    }
}





0
la variable langage est celle qui contiens les joueur
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 928
11 mars 2022 à 16:39
C’est bien ce que je dis c’est pas cohérent, donc tu ne nous aide pas à essayer de t’aider.
Ta variable devrait s’appeler « joueurs » ou « lesJoueurs »..
Et ça n’explique toujours par mieux ou plus clairement ce que tu veux faire
0