Exemple #1
0
        public void CellLogicTest()
        {
            #region Mag1

            var triangle1Mag1 = new TriangleUnit(1, 1, 1, Direction.Right);
            var triangle2Mag1 = new TriangleUnit(1, 1, 1, Direction.Up);
            var triangle3Mag1 = new TriangleUnit(1, 1, 1, Direction.Left);
            var triangle4Mag1 = new TriangleUnit(1, 1, 1, Direction.Down);
            Assert.IsTrue(triangle1Mag1.GetCells().Single().Equals(new ValueTuple <int, int, int>(1, 1, 1)));
            Assert.IsTrue(triangle2Mag1.GetCells().Single().Equals(new ValueTuple <int, int, int>(0, 1, 2)));
            Assert.IsTrue(triangle3Mag1.GetCells().Single().Equals(new ValueTuple <int, int, int>(0, 0, 3)));
            Assert.IsTrue(triangle4Mag1.GetCells().Single().Equals(new ValueTuple <int, int, int>(1, 0, 4)));
            #endregion

            #region Mag2

            var triangle1Mag2 = new TriangleUnit(1, 1, 2, Direction.Right);
            List <(int, int, int)> cells1Mag2 = triangle1Mag2.GetCells();
            Assert.IsTrue(cells1Mag2.Contains(new ValueTuple <int, int, int>(1, 1, 1)));
            Assert.IsTrue(cells1Mag2.Contains(new ValueTuple <int, int, int>(1, 1, 2)));
            Assert.IsTrue(cells1Mag2.Contains(new ValueTuple <int, int, int>(2, 1, 4)));
            Assert.IsTrue(cells1Mag2.Contains(new ValueTuple <int, int, int>(2, 1, 1)));

            var triangle2Mag2 = new TriangleUnit(1, 1, 2, Direction.Up);
            List <(int, int, int)> cells2Mag2 = triangle2Mag2.GetCells();
            Assert.IsTrue(cells2Mag2.Contains(new ValueTuple <int, int, int>(0, 1, 2)));
            Assert.IsTrue(cells2Mag2.Contains(new ValueTuple <int, int, int>(0, 1, 3)));
            Assert.IsTrue(cells2Mag2.Contains(new ValueTuple <int, int, int>(0, 2, 1)));
            Assert.IsTrue(cells2Mag2.Contains(new ValueTuple <int, int, int>(0, 2, 2)));

            var triangle3Mag2 = new TriangleUnit(1, 1, 2, Direction.Left);
            List <(int, int, int)> cells3Mag2 = triangle3Mag2.GetCells();
            Assert.IsTrue(cells3Mag2.Contains(new ValueTuple <int, int, int>(0, 0, 3)));
            Assert.IsTrue(cells3Mag2.Contains(new ValueTuple <int, int, int>(0, 0, 4)));
            Assert.IsTrue(cells3Mag2.Contains(new ValueTuple <int, int, int>(-1, 0, 3)));
            Assert.IsTrue(cells3Mag2.Contains(new ValueTuple <int, int, int>(-1, 0, 2)));

            var triangle4Mag2 = new TriangleUnit(1, 1, 2, Direction.Down);
            List <(int, int, int)> cells4Mag2 = triangle4Mag2.GetCells();
            Assert.IsTrue(cells4Mag2.Contains(new ValueTuple <int, int, int>(1, 0, 4)));
            Assert.IsTrue(cells4Mag2.Contains(new ValueTuple <int, int, int>(1, 0, 1)));
            Assert.IsTrue(cells4Mag2.Contains(new ValueTuple <int, int, int>(1, -1, 3)));
            Assert.IsTrue(cells4Mag2.Contains(new ValueTuple <int, int, int>(1, -1, 4)));
            #endregion

            #region Mag3

            var triangle1Mag3 = new TriangleUnit(0, 0, 3, Direction.Right);
            List <(int, int, int)> cells1Mag3 = triangle1Mag3.GetCells();
            Assert.IsTrue(cells1Mag3.Contains(new ValueTuple <int, int, int>(0, 0, 1)));
            Assert.IsTrue(cells1Mag3.Contains(new ValueTuple <int, int, int>(0, 0, 2)));
            Assert.IsTrue(cells1Mag3.Contains(new ValueTuple <int, int, int>(2, 0, 4)));
            Assert.IsTrue(cells1Mag3.Contains(new ValueTuple <int, int, int>(2, 0, 1)));
            Assert.IsTrue(cells1Mag3.Contains(new ValueTuple <int, int, int>(1, 1, 1)));
            Assert.IsTrue(cells1Mag3.Contains(new ValueTuple <int, int, int>(1, 0, 1)));
            Assert.IsTrue(cells1Mag3.Contains(new ValueTuple <int, int, int>(1, 0, 2)));
            Assert.IsTrue(cells1Mag3.Contains(new ValueTuple <int, int, int>(1, 0, 3)));
            Assert.IsTrue(cells1Mag3.Contains(new ValueTuple <int, int, int>(1, 0, 4)));
            #endregion
        }
        public void ToJson_Test2()
        {
            var parser  = new JsonParser();
            var diaUnit = new DiagridUnit(6, 6, 2);
            var triUnit = new TriangleUnit(0, 0, 2, Pattern.Core.System.Direction.Right);

            var quad = new RectangleFrameDiagrid(20, 20);

            quad.Insert(diaUnit);
            quad.Insert(triUnit);

            string json = JsonConvert.SerializeObject(quad);

            RectangleFrameDiagrid de = JsonConvert.DeserializeObject <RectangleFrameDiagrid>(json);
        }
Exemple #3
0
		public APU(NES nes, APU old, bool pal)
		{
			this.nes = nes;
			dmc = new DMCUnit(this, pal);
			sequencer_lut = pal ? sequencer_lut_pal : sequencer_lut_ntsc;
			
			noise = new NoiseUnit(this, pal);
			triangle = new TriangleUnit(this);
			pulse[0] = new PulseUnit(this, 1);
			pulse[1] = new PulseUnit(this, 0);
			if (old != null)
			{
				m_vol = old.m_vol;
			}
		}
Exemple #4
0
 public APU(NES nes, APU old, bool pal)
 {
     this.nes = nes;
     dmc      = new DMCUnit(this, pal);
     noise    = new NoiseUnit(this, pal);
     triangle = new TriangleUnit(this);
     pulse[0] = new PulseUnit(this, 0);
     pulse[1] = new PulseUnit(this, 1);
     if (old != null)
     {
         Square1V  = old.Square1V;
         Square2V  = old.Square2V;
         TriangleV = old.TriangleV;
         NoiseV    = old.NoiseV;
         DMCV      = old.DMCV;
     }
 }
Exemple #5
0
		public APU(NES nes, APU old, bool pal)
		{
			this.nes = nes;
			dmc = new DMCUnit(this, pal);
			noise = new NoiseUnit(this, pal);
			triangle = new TriangleUnit(this);
			pulse[0] = new PulseUnit(this, 0);
			pulse[1] = new PulseUnit(this, 1);
			if (old != null)
			{
				Square1V = old.Square1V;
				Square2V = old.Square2V;
				TriangleV = old.TriangleV;
				NoiseV = old.NoiseV;
				DMCV = old.DMCV;
			}
		}