예제 #1
0
 public Form1()
 {
     InitializeComponent();
     helper = new ArraysHelper();
     openFileDialog.InitialDirectory = Environment.CurrentDirectory;
     DataGridViewUtils.InitGridForArr(InputDGV, 32, false, true, true, true, true);
 }
예제 #2
0
        public void Retrieve_NonTerminalDescriptor_DataOfTheTerminalDescriptorsThatComposeIt()
        {
            var terminalDescriptors =
                ArraysHelper.CreateWithContent(
                    new Mock <ITerminalDescriptor>().Object,
                    new Mock <ITerminalDescriptor>().Object,
                    new Mock <ITerminalDescriptor>().Object
                    );
            var data = new IData[terminalDescriptors.Length];

            for (var i = 0; i < terminalDescriptors.Length; ++i)
            {
                var terminalDescriptor = terminalDescriptors[i];
                var dataItem           = new Mock <IData>().Object;

                TestInstanceMock
                .Setup <IData>(_ => _.Retrieve(terminalDescriptor))
                .Returns(dataItem);

                data[i] = dataItem;
            }

            CompositionsMock
            .Setup(_ => _.Retrieve(NonTerminalDescriptor))
            .Returns(() => terminalDescriptors);

            var result = TestInstance.Retrieve(NonTerminalDescriptor);

            Assert.IsTrue(data.Equivalent(result));
        }
예제 #3
0
파일: Form1.cs 프로젝트: kvasovaM/Att2
        private void CheckCondition_Click(object sender, EventArgs ex)
        {
            try
            {
                if (AcceptedData.Text.Trim().Length == 0)
                {
                    throw new Exception("Массив не введен!");
                }

                int[]          array = new ArraysHelper().StrToArray <int>(AcceptedData.Text);
                WorkWithArrays arr   = new WorkWithArrays(array);

                int size, index;
                arr.SizeAndIndex(out size, out index);

                Result(index.ToString() + ", " + size.ToString(), Color.Black);
            }
            catch (FormatException e)
            {
                Result("На вход принимаются только целые числа!", Color.Red);
                return;
            }
            catch (Exception e)
            {
                Result(e.Message, Color.Red);
                return;
            }
        }
예제 #4
0
        public void FindDistinctAdditions_CompositionsDisjunct_EquivalentToNewComposition()
        {
            var initialComposition = ArraysHelper.CreateWithContent(new Mock <ITerminalDescriptor>().Object, new Mock <ITerminalDescriptor>().Object);
            var newComposition     = ArraysHelper.CreateWithContent(new Mock <ITerminalDescriptor>().Object, new Mock <ITerminalDescriptor>().Object);

            var result = ReflectionHelper.Invoke(TestInstance, "FindDistinctAdditions", initialComposition, newComposition)
                         as IEnumerable <ITerminalDescriptor>;

            Assert.IsTrue(newComposition.Equivalent(result));
        }
예제 #5
0
        public void FindDistinctAdditions_NewCompositionsSubsetOfInitialComposition_EmptyCollection()
        {
            var initialComposition = ArraysHelper.CreateWithContent(new Mock <ITerminalDescriptor>().Object, new Mock <ITerminalDescriptor>().Object, new Mock <ITerminalDescriptor>().Object);
            var newComposition     = ArraysHelper.CreateWithContent(initialComposition[0], initialComposition[2]);

            var result = ReflectionHelper.Invoke(TestInstance, "FindDistinctAdditions", initialComposition, newComposition)
                         as IEnumerable <ITerminalDescriptor>;

            Assert.AreEqual(0, result.Count());
        }
예제 #6
0
        internal static void Limits_Clear()
        {
            object HC = null;

            LimitArray = ArraysHelper.InitializeArray <LIMIT>(1);
            Limits_BuildLimitDef();
            // remove reference to limits file
            //UPGRADE_TODO: (1067) Member oPersist is not defined in type Variant. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1067
            HC.oPersist.WriteIniValue("LIMIT_FILE", "");
        }
예제 #7
0
        public void FindDistinctAdditions_NewCompositionHasDuplicatedAdditions_Distinct()
        {
            var additions          = ArraysHelper.CreateWithContent(new Mock <ITerminalDescriptor>().Object, new Mock <ITerminalDescriptor>().Object);
            var initialComposition = ArraysHelper.CreateWithContent(new Mock <ITerminalDescriptor>().Object, new Mock <ITerminalDescriptor>().Object);
            var newComposition     = ArraysHelper.CreateWithContent(additions[0], additions[1], additions[1], additions[0]);

            var result = ReflectionHelper.Invoke(TestInstance, "FindDistinctAdditions", initialComposition, newComposition)
                         as IEnumerable <ITerminalDescriptor>;

            Assert.IsTrue(additions.Equivalent(result));
        }
예제 #8
0
        public void RetrieveAllDescriptors__NonTerminalDescriptorsRetrieved()
        {
            var nonTerminalDescriptorMocks = ArraysHelper.CreateWithContent(new Mock <INonTerminalDescriptor>(), new Mock <INonTerminalDescriptor>());
            var nonTerminalDescriptors     = nonTerminalDescriptorMocks.Select(_ => _.Object);

            DataStoreMock.Setup(_ => _.RetrieveDescriptors()).Returns(new ITerminalDescriptor[0]);
            CompositionsMock.Setup(_ => _.RetrieveDescriptors()).Returns(nonTerminalDescriptors).Verifiable();

            var result = (IEnumerable <IDescriptor>)ReflectionHelper.Invoke(TestInstance, "RetrieveAllDescriptors");

            CompositionsMock.Verify();
            Assert.IsTrue(nonTerminalDescriptors.Equivalent(result));
        }
예제 #9
0
        static int Main(string[] args)
        {
            // Запускаем основной цикл приложения
            while (true)
            {
                Console.WriteLine("Добро пожаловать в программу \"Преобразователь массивов\"!" +
                                  "" + Environment.NewLine + Environment.NewLine);

                // Объеявляем переменную для хранения массива
                int[,] arr;

                // Спрашиваем у пользователя, будет ли он читать данные из файла
                if (ConfirmAction("Желаете ли вы считать данные из файла?"))
                {
                    arr = ReadArrFromFile();
                }
                else
                {
                    arr = ReadArrFromConsole();
                }

                WorkWith2DArrays arrayUtils = new WorkWith2DArrays(arr);

                // Конвертируем результат преобразований из массива в строку
                // и выводим его
                //string result = arrayUtils.AmountOfEven(arr);
                string result = ArraysHelper.Array2DToStr1(arrayUtils.LeftBottomTransfer());

                Console.WriteLine("==== Результат вычислений ====");
                Console.WriteLine(result);

                // Спрашиваем у пользователя, желает ли он также сохранить
                // резульат работы программы в файл
                if (ConfirmAction("Желаете ли вы сохранить резултат работы программы в файл?"))
                {
                    SaveResultToFile(result);
                }

                // Спрашиваем, будет ли пользователь продолжать работу с программой
                if (ConfirmAction("Продолжить работу с программой?"))
                {
                    Console.Clear();
                }
                else
                {
                    break;
                }
            }

            return(0);
        }
        //void OnNext()
        async void OnNext()
        {
            WvlLogger.Log(LogType.TraceAll, "OnNext()");

            /*
             * short[] audioBuffer = new short[2048];
             * //short[] audioBuffer = new short[1024];
             * //audioRecord.Read(audioBuffer, 0, audioBuffer.Length);
             *
             * audioRecordCharts.Read(audioBuffer, 0, audioBuffer.Length);
             * WvlLogger.Log(LogType.TraceValues, "OnNext() - audioRecordCharts.Read() - audioBUffer : " + audioBuffer.Length.ToString());
             * int[] result = new int[audioBuffer.Length];
             * for (int i = 0; i < audioBuffer.Length; i++)
             * {
             *  result[i] = (int)audioBuffer[i];
             * }
             * bufferCount++;
             * if (cumulBufferShort != null)
             *  cumulBufferShort = ArraysHelper.Combine(cumulBufferShort, audioBuffer);
             * else
             *  cumulBufferShort = ArraysHelper.Init(audioBuffer);
             *
             * samplesUpdated(this, new SamplesUpdatedEventArgs(result));
             */

            //byte[] audioBufferDebug = new byte[2048];
            byte[] audioBufferDebug = new byte[1024];
            bufferCount++;
            audioRecord.Read(audioBufferDebug, 0, audioBufferDebug.Length);
            if (cumulBufferByte != null)
            {
                cumulBufferByte = ArraysHelper.Combine(cumulBufferByte, audioBufferDebug);
            }
            else
            {
                cumulBufferByte = ArraysHelper.Init(audioBufferDebug);
            }

            int[] bytesAsInts = Array.ConvertAll(audioBufferDebug, c => (int)c);

            samplesUpdated(this, new SamplesUpdatedEventArgs(bytesAsInts));


            /*
             * samplesUpdatedThread = new Thread(() => samplesUpdated(this, new SamplesUpdatedEventArgs(bytesAsInts)));
             * samplesUpdatedThread.Start();
             */

            //var res = FFT(bytesAsInts);
        }
예제 #11
0
        public void UpdateCompositionAndProvideAdditions__ProxiesNonTerminalDescriptorCompositionsStore()
        {
            var additions = ArraysHelper.CreateWithContent(new Mock <ITerminalDescriptor>().Object, new Mock <ITerminalDescriptor>().Object);

            CompositionsMock
            .Setup(_ => _.UpdateAndProvideAdditions(NonTerminalDescriptor, TerminalDescriptorsCollection))
            .Returns(additions)
            .Verifiable();

            var result = TestInstance.UpdateCompositionAndProvideAdditions(NonTerminalDescriptor, TerminalDescriptorsCollection);

            CompositionsMock.Verify();
            Assert.AreSame(additions, result);
        }
예제 #12
0
        internal static void Limits_Add(ref LIMIT lim)
        {
            int i    = 0;
            int size = 0;
            int j    = 0;

            //UPGRADE_TODO: (1065) Error handling statement (On Error Goto) could not be converted. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1065
            UpgradeHelpers.Helpers.NotUpgradedHelper.NotifyNotUpgradedElement("On Error Goto Label (endsub)");

            size = LimitArray.GetUpperBound(0);

            lim.Az = Convert.ToInt32(lim.Az);

            i = 0;
            while (i < size)
            {
                if (LimitArray[i].Az > lim.Az)
                {
                    goto insert;
                }
                else
                {
                    if (LimitArray[i].Az == lim.Az)
                    {
                        LimitArray[i].Alt = lim.Alt;
                        goto endsub;
                    }
                }
                i++;
            }
            goto Store;
insert:
            int tempForEndVar = i + 1;

            for (j = size; j >= tempForEndVar; j--)
            {
                LimitArray[j] = LimitArray[j - 1];
            }
Store:
            LimitArray[i] = lim;
            LimitArray    = ArraysHelper.RedimPreserve(LimitArray, new int[] { size + 2 });
            Limits_BuildLimitDef();

            endsub :;
        }
예제 #13
0
        // Читаем массив из файла
        private static int[,] ReadArrFromFile()
        {
            while (true)
            {
                try
                {
                    string filePath = IOUtils.ReadValueFromConsole <string>("путь к входному файлу");

                    // Пытаемся считать данные из файла, преобразовать их в массив
                    // и вернуть вызывающему коду
                    string arrText = FilesUtils.Read(filePath);
                    return(ArraysHelper.StrToArray2D <int>(arrText));
                }
                catch (Exception e)
                {
                    // Если во время считывания из файла ошибка, то выводим её,
                    // а затем просим ввести путь ещё раз
                    IOUtils.ShowError("Невозможно считать данные из этого файла");
                }
            }
        }
예제 #14
0
파일: Form1.cs 프로젝트: kvasovaM/Att2
        private void Open_Click(object sender, EventArgs e)
        {
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    // Читаем содержимое выбранного файла и преобразуем его в массив
                    string arrText = FilesUtils.Read(openFileDialog.FileName);
                    int[,] arr = ArraysHelper.StrToArray2D <int>(arrText);

                    // Копируем полученный массив в DataGridView
                    DataGridViewUtils.Array2ToGrid(inputGrid, arr);

                    MessagesUtils.Show("Данные загружены. Можем начинать!");
                }
                catch
                {
                    MessagesUtils.ShowError("Ошибка загрузки данных");
                }
            }
        }
예제 #15
0
        static void Main(string[] args)
        {
            // Запускаем основной цикл приложения
            while (true)
            {
                int[,] trianglesPointsArray = StartProgram("Длина массива 6. Координаты точек вводятся в виде [X1 Y1 X2 Y2 X3 Y3]");

                TriangleUtils triangleUtils = new TriangleUtils(TriangleUtils.PointArrayToTriangles(trianglesPointsArray));

                triangleUtils.GetAnswer(out int[][] resultArr);
                string result = String.Empty;

                for (int i = 0; i < resultArr.Length; i++)
                {
                    result += new ArraysHelper().ArrayToStr <int>(resultArr[i], "; ") + "\n";
                }

                Console.WriteLine(result);

                // Спрашиваем у пользователя, желает ли он также сохранить
                // резульат работы программы в файл
                if (ConfirmAction("Желаете ли вы сохранить резултат работы программы в файл?"))
                {
                    SaveResultToFile(result);
                }

                // Спрашиваем, будет ли пользователь продолжать работу с программой
                if (ConfirmAction("Продолжить работу с программой?"))
                {
                    Console.Clear();
                }
                else
                {
                    break;
                }
            }
        }
예제 #16
0
        public void FindIntersectingDescriptors__AllIntersectingDescriptors()
        {
            var providedDescriptor          = new Mock <IDescriptor>().Object;
            var disjunctDescriptorMocks     = ArraysHelper.CreateWithContent(new Mock <IDescriptor>(), new Mock <IDescriptor>());
            var intersectingDescriptorMocks = ArraysHelper.CreateWithContent(new Mock <IDescriptor>(), new Mock <IDescriptor>());
            var allDescriptorMocks          = intersectingDescriptorMocks.ShuffledMerge(disjunctDescriptorMocks);

            var intersectingDescriptors = intersectingDescriptorMocks.Select(_ => _.Object);
            var allDescriptors          = allDescriptorMocks.Select(_ => _.Object);

            disjunctDescriptorMocks.ForEach(_ => _.Setup(__ => __.Intersects(providedDescriptor)).Returns(false));
            intersectingDescriptorMocks.ForEach(_ => _.Setup(__ => __.Intersects(providedDescriptor)).Returns(true));

            TestInstanceMockProtected
            .Setup <IEnumerable <IDescriptor> >("RetrieveAllDescriptors")
            .Returns(allDescriptors)
            .Verifiable();

            var result = TestInstance.FindIntersectingDescriptors(providedDescriptor);

            TestInstanceMock.Verify();
            allDescriptorMocks.ForEach(_ => _.VerifyAll());
            Assert.IsTrue(intersectingDescriptors.Equivalent(result));
        }
예제 #17
0
        internal static void Limits_DeleteIdx(int idx)
        {
            int i    = 0;
            int size = 0;

            try
            {
                if (idx >= 0)
                {
                    size = LimitArray.GetUpperBound(0);
                    int tempForEndVar = size - 2;
                    for (i = idx; i <= tempForEndVar; i++)
                    {
                        LimitArray[i].Alt = LimitArray[i + 1].Alt;
                        LimitArray[i].Az  = LimitArray[i + 1].Az;
                    }
                    LimitArray = ArraysHelper.RedimPreserve(LimitArray, new int[] { size });
                    Limits_BuildLimitDef();
                }
            }
            catch
            {
            }
        }
예제 #18
0
        private void CheckCondition_Click(object sender, EventArgs e)
        {
            if (AcceptedData.Text.Trim().Length == 0)
            {
                Result("Массив не введен!", Color.Red);
                return;
            }

            int[] array = { };
            try
            {
                array = new ArraysHelper().StrToArray <int>(AcceptedData.Text);
            }
            catch
            {
                Result("На вход принимаются только целые числа!", Color.Red);
                return;
            }

            WorkWithArrays Array  = new WorkWithArrays(array);
            int            answer = Array.IsMix();

            Result(answer.ToString(), Color.Black);
        }
예제 #19
0
        internal static string[] Tokenize(ref string pData)
        {
            StringBuilder CurWord = new StringBuilder(); //current token

            string[] WL      = null;                     //array of tokens
            string   ch      = "";                       //current character
            string   SepChar = ",";                      //separation character //make sepchar a comma

            WL = new string[] { "" };
            int Num = -1;             //number of tokens

            pData = pData + SepChar;  //add a comma to the end of the string, to
            // make sure the last word/token is stored
            int tempForEndVar = Strings.Len(pData);

            for (int t = 1; t <= tempForEndVar; t++)
            {
                ch = pData.Substring(t - 1, Math.Min(1, pData.Length - (t - 1)));
                if (ch == SepChar)
                {
                    if (CurWord.ToString() != "")
                    {                     //save word, start a new one
                        Num++;
                        WL      = ArraysHelper.RedimPreserve(WL, new int[] { Num + 1 });
                        WL[Num] = CurWord.ToString();                         //save word to list
                        CurWord = new StringBuilder("");                      //reset CurWord to empty string
                    }
                }
                else
                {
                    CurWord.Append(ch);                     //CH is not a comma, so add it to the
                    //current word...
                }
            }
            return(WL);            //returns an array of strings
        }
예제 #20
0
 public Form1()
 {
     InitializeComponent();
     helper = new ArraysHelper();
 }
예제 #21
0
        internal static void SaveRpgwoMap(string filename)
        {
            object mapElements = null;
            int    f           = FileSystem.FreeFile();

            mSurfaceArray = 0;

            if (modGlobals.FileExists(filename))
            {
                File.Delete(filename);
            }

            FileSystem.FileOpen(f, filename, OpenMode.Binary, OpenAccess.Write, OpenShare.LockWrite, -1);
            FileSystem.FilePut(f, mMapWidth);
            FileSystem.FilePut(f, mMapHeight);
            FileSystem.FilePut(f, mMapVersion);
            FileSystem.FilePut(f, mSurfaceArray);
            FileSystem.FilePut(f, mMapExtra);
            mNumberOfMonsters--;
            mNumberOfItems--;

            mv2NumberOfItems--;
            mv2NumberOfMonsters--;
            //Get Tile Id
            //ReDim mMap(1 To mMapWidth, 1 To mMapHeight)
            //Put #f, , mMap


            int countSurfaceItems = 1;


            tempmMapData = ArraysHelper.InitializeArray <mMapDataType>(countSurfaceItems);
            int MapSizeTotalCount = 0;
            int tempForEndVar     = mMapWidth;

            for (int x = 1; x <= tempForEndVar; x++)
            {
                int tempForEndVar2 = mMapHeight;
                for (int y = 1; y <= tempForEndVar2; y++)
                {
                    if (mMap[x - 1, y - 1] != 0)
                    {
                        tempmMapData[tempmMapData.GetUpperBound(0)].Xpos    = (short)x;
                        tempmMapData[tempmMapData.GetUpperBound(0)].Ypos    = (short)y;
                        tempmMapData[tempmMapData.GetUpperBound(0)].Surface = (short)mMap[x - 1, y - 1];
                        MapSizeTotalCount++;
                        tempmMapData = ArraysHelper.RedimPreserve(tempmMapData, new int[] { tempmMapData.GetUpperBound(0) + 2 });
                    }
                }
            }
            tempmMapData = ArraysHelper.RedimPreserve(tempmMapData, new int[] { tempmMapData.GetUpperBound(0) });

            if (mSurfaceArray == 1)
            {
                FileSystem.FilePut(f, mapElements);
                FileSystem.FilePut(f, tempmMapData);
            }
            else
            {
                FileSystem.FilePut(f, mMap);
            }


            if (v2Map)
            {
                FileSystem.FilePut(f, mv2NumberOfItems);
                // MsgBox mNumberOfItems
                //ReDim mItems(1 To mNumberOfItems)
                if (mv2NumberOfItems > 0)
                {
                    mItems = ArraysHelper.RedimPreserve(mItems, new int[] { modRpgwoMapFormat.mv2NumberOfItems });
                    FileSystem.FilePut(f, mItems);
                }
                //MsgBox Loc(1)
                FileSystem.FilePut(f, mv2NumberOfMonsters);
                //MsgBox mNumberOfMonsters
                //ReDim mMonsters(1 To mNumberOfMonsters)
                if (mv2NumberOfMonsters > 0)
                {
                    mMonsters = ArraysHelper.RedimPreserve(mMonsters, new int[] { modRpgwoMapFormat.mv2NumberOfMonsters });
                    FileSystem.FilePut(f, mMonsters);
                }
            }
            else
            {
                FileSystem.FilePut(f, mNumberOfItems);
                // MsgBox mNumberOfItems
                //ReDim mItems(1 To mNumberOfItems)
                if (mNumberOfItems > 0)
                {
                    mItems = ArraysHelper.RedimPreserve(mItems, new int[] { modRpgwoMapFormat.mNumberOfItems });
                    FileSystem.FilePut(f, mItems);
                }



                FileSystem.FilePut(f, mNumberOfMonsters);

                //MsgBox mNumberOfMonsters
                //ReDim mMonsters(1 To mNumberOfMonsters)
                if (mNumberOfMonsters > 0)
                {
                    mMonsters = ArraysHelper.RedimPreserve(mMonsters, new int[] { modRpgwoMapFormat.mNumberOfMonsters });
                    FileSystem.FilePut(f, mMonsters);
                }
            }
            // MsgBox "notes start:" & Loc(f)
            short k = 5000;

            FileSystem.FilePut(f, k);
            string notes = new string('\0', 5000);

            notes = StringsHelper.GetFixedLengthString(new String(' ', k), 5000);
            FileSystem.FilePut(f, notes);
            //Get Notes
            FileSystem.FileClose(f);
        }
예제 #22
0
파일: frmMain.cs 프로젝트: algeralith/rpgwo
        private void cmdSelect_Click(Object eventSender, EventArgs eventArgs)
        {
            string Filename = "";

            CommonDialog1Open.Title            = "Select .rsf file";
            CommonDialog1Open.Filter           = "Script Files (*.rsf)|*.rsf";
            CommonDialog1Open.InitialDirectory = Path.GetDirectoryName(Application.ExecutablePath);
            CommonDialog1Open.ShowDialog();
            if (Strings.Len(CommonDialog1Open.FileName) == 0)
            {
                return;
            }
            Filename = CommonDialog1Open.FileName;
            string data = "";

            modRpgwoMapFormat.mNumberOfItems    = 1;
            modRpgwoMapFormat.mNumberOfMonsters = 1;

            modRpgwoMapFormat.mv2NumberOfItems    = 1;
            modRpgwoMapFormat.mv2NumberOfMonsters = 1;

            if (cboVersion.Text == "V1")
            {
                modRpgwoMapFormat.v2Map       = false;
                modRpgwoMapFormat.mMapVersion = StringsHelper.GetFixedLengthString("1.0       RPGWO Edit", 30);
            }
            else
            {
                modRpgwoMapFormat.v2Map       = true;
                modRpgwoMapFormat.mMapVersion = StringsHelper.GetFixedLengthString("2.0       RPGWO Edit", 30);
            }


            FileSystem.FileOpen(1, Filename, OpenMode.Input, OpenAccess.Default, OpenShare.Default, -1);
            string[] DataArray    = null;
            short    Xpos         = 0;
            short    Ypos         = 0;
            short    ImageNumber  = 0;
            int      SpawnSeconds = 0;

            while (!FileSystem.EOF(1))
            {
                data = FileSystem.LineInput(1);
                if (data.StartsWith("/MAPITEMCLEAR "))
                {
                    data      = data.Substring(Math.Max(data.Length - (Strings.Len(data) - 14), 0));
                    DataArray = (string[])modGlobals.Tokenize(ref data);
                    modRpgwoMapFormat.mMapHeight = Convert.ToInt16(Double.Parse(DataArray[0]));
                    modRpgwoMapFormat.mMapWidth  = Convert.ToInt16(Double.Parse(DataArray[0]));
                    modRpgwoMapFormat.mMap       = new short[Convert.ToInt16(Double.Parse(DataArray[0])), Convert.ToInt16(Double.Parse(DataArray[0]))];


                    //  ReDim Map(Right(Data, Len(Data) - 14) + 5, Right(Data, Len(Data) - 14) + 5)
                    //  ReDim ItemMap(Right(Data, Len(Data) - 14) + 5, Right(Data, Len(Data) - 14) + 5)
                    // ReDim MonsterMap(Right(Data, Len(Data) - 14) + 5, Right(Data, Len(Data) - 14) + 5)
                }
                //Load Items
                if (data.StartsWith("/ITEMIXY "))
                {
                    //Now tokenize the remaining data and break into the parts of image# and x and y position

                    data      = data.Substring(Math.Max(data.Length - (Strings.Len(data) - 9), 0));
                    DataArray = (string[])modGlobals.Tokenize(ref data);

                    ImageNumber = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[0])));

                    Xpos = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[1])));
                    Ypos = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[2])));
                    modRpgwoMapFormat.mItems = ArraysHelper.RedimPreserve(modRpgwoMapFormat.mItems, new int[] { modRpgwoMapFormat.mNumberOfItems + 1 });
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].ItemID       = (short)ImageNumber;
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Xpos         = (short)Xpos;
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Ypos         = (short)Ypos;
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].a            = true;
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].SpawnTimeout = (float)Math.Floor(Double.Parse(DataArray[3]));
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data1        = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[4])));
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data2        = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[5])));
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data3        = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[6])));
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data4        = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[7])));
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data5        = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[8])));
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Reset        = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[9])));
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Writing      = StringsHelper.GetFixedLengthString(new String(' ', 200), 200);
                    // mItems(mNumberOfItems).Trigger = Int(DataArray(10))

                    modRpgwoMapFormat.mNumberOfItems++;
                    modRpgwoMapFormat.mv2NumberOfItems++;
                }
                //Spawn items
                if (data.StartsWith("/ITEMSPAWNIXY "))
                {
                    data        = data.Substring(Math.Max(data.Length - (Strings.Len(data) - 14), 0));
                    DataArray   = (string[])modGlobals.Tokenize(ref data);
                    ImageNumber = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[0])));

                    Xpos = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[1])));
                    Ypos = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[2])));
                    modRpgwoMapFormat.mItems = ArraysHelper.RedimPreserve(modRpgwoMapFormat.mItems, new int[] { modRpgwoMapFormat.mNumberOfItems + 1 });
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].ItemID       = (short)ImageNumber;
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Xpos         = (short)Xpos;
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Ypos         = (short)Ypos;
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].a            = true;
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].SpawnTimeout = (float)Math.Floor(Double.Parse(DataArray[3]));
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data1        = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[4])));
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data2        = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[5])));
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data3        = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[6])));
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data4        = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[7])));
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data5        = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[8])));
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Trigger      = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[8])));
                    modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Uses         = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[9])));

                    modRpgwoMapFormat.mNumberOfItems++;
                    modRpgwoMapFormat.mv2NumberOfItems++;
                }
                //Text on item
                if (data.StartsWith("/ITEMTEXTIXY "))
                {
                    data      = data.Substring(Math.Max(data.Length - (Strings.Len(data) - 13), 0));
                    DataArray = (string[])modGlobals.Tokenize(ref data);
                    Xpos      = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[0])));
                    Ypos      = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[1])));
                    //'ItemMap(Xpos, Ypos).ItemText = DataArray(2)
                }

                //Surface the ground
                if (data.StartsWith("/SURFACEIXY "))
                {
                    //Now tokenize the remaining data and break into the parts of image# and x and y position

                    data      = data.Substring(Math.Max(data.Length - (Strings.Len(data) - 12), 0));
                    DataArray = (string[])modGlobals.Tokenize(ref data);

                    ImageNumber = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[0])));
                    Xpos        = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[1])));
                    Ypos        = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[2])));

                    modRpgwoMapFormat.mMap[Xpos - 1, Ypos - 1] = ImageNumber;
                }
                //Load Monsters
                if (data.StartsWith("/MONSTERSPAWNADDXY "))
                {
                    data      = data.Substring(Math.Max(data.Length - (Strings.Len(data) - 19), 0));
                    DataArray = (string[])modGlobals.Tokenize(ref data);

                    ImageNumber  = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[2])));
                    Xpos         = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[0])));
                    Ypos         = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[1])));
                    SpawnSeconds = Convert.ToInt32(Math.Floor(Double.Parse(DataArray[3])));
                    modRpgwoMapFormat.mMonsters = ArraysHelper.RedimPreserve(modRpgwoMapFormat.mMonsters, new int[] { modRpgwoMapFormat.mNumberOfMonsters + 1 });
                    modRpgwoMapFormat.mMonsters[modRpgwoMapFormat.mNumberOfMonsters - 1].Xpos      = (short)Xpos;
                    modRpgwoMapFormat.mMonsters[modRpgwoMapFormat.mNumberOfMonsters - 1].Ypos      = (short)Ypos;
                    modRpgwoMapFormat.mMonsters[modRpgwoMapFormat.mNumberOfMonsters - 1].MonsterId = (short)ImageNumber;
                    modRpgwoMapFormat.mMonsters[modRpgwoMapFormat.mNumberOfMonsters - 1].Timeout   = (short)SpawnSeconds;
                    modRpgwoMapFormat.mMonsters[modRpgwoMapFormat.mNumberOfMonsters - 1].a         = true;
                    modRpgwoMapFormat.mNumberOfMonsters++;
                    modRpgwoMapFormat.mv2NumberOfMonsters++;
                    //MonsterMap(Xpos, Ypos).ImageNumber = ImageNumber
                    //MonsterMap(Xpos, Ypos).MonsterArrayID = GetMonsterArrayId(ImageNumber)
                    //MonsterMap(Xpos, Ypos).MonsterId = Monsters(MonsterMap(Xpos, Ypos).MonsterArrayID).MonsterId 'ImageNumber
                    //MonsterMap(Xpos, Ypos).Life = Monsters(MonsterMap(Xpos, Ypos).MonsterArrayID).Life
                    //MonsterMap(Xpos, Ypos).Stamina = Monsters(MonsterMap(Xpos, Ypos).MonsterArrayID).Stamina
                    //MonsterMap(Xpos, Ypos).Mana = Monsters(MonsterMap(Xpos, Ypos).MonsterArrayID).Mana
                    //MonsterMap(Xpos, Ypos).SpawnSeconds = SpawnSeconds
                    //MonsterMap(Xpos, Ypos).OldX = Xpos
                    //MonsterMap(Xpos, Ypos).OldY = Ypos
                    //MonsterMap(Xpos, Ypos).OldMonsterArrayID = MonsterMap(Xpos, Ypos).MonsterArrayID
                    //MonsterMap(Xpos, Ypos).ImageType = Monsters(MonsterMap(Xpos, Ypos).MonsterArrayID).ImageType
                }
            }
            ;
            FileSystem.FileClose(1);

            //save the file
            if (modRpgwoMapFormat.v2Map)
            {
                modRpgwoMapFormat.SaveRpgwoMap(Filename + "v2-3.map");
            }
            else
            {
                modRpgwoMapFormat.SaveRpgwoMap(Filename + "v1.map");
            }
            //End of rsf file

            MessageBox.Show("Done!", AssemblyHelper.GetTitle(System.Reflection.Assembly.GetExecutingAssembly()));
        }
예제 #23
0
        internal static void Limits_Init()
        {
            object HC = null;

            LimitStatus.Horizon       = false;
            LimitStatus.RA            = false;
            LimitStatus.LimitDetected = false;

            gSupressHorizonLimits = false;

            LimitArray = ArraysHelper.InitializeArray <LIMIT>(1);
            Limits_BuildLimitDef();

            //UPGRADE_TODO: (1067) Member oPersist is not defined in type Variant. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1067
            string str = Convert.ToString(HC.oPersist.ReadIniValue("LIMIT_ENABLE"));

            if (str != "")
            {
                //UPGRADE_TODO: (1067) Member ChkEnableLimits is not defined in type Variant. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1067
                HC.ChkEnableLimits.Value = Conversion.Val(str);
            }
            else
            {
                //UPGRADE_TODO: (1067) Member ChkEnableLimits is not defined in type Variant. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1067
                HC.ChkEnableLimits.Value = 1;
            }

            //UPGRADE_TODO: (1067) Member oPersist is not defined in type Variant. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1067
            str = Convert.ToString(HC.oPersist.ReadIniValue("LIMIT_FILE"));
            if (str != "")
            {
                // got a file to load
                Limits_ReadFile(str);
            }
            else
            {
                // no file assined - set defaults?
            }

            //UPGRADE_TODO: (1067) Member oPersist is not defined in type Variant. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1067
            str = Convert.ToString(HC.oPersist.ReadIniValue("LIMIT_HORIZON_ALGORITHM"));
            if (str != "")
            {
                gHorizonAlgorithm = Convert.ToInt32(Conversion.Val(str));
            }
            else
            {
                // default to interpolated
                gHorizonAlgorithm = 0;
                //UPGRADE_TODO: (1067) Member oPersist is not defined in type Variant. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1067
                HC.oPersist.WriteIniValue("LIMIT_HORIZON_ALGORITHM", "0");
            }

            //UPGRADE_TODO: (1067) Member oPersist is not defined in type Variant. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1067
            str = Convert.ToString(HC.oPersist.ReadIniValue("LIMIT_PARK"));
            if (str != "")
            {
                gLimitPark = Convert.ToInt32(Conversion.Val(str));
            }
            else
            {
                // default to interpolated
                gLimitPark = 0;
                //UPGRADE_TODO: (1067) Member oPersist is not defined in type Variant. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1067
                HC.oPersist.WriteIniValue("LIMIT_PARK", "0");
            }

            //UPGRADE_TODO: (1067) Member oPersist is not defined in type Variant. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1067
            str = Convert.ToString(HC.oPersist.ReadIniValue("LIMIT_SLEWS"));
            if (str != "")
            {
                gLimitSlews = Convert.ToInt32(Conversion.Val(str));
            }
            else
            {
                // default to interpolated
                gLimitSlews = 1;
                //UPGRADE_TODO: (1067) Member oPersist is not defined in type Variant. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1067
                HC.oPersist.WriteIniValue("LIMIT_SLEWS", "1");
            }

            Common.readAutoFlipData();
            AutoFlipState = 0;
        }
예제 #24
0
        internal static void Limits_ReadFile(string FileName)
        {
            object[, , , , ] aa_hadec = null;
            object HC         = null;
            int    pos        = 0;
            int    size       = 0;
            int    redimcount = 0;
            string temp1      = "";
            string temp2      = "";
            double ha         = 0;
            double DEC        = 0;

            LimitArray = ArraysHelper.InitializeArray <LIMIT>(1);
            try
            {
                if (FileName != "")
                {
                    FileSystem.FileClose(1);
                    FileSystem.FileOpen(1, FileName, OpenMode.Input, OpenAccess.Default, OpenShare.Default, -1);
                    LimitArray = ArraysHelper.InitializeArray <LIMIT>(101);
                    size       = 0;
                    redimcount = 0;
                    while (!FileSystem.EOF(1))
                    {
                        temp1 = FileSystem.LineInput(1);
                        temp2 = temp1.Substring(0, Math.Min(1, temp1.Length));
                        if (temp2 != "#" && temp2 != " ")
                        {
                            pos = (temp1.IndexOf(' ') + 1);
                            if (pos != 0)
                            {
                                temp2 = temp1.Substring(0, Math.Min(pos - 1, temp1.Length));
                                temp1 = temp1.Substring(Math.Max(temp1.Length - (Strings.Len(temp1) - pos), 0));
                                LimitArray[size].Az  = Double.Parse(temp2);
                                LimitArray[size].Alt = Double.Parse(temp1);
                                object tempAuxVar = aa_hadec[Convert.ToInt32(EQMath.gLatitude * EQMath.DEG_RAD), Convert.ToInt32(LimitArray[size].Alt * EQMath.DEG_RAD), Convert.ToInt32(LimitArray[size].Az * EQMath.DEG_RAD), Convert.ToInt32(ha), Convert.ToInt32(DEC)];
                                LimitArray[size].ha  = EQMath.Range24(ha * EQMath.RAD_HRS);
                                LimitArray[size].DEC = DEC * EQMath.RAD_DEG;
                                size++;
                                redimcount++;
                                if (redimcount > 90)
                                {
                                    redimcount = 0;
                                    LimitArray = ArraysHelper.RedimPreserve(LimitArray, new int[] { size + 101 });
                                }
                            }
                        }
                    }
                    LimitArray = ArraysHelper.RedimPreserve(LimitArray, new int[] { size + 1 });
                }
                Limits_BuildLimitDef();
            }
            catch
            {
                //UPGRADE_TODO: (1067) Member Add_Message is not defined in type Variant. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1067
                HC.Add_Message("Error reading limits file");
            }
            finally
            {
                FileSystem.FileClose(1);
            }
        }