Ejemplo n.º 1
0
        public async Task <SnakeTable> LoadAsync(String path)
        {
            try
            {
                using (StreamReader reader = new StreamReader(path)) // fájl megnyitása
                {
                    String line = await reader.ReadLineAsync();

                    String[]   numbers   = line.Split(' ');           // beolvasunk egy sort, és a szóköz mentén széttöredezzük
                    Int32      tableSize = Int32.Parse(numbers[0]);   // beolvassuk a tábla méretét
                    SnakeTable table     = new SnakeTable(tableSize); // létrehozzuk a táblát

                    for (Int32 i = 0; i < tableSize; i++)
                    {
                        line = await reader.ReadLineAsync();

                        numbers = line.Split(' ');

                        for (Int32 j = 0; j < tableSize; j++)
                        {
                            table.SetValue(i, j, (TableObject)Int32.Parse(numbers[j]));
                        }
                    }

                    return(table);
                }
            }
            catch
            {
                throw new SnakeDataException();
            }
        }
Ejemplo n.º 2
0
        public async Task SaveAsync(String path, SnakeTable table)
        {
            try
            {
                using (StreamWriter writer = new StreamWriter(path)) // fájl megnyitása
                {
                    await writer.WriteLineAsync("" + table.Size);    // kiírjuk az adatokat

                    for (Int32 i = 0; i < table.Size; i++)
                    {
                        for (Int32 j = 0; j < table.Size; j++)
                        {
                            await writer.WriteAsync(table[i, j] + " "); // kiírjuk az értékeket
                        }
                        await writer.WriteLineAsync();
                    }
                }
            }
            catch
            {
                throw new SnakeDataException();
            }
        }