예제 #1
0
        public void IncearcaSaDemarcheziUrmatoareaPozitie(Casuta.UserControl.Casuta casuta)
        {
            if (_aFacutMutarea || _view.ImagineValoareZar == Resources.info)
            {
                return;
            }

            var pion = GetPionDinCasuta(casuta);

            if (pion == null || !_jucatori[_randJucator].Pioni.Contains(pion))
            {
                return;
            }

            var umatoareaPozitie = GetUrmatoareaPozitiePion(pion);

            if (umatoareaPozitie < 0 || umatoareaPozitie > Constants.Constants.UltimaPozitie)
            {
                return;
            }

            var casutaUrmatoarePozitie = GetCasutaDePePozitia(umatoareaPozitie);

            casutaUrmatoarePozitie.ImaginePion.Image = null;
        }
예제 #2
0
        private void MutaPionInCasuta(Pion pion, Casuta.UserControl.Casuta casuta, int pozitieCasuta)
        {
            ElibereazaCasuta(pion.CasutaCurenta);

            pion.CasutaCurenta                 = casuta;
            pion.CasutaCurenta.EsteOcupata     = true;
            pion.PozitiaCurenta                = pozitieCasuta;
            casuta.ImaginePion.BackgroundImage = pion.Imagine;
        }
예제 #3
0
 public Pion(int id, Image imagine, int pozitiaCurenta, Casuta.UserControl.Casuta acasa)
 {
     Id             = id;
     Imagine        = imagine;
     PozitiaCurenta = pozitiaCurenta;
     Acasa          = acasa;
     CasutaCurenta  = acasa;
     CasutaCurenta.ImaginePion.BackgroundImage = imagine;
     CasutaCurenta.EsteOcupata = true;
 }
예제 #4
0
 private Pion GetPionDinCasuta(Casuta.UserControl.Casuta casuta)
 {
     foreach (var jucator in _jucatori)
     {
         foreach (var pion in jucator.Pioni)
         {
             if (pion.CasutaCurenta.Equals(casuta))
             {
                 return(pion);
             }
         }
     }
     //throw new PionNotFound;
     return(null);
 }
예제 #5
0
        public void IncearcaSaMutiPionDin(Casuta.UserControl.Casuta casuta)
        {
            if (!casuta.EsteOcupata)
            {
                return;
            }

            if (_aFacutMutarea)
            {
                MessageBox.Show(Resources.ai_mutat_deja_text, Resources.atentie_text);
                return;
            }
            var pion = GetPionDinCasuta(casuta);

            if (pion == null || !_jucatori[_randJucator].Pioni.Contains(pion))
            {
                MessageBox.Show(Resources.nu_ai_pion_in_acea_casuta_text, Resources.atentie_text);
                return;
            }

            var umatoareaPozitie = GetUrmatoareaPozitiePion(pion);

            //Nu a dat 6 ca sa iasa
            if (umatoareaPozitie < 0)
            {
                MessageBox.Show(Resources.arunca_6_sa_iesi_text, Resources.atentie_text);
                return;
            }

            if (umatoareaPozitie > Constants.Constants.UltimaPozitie)
            {
                MessageBox.Show(Resources.nu_mai_ai_unde_muta_pionul_text, Resources.atentie_text);
                return;
            }

            var casutaUrmatoarePozitie = GetCasutaDePePozitia(umatoareaPozitie);

            IncearcaSaDemarcheziUrmatoareaPozitie(casuta);
            IncearcaSaMutiPionIn(casutaUrmatoarePozitie, pion);

            VerificaDacaACastigat();
        }
예제 #6
0
        private void IncearcaSaMutiPionIn(Casuta.UserControl.Casuta casuta, Pion pion)
        {
            if (casuta.EsteOcupata)
            {
                var pionUrmatoareaPozitie = GetPionDinCasuta(casuta);

                if (pion.Imagine.Equals(pionUrmatoareaPozitie.Imagine))
                {
                    MessageBox.Show(Resources.ai_deja_pion_in_acea_casuta_text, Resources.atentie_text);
                    return;
                }

                MutaPionInCasa(pionUrmatoareaPozitie);
                EfectSunet(Resources.go_home);
            }
            else
            {
                EfectSunet(Resources.move);
            }

            MutaPionInCasuta(pion, casuta, GetUrmatoareaPozitiePion(pion));

            _aFacutMutarea = true;
        }
예제 #7
0
 private void ElibereazaCasuta(Casuta.UserControl.Casuta casuta)
 {
     casuta.ImaginePion.BackgroundImage = null;
     casuta.EsteOcupata = false;
 }