4 / 5 / 2
Регистрация: 17.09.2021
Сообщений: 402

Настройка энергощита корабля

07.02.2026, 15:08. Показов 649. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Настройка энергощита корабля

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using FluentAssertions;
using NUnit.Framework;
 
namespace MetroStationNavigatorTask
{
    public class MetroStationNavigatorTestsTask
    {
        private IMetroStationNavigator _navigator;
        public virtual IMetroStationNavigator CreateNavigator() => new MetroStationNavigator(); // это удалять нельзя
 
        [TestCase("1", "1", "1", "return", TestName = "Минимальные значение параметров")]
        public void TestPath(string hullIntegrity, string shieldCharge, string reactorStability, string result)
        {
            _navigator = CreateNavigator();
            result.Should().BeEquivalentTo(_navigator.GetPath(hullIntegrity, shieldCharge, reactorStability));
        }
    }
}
Скажите пожалуйста должно быть так по примеру
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
using FluentAssertions;
using NUnit.Framework;
 
namespace MetroStationNavigatorTask
{
    public class MetroStationNavigatorTestsTask
    {
        private IMetroStationNavigator _navigator;
        public virtual IMetroStationNavigator CreateNavigator() => new MetroStationNavigator(); // это удалять нельзя
 
        [TestCase("1", "1", "1", "return", TestName = "Минимальные значение параметров")]
[TestCase("66", "30", "31", "1", TestName = "Базовый Сеть — >65 hull, >30 reactor")]
[TestCase("100", "100", "100", "1", TestName = "Макс — должен взять Сеть (правило 1 выше всех)")]
[TestCase("66", "0", "31", "1", TestName = "Сеть даже при 0 shield_charge")]
[TestCase("65", "100", "100", "return", TestName = "hull ровно 65 — правило 1 НЕ срабатывает")]
[TestCase("50", "50", "50", "return", TestName = "Средние значения — ничего не подходит")]
[TestCase("10", "10", "10", "return", TestName = "Низкие — ничего")]
 
[TestCase("5", "4", "20", "error", TestName = "hull 5% — должно быть error (по логике <10)")]
[TestCase("9", "100", "100", "error", TestName = "hull 9% — error")]
[TestCase("10", "100", "100", "return", TestName = "hull ровно 10% — НЕ error, но ничего не активируем")]
[TestCase("0", "0", "0", "error", TestName = "Все 0 — error")]
 
[TestCase("100", "5", "5", "return", TestName = "shield 5% — НЕ катаклизм по правилу 2")]
[TestCase("100", "4", "30", "return", TestName = "shield 4% но reactor 30 — НЕ катаклизм")]
[TestCase("100", "5", "20", "catalyze", TestName = "shield <=5 и reactor <=20 — катаклизм (правило 2)")]
[TestCase("9", "5", "5", "error", TestName = "shield <=5 + hull <=10 — error приоритетнее")]
 
[TestCase("40", "41", "51", "2", TestName = "Шоковая волна — >40 shield и >50 reactor")]
[TestCase("40", "40", "51", "return", TestName = "shield ровно 40 — НЕ шоковая")]
[TestCase("100", "41", "50", "return", TestName = "reactor ровно 50 — НЕ шоковая")]
 
[TestCase("31", "0", "71", "3", TestName = "Барьер — >30 hull и >70 reactor")]
[TestCase("30", "100", "100", "return", TestName = "hull ровно 30 — НЕ барьер")]
[TestCase("50", "0", "70", "return", TestName = "reactor ровно 70 — НЕ барьер")]
 
[TestCase("80", "80", "40", "4", TestName = "Рывок — коэффициент 80+80- (100-40) = 120 → кратно 3")]
[TestCase("70", "70", "30", "4", TestName = "70+70-(100-30)=100 → 100 % 3 !=0 → НЕ рывок, catalyze")]
[TestCase("50", "50", "20", "catalyze", TestName = "50+50-(100-20)=30 → 30 % 3 ==0 → catalyze? Нет — рывок должен быть 4, но ждём catalyze по тексту? → catalyze")]
[TestCase("20", "90", "60", "catalyze", TestName = "20+90-(100-60)=70 → 70 % 3 !=0 → catalyze")]
 
[TestCase("15", "3", "15", "error", TestName = "hull 15 (>10) но shield <=5 и reactor <=30 — catalyze? Нет — error по hull? → error")]
[TestCase("100", "5", "100", "catalyze", TestName = "shield <=5, reactor >30 → catalyze (правило 2)")]
[TestCase("100", "100", "29", "catalyze", TestName = "reactor <=30 → catalyze по правилу 2 если shield<=5, иначе ничего → catalyze если <=5 shield")]
 
[TestCase("66", "41", "51", "1", TestName = "Конфликт: Сеть и Шоковая — Сеть приоритетнее (правило 1 первое)")]
[TestCase("66", "100", "71", "1", TestName = "Сеть и Барьер — Сеть приоритетнее")]
[TestCase("40", "41", "71", "2", TestName = "Шоковая и Барьер — Шоковая выше (правило 3 перед 3')")]
[TestCase("31", "41", "71", "3", TestName = "Барьер и возможный рывок — Барьер выше")]
        public void TestPath(string hullIntegrity, string shieldCharge, string reactorStability, string result)
        {
            _navigator = CreateNavigator();
            result.Should().BeEquivalentTo(_navigator.GetPath(hullIntegrity, shieldCharge, reactorStability));
        }
    }
}
Миниатюры
Настройка энергощита корабля   Настройка энергощита корабля   Настройка энергощита корабля  

Настройка энергощита корабля  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.02.2026, 15:08
Ответы с готовыми решениями:

Программирование простой игры: полет корабля, стрельба
Здравствуйте. Суть такова - летит корабль, он может стрелять и менять положение - влево или...

Движение корабля с помощью таймера
Всем привет!! Нужна ваша помощь не могу написать правильный код для таймера.Нужно сделать так что...

Нужно чтобы ИИ в морском бое старался потопить корабли, а подтопленные корабли обводил точками
Нужно написать морской бой, но застрял на написании ИИ противника. Нужно чтобы ИИ старался потопить...

1
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3415 / 2736 / 575
Регистрация: 04.09.2018
Сообщений: 8,588
Записей в блоге: 3
07.02.2026, 19:12
Цитата Сообщение от Dmitry0-01 Посмотреть сообщение
должно быть так
А в итоге как?
В чем вопрос?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.02.2026, 19:12
Помогаю со студенческими работами здесь

Игра морской бой - как расставлять корабли
Решил написать игру чтоб опыта набраться. Вот возникла проблема: в верху формы расположены 4...

Морской бой, расстановка кораблей
Например можно ли сделать корабль из панели, что бы эту панель можно было таскать по всему игровому...

Как написать расстановку кораблей и выстрелы по кораблям, используя DGW
ребят, а как написать расстановку кораблей и выстрелы по кораблям пользователя за которые будет...

Необходимо в консольном режиме с использованием динамической памяти нарисовать кораблик
Необходимо в консольном режиме с использованием динамической памяти нарисовать кораблик. ...

Морской бой: проблема с расстановкой кораблей на своем поле и сам алгоритм выстрелов
Помогите кто может. Скину свое начало и задание. возможно вознаграждение. очень срочно. проблема с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru