예제 #1
0
        /// <summary>
        /// Yritetään luoda uusi peli. Estetään asetusten
        /// muuttaminen ja näytetään odotuspaneli.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            buttonPois.Visible          = false;
            buttonLuoPeli.Visible       = false;
            buttonPeruutaLuonti.Visible = true;
            progressBarYhdistys.MarqueeAnimationSpeed = 80;
            panelYhdistys.Visible = true;
            buttonLuoPeli.Visible = false;
            numerovalitsinLeveys.Klikattavissa       = false;
            numerovalitsinKorkeus.Klikattavissa      = false;
            numerovalitsinPortti.Klikattavissa       = false;
            numerovalitsinVoittopituus.Klikattavissa = false;


            yhteys = new Liikenne();
            //yhteysTemp.Alustusviestit = alustukset;
            yhteys.Palvelin           = true;
            yhteys.avattu            += new Yhteys(yhteys_avattu);
            yhteys.yhdistysEiOnnistu += new Yhteys(yhteys_eiOnnistu);
            yhteys.Portti             = numerovalitsinPortti.Arvo;


            labelInfoYhdistetaan.Text = "Peli luotu osoitteeseen " + yhteys.palautaIP() + ", odotetaan yhteyttä...";
            String virhe = yhteys.aloitaYhteys();

            if (virhe != null)
            {
                paivitaTieto("virhe: " + virhe); nollaa();
            }
        }
예제 #2
0
        /// <summary>
        /// Luodaan uusi peli. Näytetään pelinluonti-ikkuna.
        /// Ikkunan sulkeutumisen jälkeen luodaan peli ikkunan
        /// nettiliikennekomponentin avulla. Jos ikkunan
        /// Katkaise-property on true, ei luoda peliä.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonLuoUusiPeli_Click(object sender, EventArgs e)
        {
            FormLuoPeli luonti = new FormLuoPeli();

            luonti.Korkeus    = Properties.Settings.Default.pituus;
            luonti.Leveys     = Properties.Settings.Default.leveys;
            luonti.Voittorivi = Properties.Settings.Default.voittopituus;
            luonti.Portti     = Properties.Settings.Default.portti;
            luonti.ShowDialog();
            if (luonti.Yhteys == null)
            {
                return;
            }
            if (!luonti.Yhteys.Yhdistetty)
            {
                return;                            // keskeytetty katkaisu....
            }
            nettiliikenne         = luonti.Yhteys;
            nettiliikenne.Kanavat = kanavat;

            //Ensimmäinen viesti, joka sisältää kentän koon
            nettiliikenne.lahetaViesti("A" + VERSIO + "|" + textBoxNimi.Text + "|" + luonti.Voittorivi + ":" + luonti.Leveys + ":" + luonti.Korkeus, "protokolla");
            nettiliikenne.uusiViesti     += new Viesti(nettiliikenne_uusiViesti);
            nettiliikenne.LukuSeis        = false;
            ristikkoPeliristikko.Vuorossa = true;
            labelInfo.Text = "Vuorossa: " + textBoxNimi.Text;
            alustaPeli(luonti.Korkeus, luonti.Leveys, luonti.Voittorivi);
        }
예제 #3
0
        /// <summary>
        /// Peruutetaan yhteyden odottaminen. Toteutetaan
        /// siten, että luodaan uusi yhteys, joka suljetaan
        /// heti. Muutetaan tämän jälkeen katkaisumuuttuja
        /// trueksi.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonPeruutaLuonti_Click(object sender, EventArgs e)
        {
            paivitaTieto("peruutetaan luonti...");
            katkaise = true;
            Liikenne nettiperuutus = new Liikenne();

            nettiperuutus.Palvelin = false;
            nettiperuutus.Portti   = numerovalitsinPortti.Arvo;
            nettiperuutus.Osoite   = "127.0.0.1";
            nettiperuutus.aloitaYhteys();
            nettiperuutus.suljeYhteys();
        }
예제 #4
0
 /// <summary>
 /// Avataan peliinliittymisikkuna. Ikkuna sisältää mahdollisen 
 /// luodun yhteyden.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void buttonLiityPeliin_Click(object sender, EventArgs e)
 {
     FormLiity yhdistys = new FormLiity();
     yhdistys.Portti = this.portti;
     yhdistys.Ip = this.ip;
     yhdistys.ShowDialog();
     if (yhdistys.Yhteys == null) return;
     nettiliikenne = yhdistys.Yhteys;
     nettiliikenne.Kanavat = kanavat;
     nettiliikenne.uusiViesti += new Viesti(nettiliikenne_uusiViesti);
     nettiliikenne.LukuSeis = false;
     ristikkoPeliristikko.Vuorossa = false;
 }
예제 #5
0
        /// <summary>
        /// Avataan peliinliittymisikkuna. Ikkuna sisältää mahdollisen
        /// luodun yhteyden.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonLiityPeliin_Click(object sender, EventArgs e)
        {
            FormLiity yhdistys = new FormLiity();

            yhdistys.Portti = this.portti;
            yhdistys.Ip     = this.ip;
            yhdistys.ShowDialog();
            if (yhdistys.Yhteys == null)
            {
                return;
            }
            nettiliikenne                 = yhdistys.Yhteys;
            nettiliikenne.Kanavat         = kanavat;
            nettiliikenne.uusiViesti     += new Viesti(nettiliikenne_uusiViesti);
            nettiliikenne.LukuSeis        = false;
            ristikkoPeliristikko.Vuorossa = false;
        }
예제 #6
0
        /// <summary>
        /// Yritetään yhdistää lomakkeen tietojen mukaisesti
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonYhdista_Click(object sender, EventArgs e)
        {
            labelInfoYhdistetaan.Visible = true;
            labelInfoYhdistetaan.Text = "yhdistetään...";
            progressBarYhdistys.MarqueeAnimationSpeed = 80;
            panelYhdistys.Visible = true;
            textBoxIPosoite.ReadOnly = true;
            numerovalitsinPortti.Klikattavissa = false;
            buttonYhdista.Visible = false;

            yhteys = new Liikenne();
            yhteys.avattu += new Yhteys(yhteys_avattu);
            yhteys.yhdistysEiOnnistu += new Yhteys(yhteys_eiOnnistu);
            yhteys.Osoite = textBoxIPosoite.Text;
            yhteys.Portti = numerovalitsinPortti.Arvo;

            String virhe = yhteys.aloitaYhteys();
        }
예제 #7
0
        /// <summary>
        /// Yritetään yhdistää lomakkeen tietojen mukaisesti
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonYhdista_Click(object sender, EventArgs e)
        {
            labelInfoYhdistetaan.Visible = true;
            labelInfoYhdistetaan.Text    = "yhdistetään...";
            progressBarYhdistys.MarqueeAnimationSpeed = 80;
            panelYhdistys.Visible              = true;
            textBoxIPosoite.ReadOnly           = true;
            numerovalitsinPortti.Klikattavissa = false;
            buttonYhdista.Visible              = false;

            yhteys                    = new Liikenne();
            yhteys.avattu            += new Yhteys(yhteys_avattu);
            yhteys.yhdistysEiOnnistu += new Yhteys(yhteys_eiOnnistu);
            yhteys.Osoite             = textBoxIPosoite.Text;
            yhteys.Portti             = numerovalitsinPortti.Arvo;

            String virhe = yhteys.aloitaYhteys();
        }
예제 #8
0
        /// <summary>
        /// Tuo aloitusnäytön näkyviin.
        /// </summary>
        private void aloitaAlusta()
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new aloitaAlustaDelegate(aloitaAlusta), new Object[] {});
                return;
            }

            panelRevanssinappulat.Visible = false;
            if (nettiliikenne != null)
            {
                nettiliikenne.suljeYhteys();
            }
            nettiliikenne                = null;
            peliKaynnissa                = false;
            labelInfo.Visible            = false;
            panelAlku.Visible            = true;
            ristikkoPeliristikko.Visible = false;
            panelKeskustelu.Visible      = false;
            buttonPaavalikkoon.Visible   = false;
            this.Size = new Size(390, 240);
        }
예제 #9
0
 /// <summary>
 /// Luodaan uusi peli. Näytetään pelinluonti-ikkuna.
 /// Ikkunan sulkeutumisen jälkeen luodaan peli ikkunan
 /// nettiliikennekomponentin avulla. Jos ikkunan 
 /// Katkaise-property on true, ei luoda peliä.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void buttonLuoUusiPeli_Click(object sender, EventArgs e)
 {
     FormLuoPeli luonti = new FormLuoPeli();
     luonti.Korkeus = Properties.Settings.Default.pituus;
     luonti.Leveys = Properties.Settings.Default.leveys;
     luonti.Voittorivi = Properties.Settings.Default.voittopituus;
     luonti.Portti = Properties.Settings.Default.portti;
     luonti.ShowDialog();
     if (luonti.Yhteys == null) return;
     if (!luonti.Yhteys.Yhdistetty) return; // keskeytetty katkaisu....
     nettiliikenne = luonti.Yhteys;
     nettiliikenne.Kanavat = kanavat;
     
     //Ensimmäinen viesti, joka sisältää kentän koon
     nettiliikenne.lahetaViesti("A"+VERSIO+"|"+textBoxNimi.Text+"|"+luonti.Voittorivi+":"+luonti.Leveys+":"+luonti.Korkeus, "protokolla");
     nettiliikenne.uusiViesti += new Viesti(nettiliikenne_uusiViesti);
     nettiliikenne.LukuSeis = false;
     ristikkoPeliristikko.Vuorossa = true;
     labelInfo.Text = "Vuorossa: " + textBoxNimi.Text;
     alustaPeli(luonti.Korkeus, luonti.Leveys, luonti.Voittorivi);
 }
예제 #10
0
 /// <summary>
 /// Tuo aloitusnäytön näkyviin.
 /// </summary>
 private void aloitaAlusta()
 {
     if (this.InvokeRequired)
     {
         this.BeginInvoke(new aloitaAlustaDelegate(aloitaAlusta), new Object[] {});
         return;
     }
     
     panelRevanssinappulat.Visible = false;
     if (nettiliikenne != null) nettiliikenne.suljeYhteys();
     nettiliikenne = null;
     peliKaynnissa = false;
     labelInfo.Visible = false;
     panelAlku.Visible = true;
     ristikkoPeliristikko.Visible = false;
     panelKeskustelu.Visible = false;
     buttonPaavalikkoon.Visible = false;
     this.Size = new Size(390, 240);
 }
예제 #11
0
        /// <summary>
        /// Yritetään luoda uusi peli. Estetään asetusten 
        /// muuttaminen ja näytetään odotuspaneli.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            buttonPois.Visible = false;
            buttonLuoPeli.Visible = false;
            buttonPeruutaLuonti.Visible = true;
            progressBarYhdistys.MarqueeAnimationSpeed = 80;
            panelYhdistys.Visible = true;
            buttonLuoPeli.Visible = false;
            numerovalitsinLeveys.Klikattavissa = false;
            numerovalitsinKorkeus.Klikattavissa = false;
            numerovalitsinPortti.Klikattavissa = false;
            numerovalitsinVoittopituus.Klikattavissa = false;


            yhteys = new Liikenne();
            //yhteysTemp.Alustusviestit = alustukset;
            yhteys.Palvelin = true;
            yhteys.avattu += new Yhteys(yhteys_avattu);
            yhteys.yhdistysEiOnnistu += new Yhteys(yhteys_eiOnnistu);
            yhteys.Portti = numerovalitsinPortti.Arvo;


            labelInfoYhdistetaan.Text = "Peli luotu osoitteeseen " + yhteys.palautaIP() + ", odotetaan yhteyttä...";
            String virhe = yhteys.aloitaYhteys();
            if (virhe != null) { paivitaTieto("virhe: " + virhe); nollaa();  }
        }
예제 #12
0
 /// <summary>
 /// Peruutetaan yhteyden odottaminen. Toteutetaan 
 /// siten, että luodaan uusi yhteys, joka suljetaan 
 /// heti. Muutetaan tämän jälkeen katkaisumuuttuja
 /// trueksi.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void buttonPeruutaLuonti_Click(object sender, EventArgs e)
 {
     paivitaTieto("peruutetaan luonti...");
     katkaise = true;
     Liikenne nettiperuutus = new Liikenne();
     nettiperuutus.Palvelin = false;
     nettiperuutus.Portti = numerovalitsinPortti.Arvo;
     nettiperuutus.Osoite = "127.0.0.1";
     nettiperuutus.aloitaYhteys();
     nettiperuutus.suljeYhteys();
 }