Пример #1
0
        public void Echanger()
        {
            Joueur p = new Joueur(0, 0);

            Echange[] e = new Echange[]
            {
                new Echange(new Emeraude(1), new Boeuf_Cuit(1)),
                new Echange(new Boeuf_Cuit(1), new Emeraude(1))
            };

            Marchand m = new Marchand(0, 0, e);

            Assert.AreEqual(m.Echanges, e);

            m.Inventaire.AjouterItem(new Emeraude(1));
            m.Inventaire.AjouterItem(new Boeuf_Cuit(1));

            Assert.IsNull(p.Barre.GetItem(0));
            p.AjouterItem(new Emeraude(1));
            Assert.IsTrue(p.Barre.GetItem(0).Equals(new Emeraude(1)));
            Assert.IsFalse(p.Barre.GetItem(0).Equals(new Boeuf_Cuit(1)));

            m.Echanger(p, 0);
            Assert.IsFalse(p.Barre.GetItem(0).Equals(new Emeraude(1)));
            Assert.IsTrue(p.Barre.GetItem(0).Equals(new Boeuf_Cuit(1)));

            m.Echanger(p, 1);
            Assert.IsTrue(p.Barre.GetItem(0).Equals(new Emeraude(1)));
            Assert.IsFalse(p.Barre.GetItem(0).Equals(new Boeuf_Cuit(1)));

            m.Echanger(p, 1);
            Assert.IsTrue(p.Barre.GetItem(0).Equals(new Emeraude(1)));
            Assert.IsFalse(p.Barre.GetItem(0).Equals(new Boeuf_Cuit(1)));
        }
Пример #2
0
        public void CliqueDroite()
        {
            Marchand marchand        = new Marchand(0, 0, null);
            Tuple <Ecrans, object> t = new Tuple <Ecrans, object>(Ecrans.Marchand, marchand);
            Tuple <Ecrans, object> m = marchand.CliqueDroite(null);

            Assert.AreEqual(m.Item1, t.Item1);
            Assert.AreEqual(m.Item2, t.Item2);
        }
Пример #3
0
        public void Tp()
        {
            Marchand joueur = new Marchand(0, 0, null);

            joueur.Tp(2, 2);
            Assert.AreEqual(joueur.X, 2);
            Assert.AreEqual(joueur.Y, 2);
            joueur.Tp(-1, -5);
            Assert.AreEqual(joueur.X, -1);
            Assert.AreEqual(joueur.Y, -5);
        }
Пример #4
0
        public void Equals()
        {
            Monde    m  = new Monde(new FlatGenerateur(new Noise()));
            Marchand j1 = new Marchand(0, 0, null);

            Marchand j2 = new Marchand(0, 0, null);

            Assert.IsTrue(j1.Equals(j2));
            Assert.IsTrue(j2.Equals(j1));
            j2.Bouger(1, 0, m);
            Assert.IsFalse(j1.Equals(j2));
            Assert.IsFalse(j2.Equals(j1));
        }
Пример #5
0
        public void Bouger()
        {
            Monde m = new Monde(new FlatGenerateur(new Noise()));

            m.GenerateChunk(0, 0);
            Marchand joueur = new Marchand(0, 0, null);

            joueur.Bouger(2, 2, m);
            Assert.AreEqual(joueur.X, 1);
            Assert.AreEqual(joueur.Y, 0);
            joueur.Bouger(-1, -5, m);
            Assert.AreEqual(joueur.X, 0);
            Assert.AreEqual(joueur.Y, 0);
        }
Пример #6
0
        /// <summary>
        /// change l'ecran</br>
        /// IL FAUT ACTUALISE LE FORM
        /// </summary>
        /// <param name="necran"></param>
        public static void ChangerEcran(Ecrans necran, object autre)
        {
            if (ecran == necran)
            {
                return;
            }

            List <UI_Item> items = new List <UI_Item>();

            if (necran == Ecrans.Inventaire)
            {
                OuvrireInventaire();
                inventaires = (Inventaire[])autre;
                Inventaire inv = inventaires[0];
                if (inv.Hauteur > 3)
                {
                    throw new ArgumentException("inventaire trop haut");
                }
                if (inv.Longueur > 9)
                {
                    throw new ArgumentException("inventaire trop long");
                }
                for (int x = 0; x < inv.Longueur; x++)
                {
                    for (int y = 0; y < inv.Hauteur; y++)
                    {
                        items.Add(new UI_Item(inv.GetItem(x + (y * inv.Longueur)), Memoire.InvToScreen(7 + x * 18, 53 - y * 18)));
                    }
                }
            }
            if (necran == Ecrans.Joueur)
            {
                OuvrireInventaire();
                Joueur joueur = autre as Joueur;
                inventaires = new Inventaire[] { joueur.Inventaire, joueur.Barre };

                items.Add(new UI_Item(joueur.Casque, Memoire.InvToScreen(7, 7)));
                items.Add(new UI_Item(joueur.Plastron, Memoire.InvToScreen(7, 25)));
                items.Add(new UI_Item(joueur.Jambiere, Memoire.InvToScreen(7, 43)));
                items.Add(new UI_Item(joueur.Botte, Memoire.InvToScreen(7, 61)));

                items.Add(new UI_Item(joueur.Crafting.GetItem(0), Memoire.InvToScreen(97, 17)));
                items.Add(new UI_Item(joueur.Crafting.GetItem(2), Memoire.InvToScreen(97, 35)));
                items.Add(new UI_Item(joueur.Crafting.GetItem(1), Memoire.InvToScreen(115, 17)));
                items.Add(new UI_Item(joueur.Crafting.GetItem(3), Memoire.InvToScreen(115, 35)));
            }
            if (necran == Ecrans.Marchand)
            {
                OuvrireInventaire();
                marchand    = (Marchand)autre;
                inventaires = new Inventaire[] { Sauvegarde.joueur.Inventaire, Sauvegarde.joueur.Barre };

                items.Add(new UI_Item(null, Memoire.InvToScreen(77, 14)));
                items.Add(new UI_Item(null, Memoire.InvToScreen(95, 14)));
                //items.Add(new UI_Item(null, Memoire.InvToScreen(147, 14)));
            }
            if (necran == Ecrans.TableCraft)
            {
                OuvrireInventaire();
                Inventaire inv = ((Inventaire[])autre)[0];

                items.Add(new UI_Item(inv.GetItem(0), Memoire.InvToScreen(29, 16)));
                items.Add(new UI_Item(inv.GetItem(1), Memoire.InvToScreen(47, 16)));
                items.Add(new UI_Item(inv.GetItem(2), Memoire.InvToScreen(65, 16)));

                items.Add(new UI_Item(inv.GetItem(3), Memoire.InvToScreen(29, 34)));
                items.Add(new UI_Item(inv.GetItem(4), Memoire.InvToScreen(47, 34)));
                items.Add(new UI_Item(inv.GetItem(5), Memoire.InvToScreen(65, 34)));

                items.Add(new UI_Item(inv.GetItem(6), Memoire.InvToScreen(29, 52)));
                items.Add(new UI_Item(inv.GetItem(7), Memoire.InvToScreen(47, 52)));
                items.Add(new UI_Item(inv.GetItem(8), Memoire.InvToScreen(65, 52)));

                inventaires = (Inventaire[])autre;
            }
            if (necran == Ecrans.Four)
            {
                OuvrireInventaire();

                KeyValuePair <Four_Block, Inventaire[]> returne = (KeyValuePair <Four_Block, Inventaire[]>)autre;
                four        = returne.Key;
                inventaires = returne.Value;
                Inventaire inv = returne.Value[0];
                items.Add(new UI_Item(inv.GetItem(0), Memoire.InvToScreen(55, 16)));
                items.Add(new UI_Item(inv.GetItem(1), Memoire.InvToScreen(55, 52)));
                items.Add(new UI_Item(inv.GetItem(2), Memoire.InvToScreen(116, 35)));
            }
            if (necran == Ecrans.Jeu)
            {
                if (Memoire.items != null)
                {
                    SauvegarderInventaire();
                }
                inventaires = null;
                marchand    = null;
                four        = null;
                ActuHotBarre();
            }
            foreach (UI_Item it in items)
            {
                Memoire.items.Add(it);
                Memoire.form.Controls.Add(it);
            }

            if (ecran == Ecrans.Jeu)
            {
                Memoire.form.Controls.Remove(Memoire.barre);
                Memoire.form.Controls.Remove(Memoire.selector);
                Memoire.form.Controls.Remove(Memoire.coeur);
                Memoire.form.Controls.Remove(Memoire.nourriture);
            }

            ecran = necran;
            Memoire.form.Actualiser();
        }