예제 #1
0
 internal static void Cotchinow(int i)
 {
     if (Caught >= 300)
     {
         Wasted = i;
         for (var i6 = 0; i6 < 8; i6++)
         {
             Starcar[i6] = new ContO(Car[0, i6], 0, 0, 0, 0);
             Hsquash[i6] = Squash[0, i6];
             Hfix[i6]    = Fix[i6];
             Hdest[i6]   = Dest[i6];
         }
         for (var i7 = 0; i7 < 300; i7++)
         {
             for (var i8 = 0; i8 < 8; i8++)
             {
                 Hx[i7, i8]   = X[i7, i8];
                 Hy[i7, i8]   = Y[i7, i8];
                 Hz[i7, i8]   = Z[i7, i8];
                 Hxy[i7, i8]  = Xy[i7, i8];
                 Hzy[i7, i8]  = Zy[i7, i8];
                 Hxz[i7, i8]  = Xz[i7, i8];
                 Hwxz[i7, i8] = Wxz[i7, i8];
                 Hwzy[i7, i8] = Wzy[i7, i8];
             }
             Hcheckpoint[i7] = Checkpoint[i7];
             Hlastcheck[i7]  = Lastcheck[i7];
         }
         for (var i9 = 0; i9 < 8; i9++)
         {
             for (var i10 = 0; i10 < 20; i10++)
             {
                 for (var i11 = 0; i11 < 30; i11++)
                 {
                     Hsspark[i9, i10, i11] = Sspark[i9, i10, i11];
                     Hsx[i9, i10, i11]     = Sx[i9, i10, i11];
                     Hsy[i9, i10, i11]     = Sy[i9, i10, i11];
                     Hsz[i9, i10, i11]     = Sz[i9, i10, i11];
                     Hsmag[i9, i10, i11]   = Smag[i9, i10, i11];
                     Hscx[i9, i10, i11]    = Scx[i9, i10, i11];
                     Hscz[i9, i10, i11]    = Scz[i9, i10, i11];
                 }
             }
             for (var i12 = 0; i12 < 200; i12++)
             {
                 Hrspark[i9, i12] = Rspark[i9, i12];
                 Hsprk[i9, i12]   = Sprk[i9, i12];
                 Hsrx[i9, i12]    = Srx[i9, i12];
                 Hsry[i9, i12]    = Sry[i9, i12];
                 Hsrz[i9, i12]    = Srz[i9, i12];
                 Hrcx[i9, i12]    = Rcx[i9, i12];
                 Hrcy[i9, i12]    = Rcy[i9, i12];
                 Hrcz[i9, i12]    = Rcz[i9, i12];
             }
         }
         for (var i13 = 0; i13 < 8; i13++)
         {
             for (var i14 = 0; i14 < 4; i14++)
             {
                 for (var i15 = 0; i15 < 7; i15++)
                 {
                     Hry[i13, i14, i15]   = Ry[i13, i14, i15];
                     Hmagy[i13, i14, i15] = Magy[i13, i14, i15];
                     Hrx[i13, i14, i15]   = Rx[i13, i14, i15];
                     Hmagx[i13, i14, i15] = Magx[i13, i14, i15];
                     Hrz[i13, i14, i15]   = Rz[i13, i14, i15];
                     Hmagz[i13, i14, i15] = Magz[i13, i14, i15];
                 }
             }
         }
         for (var i16 = 0; i16 < 8; i16++)
         {
             HansenSystem.ArrayCopy(Mtouch.Slice(i16), 0, Hmtouch.Slice(i16), 0, 7);
         }
         Hcaught = true;
     }
 }
예제 #2
0
파일: Trackers.cs 프로젝트: uwx/MadSharp
        internal static void Devidetrackers(int i, int i0, int i1, int i2)
        {
            Sect = null;
            Sx   = i;
            Sz   = i1;
            Ncx  = i0 / 3000;
            if (Ncx <= 0)
            {
                Ncx = 1;
            }
            Ncz = i2 / 3000;
            if (Ncz <= 0)
            {
                Ncz = 1;
            }
            Sect = new int[Ncx, Ncz][];
            for (var i3 = 0; i3 < Ncx; i3++)
            {
                for (var i4 = 0; i4 < Ncz; i4++)
                {
                    var i5  = Sx + i3 * 3000 + 1500;
                    var i6  = Sz + i4 * 3000 + 1500;
                    var ais = new int[6700];
                    var i7  = 0;
                    for (var i8 = 0; i8 < Nt; i8++)
                    {
                        var i9 = Py(i5, X[i8], i6, Z[i8]);
                        if (i9 < 20250000 && i9 > 0 && Dam[i8] != 167)
                        {
                            ais[i7] = i8;
                            i7++;
                        }
                    }
                    if (i3 == 0 || i4 == 0 || i3 == Ncx - 1 || i4 == Ncz - 1)
                    {
                        for (var i10 = 0; i10 < Nt; i10++)
                        {
                            if (Dam[i10] == 167)
                            {
                                ais[i7] = i10;
                                i7++;
                            }
                        }
                    }
                    if (i7 == 0)
                    {
                        ais[i7] = 0;
                        i7++;
                    }
                    Sect[i3, i4] = new int[i7];
                    HansenSystem.ArrayCopy(ais, 0, Sect[i3, i4], 0, i7);
                }
            }
            for (var i12 = 0; i12 < Nt; i12++)
            {
                if (Dam[i12] == 167)
                {
                    Dam[i12] = 1;
                }
            }

            Ncx--;
            Ncz--;
        }