Beispiel #1
0
        public static int IzbrisiPitanjeIOdgovore(pitanjeOdgovoriView odabranRedak)
        {
            int provjera = 1;

            using (var context = new KvizModelEntities())
            {
                var query = from po in context.ponudeni_odgovori
                            where po.pitanje_id == odabranRedak.pitanje_id
                            select po;
                List <ponudeni_odgovor> zaBrisanjeOdgovori = query.ToList();
                foreach (var ponOdg in zaBrisanjeOdgovori)
                {
                    context.ponudeni_odgovori.Remove(ponOdg);
                    if (context.SaveChanges() == 0)
                    {
                        provjera = 0;
                    }
                }

                var query1 = from p in context.pitanja
                             where p.pitanje_id == odabranRedak.pitanje_id
                             select p;
                pitanje zaBrisanjePitanje = query1.Single();
                context.pitanja.Remove(zaBrisanjePitanje);
                if (context.SaveChanges() == 0)
                {
                    provjera = 0;
                }
            }

            return(provjera);
        }
Beispiel #2
0
        public static List <ponudeni_odgovor> DohvatiOdgovoreNaPitanje(pitanje prvoPitanje)
        {
            List <ponudeni_odgovor> ponudeniOdgovori;

            using (var context = new KvizModelEntities())
            {
                var query = from po in context.ponudeni_odgovori
                            where po.pitanje_id == prvoPitanje.pitanje_id
                            select po;
                ponudeniOdgovori = query.ToList();
            }

            return(ponudeniOdgovori);
        }
Beispiel #3
0
        public void igrajZavrsnu()
        {
            /* ako je nastavak igre?  */
            cmpIgrac igrac1 = new cmpIgrac();
            cmpIgrac igrac2 = new cmpIgrac();
            /* popraviti ovo */

            Random vremena = new Random();
            this.okButton.Visible = false;
            userOdgovara = false;

            // load pitanja iz xmla
            List<pitanje> pitanjaList = new List<pitanje>();

            XmlTextReader xmlPitanja = new XmlTextReader(@"D:\VS2010\Kviskoteka\zavrsnaIgra.xml");

            String sName = "";
            pitanje tempPitanje = new pitanje();
            while (xmlPitanja.Read())
            {
                switch (xmlPitanja.NodeType)
                {
                    case XmlNodeType.Element:
                        sName = xmlPitanja.Name;
                        if (sName == "zavrsnaIgra")
                        {
                            tempPitanje = new pitanje();
                        }
                        break;
                    case XmlNodeType.Text:
                        switch (sName)
                        {
                            case "Pitanje":
                                tempPitanje.pitanjeText = xmlPitanja.Value;
                                break;
                            case "oTocan":
                                tempPitanje.tocanOdgovor = xmlPitanja.Value;
                                break;
                            case "oKrivi1":
                                tempPitanje.pogresanOdgovor1 = xmlPitanja.Value;
                                break;
                            case "oKrivi2":
                                tempPitanje.pogresanOdgovor2 = xmlPitanja.Value;
                                pitanjaList.Add(tempPitanje);
                                break;
                        }
                        break;
                }
            }

            //randomizirati listu

            // listPitanja
            //MessageBox.Show("Ucitanih: " + pitanjaList.Count() + " pitanja. Prvo: " + pitanjaList[0].pitanjeText);

            for (int indexPitanja = 0; indexPitanja < 10; indexPitanja++) // petlja pitanja
            {
                // odaberi vremena u kojima ce odgovarati cmp igraci:
                // i njihove odgovore na pitanje.

                int taster1 = 20, taster2 = 20, tasterUser = 20;
                string odgovor1 = "", odgovor2 = "" ;

                switch (igrac1.Snaga)
                {
                    case cmpIgrac.snaga.slab:
                        taster1 = vremena.Next(5, 20);
                        if (vremena.Next(1, 10) <= 5)
                            odgovor1 = pitanjaList[indexPitanja].pogresanOdgovor1;
                        else
                            odgovor1 = pitanjaList[indexPitanja].tocanOdgovor;
                        break;
                    case cmpIgrac.snaga.srednji:
                        taster1 = vremena.Next(3, 10);
                        if (vremena.Next(1, 10) <= 3)
                            odgovor1 = pitanjaList[indexPitanja].pogresanOdgovor1;
                        else
                            odgovor1 = pitanjaList[indexPitanja].tocanOdgovor;
                        break;
                    case cmpIgrac.snaga.jak:
                        taster1 = vremena.Next(1, 5);
                        if (vremena.Next(1, 10) <= 1)
                            odgovor1 = pitanjaList[indexPitanja].pogresanOdgovor1;
                        else
                            odgovor1 = pitanjaList[indexPitanja].tocanOdgovor;
                        break;
                }

                switch (igrac2.Snaga)
                {
                    case cmpIgrac.snaga.slab:
                        taster2 = vremena.Next(5, 20);
                        if (vremena.Next(1, 10) <= 5)
                            odgovor2 = pitanjaList[indexPitanja].pogresanOdgovor2;
                        else
                            odgovor2 = pitanjaList[indexPitanja].tocanOdgovor;
                        break;
                    case cmpIgrac.snaga.srednji:
                        taster2 = vremena.Next(3, 10);
                        if (vremena.Next(1, 10) <= 3)
                            odgovor2 = pitanjaList[indexPitanja].pogresanOdgovor2;
                        else
                            odgovor2 = pitanjaList[indexPitanja].tocanOdgovor;
                        break;
                    case cmpIgrac.snaga.jak:
                        taster2 = vremena.Next(1, 5);
                        if (vremena.Next(1, 10) <= 1)
                            odgovor2 = pitanjaList[indexPitanja].pogresanOdgovor2;
                        else
                            odgovor2 = pitanjaList[indexPitanja].tocanOdgovor;
                        break;
                }

                //msg

                // pokazi pitanje i pokreni timer:
                this.label1.Text = pitanjaList[indexPitanja].pitanjeText;
                this.label2.Text = "Prijave u tijeku!";

                this.ButtonUser.Text = "Klik za prijavu!";
                this.Button1.Text = "Igrač 1";
                this.Button2.Text = "Igrač 2";

                this.igracPrijavljen = false;

                this.Refresh();

                //petlja za prijave
                this.clock1.Start();
                while (!this.clock1.tickedOff())
                {

                    int vrijeme = this.clock1.Tick;
                    this.label2.Text = "Vrijeme: " + vrijeme;

                    if (this.igracPrijavljen)
                    {
                        tasterUser = vrijeme;
                        this.ButtonUser.Text = "Prijavljen!";

                    }
                    if (vrijeme >= taster1)
                    {
                        this.Button1.Text = "Prijavljen!";
                    }
                    if (vrijeme >= taster2)
                    {
                        this.Button2.Text = "Prijavljen!";
                    }

                    if (vrijeme >= taster1 && (vrijeme >= taster2 && this.igracPrijavljen))
                    {
                        this.clock1.Stop();
                        break;
                    }

                    if (clock1.tickedOff())
                        break;

                }

                //prijave zavrsene ...

                //odgovaranje
                if (tasterUser <= taster1 && tasterUser <= taster2)
                {
                    this.label2.Text = "Unesite odgovor!";
                    this.okButton.Visible = true;

                }
                else if (taster1 <= tasterUser && taster1 <= taster2)
                {
                    this.label2.Text = "Igrač 1 unosi odgovor...";
                    this.textBox1.Text = odgovor1;

                }
                else
                {
                    this.label2.Text = "Igrač 2 unosi odgovor...";
                    this.textBox1.Text = odgovor2;

                }
                // provjera !

                MessageBox.Show("gotove prijave");

                //igra gotova?
            }

            // obracunaj bodove
        }