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

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

16.08.2018, 18:08. Просмотров 517. Ответов 9


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

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

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

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

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

9
Автоматизируй это!
Эксперт Python
4093 / 2796 / 835
Регистрация: 30.03.2015
Сообщений: 9,084
Записей в блоге: 14
16.08.2018, 18:31 2
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  [ТС] 3
Цитата Сообщение от Welemir1 Посмотреть сообщение
а вот это ... не знаю как даже назвать
Это я просто накопипастил для проверки. Не берите во внимание.
Цитата Сообщение от Welemir1 Посмотреть сообщение
методы названы именами существительными
А они что должны называться именами прилагательными или цифрами?
0
Автоматизируй это!
Эксперт Python
4093 / 2796 / 835
Регистрация: 30.03.2015
Сообщений: 9,084
Записей в блоге: 14
16.08.2018, 18:40 4
Цитата Сообщение от Jambazi12 Посмотреть сообщение
А они что должны называться именами прилагательными или цифрами?
вот те и раз! глаголами они должны быть, а класс существительное, интерфейс прилагательное. По возможности конечно.
пулемет.выстрелить() - это норм, а вот пулеметБашняАтака.пулеметБашня() (как у тебя) это жутко
0
0 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 55
16.08.2018, 18:44  [ТС] 5
Цитата Сообщение от Welemir1 Посмотреть сообщение
у тебя в свитчах огромные блоки аналогичного кода
А куда его уже сокращать? Что, просто присвоить какую-то переменную на присвоение значения или как?
Java
1
2
3
4
5
      case 3:
                machineGun.setDamage(24);
                machineGun.setRange(195);
                machineGun.setApm(1250);
                break;
Что в свиче можно поменять, чтобы оптимизировать мой код? КАК Убрать повторения?
0
Автоматизируй это!
Эксперт Python
4093 / 2796 / 835
Регистрация: 30.03.2015
Сообщений: 9,084
Записей в блоге: 14
16.08.2018, 18:53 6
Цитата Сообщение от 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  [ТС] 7
Цитата Сообщение от Welemir1 Посмотреть сообщение
private void setParams(Towers machineGun,
Почему здесь берешь Towers machineGun? Ведь это общий метод?
0
Автоматизируй это!
Эксперт Python
4093 / 2796 / 835
Регистрация: 30.03.2015
Сообщений: 9,084
Записей в блоге: 14
16.08.2018, 19:09 8
Цитата Сообщение от Jambazi12 Посмотреть сообщение
Почему здесь берешь Towers machineGun? Ведь это общий метод?
нет, это твой класс и название переменной, смотри строку 6 в методе machinegunTower
блин как ты в них не путаешься? переменные, методы и классы названы похоже.
По джаве больше не консультирую, читай про циклы, читай статью про дебаггер, упрощай код.
0
0 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 55
16.08.2018, 19:13  [ТС] 9
Цитата Сообщение от Welemir1 Посмотреть сообщение
и в свитче делать вот так
Общий метод где мы создаем? В том же классе где и свитч? Или где общие данные по башенкам?

Добавлено через 1 минуту
Цитата Сообщение от Welemir1 Посмотреть сообщение
По джаве больше не консультирую
Эхх, спасибо и на том. Есть над чем работать.
0
Автоматизируй это!
Эксперт Python
4093 / 2796 / 835
Регистрация: 30.03.2015
Сообщений: 9,084
Записей в блоге: 14
16.08.2018, 19:18 10
Цитата Сообщение от Jambazi12 Посмотреть сообщение
Общий метод где мы создаем? В том же классе где и свитч? Или где общие данные по башенкам?
конечно в том же классе, где и свитч, метод же приватный, другие его не увидят
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.08.2018, 19:18

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

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

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

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

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

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

Как изменяется сопротивление в металлах с повышением температуры?
Пробовал решить задачу, не получилось. Но я знаю что с повышением температуры в металлах скорость и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.