public Domanda sostituisci(Domanda inputDom, int giocatore)
        {
            int altroGiocatore;

            do
            {
                altroGiocatore = rnd.Next(0, VarGlobal.numGioc);
            }while(altroGiocatore == giocatore);

            String  oldR      = inputDom.getRichiesta();
            String  newR      = oldR.Replace("aaa", VarGlobal.nomGioc[altroGiocatore]);
            Domanda sostiuita = new Domanda(inputDom.getId(), newR);

            return(sostiuita);
        }
        public Domanda getNextDomanda(String dbName, int giocatore)
        {
            int numTentativi = 0;
            int maxDom       = 0;
            //Inserisco in una stringa il nome del db da caricare e lo carico
            string db = "Databases/" + dbName + VarGlobal.scelta.ToString() + ".xml";

            loadedCustomData = XDocument.Load(db);
            //Genero un numero casuale tra 1 e 100 (Il numero varia da db a db) e carico la domanda con quell'id
            if (dbName.Equals("obbligo") && VarGlobal.scelta == 3)
            {
                maxDom = 107;
            }
            else
            {
                maxDom = 100;
            }

            int RandomId = 0;

            do
            {
                RandomId = rnd.Next(1, maxDom);
                numTentativi++;
            } while (isUsed(RandomId) && numTentativi <= 20);

            idUsati.Add(RandomId);
            var domanda = from c in loadedCustomData.Descendants("Richiesta")
                          where c.Attribute("id").Value == RandomId.ToString()
                          select c.Attribute("Contenuto").Value;

            Domanda scelta = new Domanda(RandomId, domanda.First().ToString());

            if (scelta.getRichiesta().Contains("aaa"))
            {
                scelta = sostituisci(scelta, giocatore);
            }

            return(scelta);
        }
예제 #3
0
        private void Gioca(object sender, RoutedEventArgs e)
        {
            obbligo.Visibility  = Visibility.Collapsed;
            verita.Visibility   = Visibility.Collapsed;
            instr.Visibility    = Visibility.Visible;
            immagine.Visibility = Visibility.Visible;
            done.Visibility     = Visibility.Visible;
            refused.Visibility  = Visibility.Visible;
            done.Text           = AppResources.Done;
            refused.Text        = AppResources.Refused;

            /*
             * //Inserisco in una stringa il nome del db da caricare e lo carico
             * string db = "Databases/"+choice + VarGlobal.scelta.ToString() + ".xml";
             * // instr.Text = db;
             * loadedCustomData = XDocument.Load(db);
             * //Genero un numero casuale tra 1 e 100 (Il numero varia da db a db) e carico la domanda con quell'id
             *
             * int RandomId = 0;
             * RandomId = rnd.Next(1, 101);
             * var domanda = from c in loadedCustomData.Descendants("Richiesta")
             *            where c.Attribute("id").Value == RandomId.ToString()
             *            select c.Attribute("Contenuto").Value;
             * //Assegno a una variabile temporanea il valore della domanda caricata, per verificare che non ci siano istanze di aaa
             * temp = domanda.First().ToString();*/

            Domanda scelta = fornitore.getNextDomanda(choice, count);

            /*
             * //Se c'è aaa
             * if (scelta.Contains("aaa"))
             * {   //Lo sostituisco con il nome scelto a caso di un giocatore
             *  RandomId = rnd.Next(0, VarGlobal.numGioc);
             *  temp = temp.Replace("aaa", VarGlobal.nomGioc[RandomId]);
             * }*/
            //Infine assegno al Textblock la domanda trovata
            instr.Text = scelta.getRichiesta();
        }