Ejemplo n.º 1
0
        public void Clone()
        {
            Four_Block f = new Four_Block().Clone() as Four_Block;

            Assert.AreEqual(f.Inventaire.Nom, "FOUR");
            Assert.AreEqual(f.Inventaire.Longueur, 1);
            Assert.AreEqual(f.Inventaire.Hauteur, 3);
            Assert.AreEqual(f.Carburant, 0);
        }
Ejemplo n.º 2
0
        public void Constructeur()
        {
            Four_Block f = new Four_Block();

            Assert.AreEqual(f.Inventaire.Nom, "FOUR");
            Assert.AreEqual(f.Inventaire.Longueur, 1);
            Assert.AreEqual(f.Inventaire.Hauteur, 3);
            Assert.AreEqual(f.Carburant, 0);
        }
Ejemplo n.º 3
0
        public void Update()
        {
            Four_Block f = new Four_Block();

            f.Inventaire.SetItem(1, new Charbon(1));
            f.Update();
            Assert.IsNull(f.Inventaire.GetItem(0));
            Assert.IsNull(f.Inventaire.GetItem(2));
            Assert.AreEqual(f.Carburant, 0);
            Assert.AreEqual(f.Inventaire.GetItem(1).id(), new Charbon(1).id());
            Assert.AreEqual(f.Inventaire.GetItem(1).Quantite, 1);

            f.Inventaire.SetItem(0, new Minerais_Fer_Item(1));
            f.Update();
            Assert.IsNull(f.Inventaire.GetItem(0));
            Assert.IsNull(f.Inventaire.GetItem(1));
            Assert.AreEqual(f.Carburant, 70);
            Assert.AreEqual(f.Inventaire.GetItem(2).id(), new Fer(1).id());
            Assert.AreEqual(f.Inventaire.GetItem(2).Quantite, 1);

            f.Inventaire.SetItem(0, new Minerais_Fer_Item(1));
            f.Update();
            Assert.IsNull(f.Inventaire.GetItem(0));
            Assert.IsNull(f.Inventaire.GetItem(1));
            Assert.AreEqual(f.Carburant, 60);
            Assert.AreEqual(f.Inventaire.GetItem(2).id(), new Fer(1).id());
            Assert.AreEqual(f.Inventaire.GetItem(2).Quantite, 2);

            f.Inventaire.SetItem(0, new Minerais_Fer_Item(64));
            f.Inventaire.SetItem(1, new Charbon(64));
            f.Update();
            Assert.AreEqual(f.Carburant, 0);
            Assert.AreEqual(f.Inventaire.GetItem(0).id(), new Minerais_Fer_Item(1).id());
            Assert.AreEqual(f.Inventaire.GetItem(0).Quantite, 2);
            Assert.AreEqual(f.Inventaire.GetItem(1).id(), new Charbon(1).id());
            Assert.AreEqual(f.Inventaire.GetItem(1).Quantite, 57);
            Assert.AreEqual(f.Inventaire.GetItem(2).id(), new Fer(1).id());
            Assert.AreEqual(f.Inventaire.GetItem(2).Quantite, 64);

            f.Inventaire.SetItem(0, new Minerais_Fer_Item(10));
            f.Inventaire.SetItem(1, new Charbon(1));
            f.Inventaire.SetItem(2, null);
            f.Update();
            Assert.AreEqual(f.Carburant, 0);
            Assert.AreEqual(f.Inventaire.GetItem(0).id(), new Minerais_Fer_Item(1).id());
            Assert.AreEqual(f.Inventaire.GetItem(0).Quantite, 2);
            Assert.IsNull(f.Inventaire.GetItem(1));
            Assert.AreEqual(f.Inventaire.GetItem(2).id(), new Fer(1).id());
            Assert.AreEqual(f.Inventaire.GetItem(2).Quantite, 8);
        }
Ejemplo n.º 4
0
        public void Detruire()
        {
            {
                Four_Block tbc = new Four_Block();
                tbc.Inventaire.SetItem(0, new TroncDeChene_Item(2));

                Joueur j = new Joueur(0, 0);

                bool a = tbc.Detruire(j);
                Assert.IsFalse(a);
                Assert.IsNull(j.Barre.GetItem(0));
                Assert.IsNull(j.Barre.GetItem(1));
                Assert.IsNull(j.Barre.GetItem(2));
                Assert.IsNull(j.Inventaire.GetItem(0));
                Assert.IsNull(j.Inventaire.GetItem(1));

                j.AjouterItem(new PiocheBois());
                bool b = tbc.Detruire(j);
                Assert.IsTrue(b);
                Assert.AreEqual(j.Barre.GetItem(0).id(), new PiocheBois().id());
                Assert.AreEqual(j.Barre.GetItem(1).id(), new Four_Item(1).id());
                Assert.AreEqual(j.Barre.GetItem(1).Quantite, 1);
                Assert.AreEqual(j.Barre.GetItem(2).id(), new TroncDeChene_Item(1).id());
                Assert.AreEqual(j.Barre.GetItem(2).Quantite, 2);
                Assert.IsNull(j.Inventaire.GetItem(0));
                Assert.IsNull(j.Inventaire.GetItem(1));
            }
            {
                Four_Block tbc = new Four_Block();
                tbc.Inventaire.SetItem(0, new TroncDeChene_Item(2));
                tbc.Inventaire.SetItem(1, new FeuilleDeChene_Item(2));
                tbc.Inventaire.SetItem(2, new Pierre_Item(2));

                Joueur j = new Joueur(0, 0);

                j.AjouterItem(new PiocheBois());
                bool b = tbc.Detruire(j);
                Assert.IsTrue(b);
                Assert.AreEqual(j.Barre.GetItem(0).id(), new PiocheBois().id());
                Assert.AreEqual(j.Barre.GetItem(1).id(), new Four_Item(1).id());
                Assert.AreEqual(j.Barre.GetItem(1).Quantite, 1);
                Assert.AreEqual(j.Barre.GetItem(2).id(), new TroncDeChene_Item(1).id());
                Assert.AreEqual(j.Barre.GetItem(2).Quantite, 2);
                Assert.AreEqual(j.Inventaire.GetItem(0).id(), new FeuilleDeChene_Item(1).id());
                Assert.AreEqual(j.Inventaire.GetItem(0).Quantite, 2);
                Assert.AreEqual(j.Inventaire.GetItem(1).id(), new Pierre_Item(1).id());
                Assert.AreEqual(j.Inventaire.GetItem(1).Quantite, 2);
            }
        }
Ejemplo n.º 5
0
        public void CliqueDroit()
        {
            Four_Block f = new Four_Block();
            Joueur     j = new Joueur(0, 0);

            Tuple <bool, Tuple <Ecrans, object> > h = f.CliqueDroit(j);
            Tuple <Ecrans, object> g = h.Item2;

            Assert.AreEqual(g.Item1, Ecrans.Four);

            KeyValuePair <Four_Block, Inventaire[]> l = (KeyValuePair <Four_Block, Inventaire[]>)g.Item2;

            Assert.AreEqual(l.Key, f);
            Assert.AreEqual(l.Value.Length, 3);
            Assert.AreEqual(l.Value[0], f.Inventaire);
            Assert.AreEqual(l.Value[1], j.Inventaire);
            Assert.AreEqual(l.Value[2], j.Barre);
        }
Ejemplo n.º 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();
        }