Member 14193406 Ответов: 2

Линкор - загрузка из текстового файла


Привет,
Я хотел бы спросить, как мне загрузить игровое поле battleship из текстового файла в консольное приложение.

Например:
000000
00XX00
XXX000
000ХХХ

0 - это вода

X - это корабли


Я новичок.
Спасибо за ответы.

Что я уже пробовал:

Я бы загрузил его из текстового файла в двумерный массив, но понятия не имею, как это сделать.

2 Ответов

Рейтинг:
2

Patrice T

Цитата:
Почему после этого мое консольное приложение пусто?

Откуда нам знать ?
Ваш код в S2 не пытается ничего отображать.

Ваш код ведет себя не так, как вы ожидаете, или вы не понимаете, почему !

Существует почти универсальное решение: запускайте свой код на отладчике шаг за шагом, проверяйте переменные.
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача-сравнить с тем, что он должен делать.
В отладчике нет никакой магии, он не знает, что должен делать ваш код, он не находит ошибок, он просто помогает вам, показывая, что происходит. Когда код не делает того, что ожидается, вы близки к ошибке.
Чтобы увидеть, что делает ваш код: просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Отладчик - Википедия, свободная энциклопедия[^]

Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010 - YouTube[^]

Отладка кода C# в Visual Studio - YouTube[^]

Отладчик здесь только для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.


Рейтинг:
0

OriginalGriff

Это будет зависеть от того, как вы используете его в своем приложении - если плата, которую вы используете, организована как 2D-массив символов, то это просто, вам не нужно ничего конвертировать.

Так что читай свое досье:

string[] lines = File.ReadAllLines(pathToFile);
и используйте пару вложенных петель для переноса считанных вами символов на вашу доску.
То lines массив содержит каждую строку текста из вашего файла по индексу.

Достаточно просто?


Member 14193406

Но я понятия не имею, что я должен написать под этой командой.

OriginalGriff

Вы знаете, что такое вложенные циклы, да?
Итак, запишите один: внешний цикл проходит через все строки в массиве, внутренний цикл проходит через каждый символ в текущей строке.

Member 14193406

Ну что ж, я сделал это… Спасибо… Сейчас… Есть какой-то вариант, как изменить "слово", когда все загружается из .txt? Например: измените "0" на "X" не в текстовом документе, а из program.cs (любое условие?)

OriginalGriff

Откуда мне знать, если я понятия не имею, как выглядит ваш код в данный момент? :смеяться: