Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2022, 15:37   #1
FlashFantom
 
Регистрация: 27.05.2022
Сообщений: 8
По умолчанию Программа на языке C# (Нужна помощь)

Здравствуйте, помогите мне сделать так, чтоб бот после проведенной атаки проверял корабли вокруг, типа если он попал по кораблю, то проверял ещё по близости если он двойной, тройной и четверной(Не всегда, только если он попал)
Заранее при много Благодарю!)
Вложения
Тип файла: zip battleships-master.zip (92.0 Кб, 2 просмотров)
FlashFantom вне форума Ответить с цитированием
Старый 27.05.2022, 16:42   #2
Valick
Форумчанин
 
Регистрация: 27.04.2022
Сообщений: 493
По умолчанию

FlashFantom, я писал морской бой, только на другом языке. Проверить 4 соседних "клетки" на наличие продолжения корабля это вообще-то не самое сложное в алгоритмах игры.
Valick вне форума Ответить с цитированием
Старый 27.05.2022, 17:24   #3
FlashFantom
 
Регистрация: 27.05.2022
Сообщений: 8
По умолчанию

Я просто не могу найти раздел с кодом атаки бота
FlashFantom вне форума Ответить с цитированием
Старый 27.05.2022, 17:36   #4
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Battleships/Domain/Game.cs
Код:
        public void ShootTo(Point point)
        {
            if (Stage != GameStage.Battle)
                throw new InvalidOperationException();

            var shotResult = GetNextPlayer().Field.ShootTo(point);
            switch (shotResult)
            {
                case ShotResult.Hit:
                    if (IsCurrentPlayerWin())
                        ChangeStage(GameStage.Finished);
                    else
                        ReadyToShoot?.Invoke();
                    return;
                case ShotResult.Miss:
                    MoveToNextPlayer();
                    ReadyToShoot?.Invoke();
                    return;
                case ShotResult.Cancel:
                    return;
                default:
                    throw new InvalidOperationException();
            }
        }
А это что тогда такое. Там же не 1000000 файлов
macomics вне форума Ответить с цитированием
Старый 27.05.2022, 18:03   #5
FlashFantom
 
Регистрация: 27.05.2022
Сообщений: 8
По умолчанию

Это же атаки игрока!( Или что в коде прописать, я чекну сработает ли
FlashFantom вне форума Ответить с цитированием
Старый 27.05.2022, 18:18   #6
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Это проверка результатов атаки. Судя по тому, что вы написали - вы не знаете где фиксировать результат атаки для бота (было попадание или нет). Вот тут фиксируете, а потом бот реагирует на переменную, в которой будет записан результат предыдущего действия (попал / промах).
macomics вне форума Ответить с цитированием
Старый 27.05.2022, 18:31   #7
FlashFantom
 
Регистрация: 27.05.2022
Сообщений: 8
По умолчанию

Спасибо, извините можете мне написать код который решит мою проблему, ато я только только начал изучать вобщем языки программирования и не знаю пока ничего
FlashFantom вне форума Ответить с цитированием
Старый 27.05.2022, 19:05   #8
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Допустим введите дополнительную переменную в класс
Код:
int ShotNumber;
При каждом проходе этой функции увеличивайте ее
Код:
ShotNumber++;
При выполнении кода бота фиксируйте ее значение в другой переменной
Код:
int PrevShot;
...
// До сохранения проверяем
if (ShotNumner - PrevShot == 1) { // Предыдущий выстрел попал
...
} else { // Не попал
...
}
PrevShot = ShotNumber;
macomics вне форума Ответить с цитированием
Старый 27.05.2022, 19:53   #9
FlashFantom
 
Регистрация: 27.05.2022
Сообщений: 8
По умолчанию

Извините, и благодарю за то что хотите до меня все донести, но я не понимаю что и куда нужно всё вписать
Я думаю и рассматриваю , но никак не могу понять
FlashFantom вне форума Ответить с цитированием
Старый 27.05.2022, 19:58   #10
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Думаю стоит начать отсюда
macomics вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
НУЖНА ПОМОЩЬ В СОСТАВЛЕНИИ ПРОГРАММЫ НА ЯЗЫКЕ CИ Петр2018 Помощь студентам 0 24.12.2018 19:06
Нужна помощь очень На Языке Си Magomed642 Общие вопросы C/C++ 4 05.06.2015 18:00
Нужна помощь в написание игры на языке Си# Kisliy Фриланс 3 28.01.2015 09:35
Нужна помощь на языке Си! Николай (SKEN) Помощь студентам 2 21.01.2015 08:07
Программирование на языке С, нужна помощь. Igrok38 Помощь студентам 3 16.01.2014 12:44