Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 55

Не увеличивается значение урона с повышением уровня

16.08.2018, 18:08. Показов 1023. Ответов 9

Студворк — интернет-сервис помощи студентам
Описал пулеметную башенку: ее уровень, урон в минуту. Также описал получение опыта при нанесении определенного урона и повышение уровня при достижении определенной границы опыта.
Однако после компиляции, у башни за определенное время не поднимается урон с уровнем. Может кто поможет найти ошибку.
Прошу прощения за отсутствие отметок и пояснений в коде.
Также, просьба сказать, какого уровня написания мой код ( имею ввиду инкапсуляцию, и чистоту, насколько код "красив")
Возможно, кто подскажет, как считать время с компьютера, чтоб башенка наносила урон 5 секунд, например.
Кода достаточно немало, чтобы не засорять тут, вложил в архив. Запускать с файла Main.java
Отчет VT
Вложения
Тип файла: 7z src.7z (1.3 Кб, 1 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.08.2018, 18:08
Ответы с готовыми решениями:

Значение переменной не увеличивается
Опять прошу помощи. Как сделать так чтобы значение переменной увеличивалось на 1 при каждом совпадении? Вот у меня такой код. Но sum =...

При клике значение увеличивается на 1
Как при клике сделать что б значение увеличивалось на 1 при клике на чекбоксе как на картинке.Спасибо!

Не увеличивается значение внутри цикла
Простая программа. Выводить должна значения функции y= x^2 на промежутке c шагом 0.4 на выходе имею следующее: F(4) = 16 F(4)...

9
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
16.08.2018, 18:31
Jambazi12, ты серьезно? вот про это =
Цитата Сообщение от Jambazi12 Посмотреть сообщение
насколько код "красив"
классы названы с маленькой буквы, методы назаны именами существительными, а вот это ... не знаю как даже назвать
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
machineGun.shoot ();
        machineGun.shoot ();
        machineGun.shoot ();
        machineGun.shoot ();
        machineGun.shoot ();
        machineGun.shoot ();
        machineGun.shoot ();
        machineGun.shoot ();
        machineGun.shoot ();
        machineGun.shoot ();
        machineGun.shoot ();
        machineGun.shoot ();
        machineGun.shoot ();
        machineGun.shoot ();
        machineGun.shoot ();
        machineGun.shoot ();
1) читаем про циклы
2) всячески боремся с повторениями кода, у тебя в свитчах огромные блоки аналогичного кода
3) читаем и нещадно используем дебаггер
0
0 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 55
16.08.2018, 18:35  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
а вот это ... не знаю как даже назвать
Это я просто накопипастил для проверки. Не берите во внимание.
Цитата Сообщение от Welemir1 Посмотреть сообщение
методы названы именами существительными
А они что должны называться именами прилагательными или цифрами?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
16.08.2018, 18:40
Цитата Сообщение от Jambazi12 Посмотреть сообщение
А они что должны называться именами прилагательными или цифрами?
вот те и раз! глаголами они должны быть, а класс существительное, интерфейс прилагательное. По возможности конечно.
пулемет.выстрелить() - это норм, а вот пулеметБашняАтака.пулеметБашня() (как у тебя) это жутко
0
0 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 55
16.08.2018, 18:44  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
у тебя в свитчах огромные блоки аналогичного кода
А куда его уже сокращать? Что, просто присвоить какую-то переменную на присвоение значения или как?
Java
1
2
3
4
5
      case 3:
                machineGun.setDamage(24);
                machineGun.setRange(195);
                machineGun.setApm(1250);
                break;
Что в свиче можно поменять, чтобы оптимизировать мой код? КАК Убрать повторения?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
16.08.2018, 18:53
Цитата Сообщение от Jambazi12 Посмотреть сообщение
А куда его уже сокращать?
ну например создать вот такой метод
Java
1
2
3
4
5
private void setParams(Towers machineGun, int damage, int range, int apm){
        machineGun.setDamage(damage);
        machineGun.setRange(range);
        machineGun.setApm(apm);
    }
и в свитче делать вот так
Java
1
2
3
case 2:
                setParams(machineGun,15,180,1150);
                break;
Добавлено через 3 минуты
то же самое нужно с gotXpToLevelUp() сделать и срочно освоить дебаггер. иначе с твоей схемой наследования ты долго будешь проблему искать
0
0 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 55
16.08.2018, 18:59  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
private void setParams(Towers machineGun,
Почему здесь берешь Towers machineGun? Ведь это общий метод?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
16.08.2018, 19:09
Цитата Сообщение от Jambazi12 Посмотреть сообщение
Почему здесь берешь Towers machineGun? Ведь это общий метод?
нет, это твой класс и название переменной, смотри строку 6 в методе machinegunTower
блин как ты в них не путаешься? переменные, методы и классы названы похоже.
По джаве больше не консультирую, читай про циклы, читай статью про дебаггер, упрощай код.
0
0 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 55
16.08.2018, 19:13  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
и в свитче делать вот так
Общий метод где мы создаем? В том же классе где и свитч? Или где общие данные по башенкам?

Добавлено через 1 минуту
Цитата Сообщение от Welemir1 Посмотреть сообщение
По джаве больше не консультирую
Эхх, спасибо и на том. Есть над чем работать.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
16.08.2018, 19:18
Цитата Сообщение от Jambazi12 Посмотреть сообщение
Общий метод где мы создаем? В том же классе где и свитч? Или где общие данные по башенкам?
конечно в том же классе, где и свитч, метод же приватный, другие его не увидят
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.08.2018, 19:18
Помогаю со студенческими работами здесь

Почему увеличивается значение типа float?
При вводе в переменную типа float значения 1234567890 оно становится равным 1234567936. Я понимаю, что в мантиссу это число не влезет, и...

При остановке таймера значение oldValue увеличивается на 2 с каждым тиком
Собственно, вот код using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using...

При автозаполнении захватывая ячейку с числом обычно значение не копируется , а увеличивается на 1.
При автозаполнении захватывая ячейку с числом обычно значение не копируется , а увеличивается на 1. Эта штука меня достала. ...

При нажатии кнопки переменная увеличивается на 1, при зажатии каждую секунду увеличивается на 1
Подскажите пожалуйста, как лучше реализовать: На экране есть кнопка. При нажатии переменная увеличивается на 1, при зажатии каждую секунду...

Заполнить массив последовательностью, в которой через каждые 8 элементов записываемое значение увеличивается
Заполнить массив такой последовательностью, в которой через каждые 8 элементов записываемое значение увеличивается на 1. Заполнять массив...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru