Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
10 / 10 / 0
Регистрация: 12.04.2012
Сообщений: 333

Морская битва

19.08.2014, 22:06. Показов 1085. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Набросал немного кода. Игра называется "Морская битва". Пока в консольной форме. Давайте в этой теме обсуждать как можно улучшить игру. Код будет постоянно обновляться. Помогайте - изменяйте мой код как будет удобно. Можно добавить GUI.

Пока в сражении участвуют 1 фрегат и 1 линейный корабль. У каждого корабля свой уровень атаки, защиты, верткости. Помогите с развитием игры.


Ship.java

Java
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
import java.util.Random;
 
public class ShipBattle extends Thread{
 
    
    public static void main (String[] args){
        Fregat freg1 = new Fregat();
        Linkor link1 = new Linkor();        
        
        Random rand = new Random();     
        
        while(freg1.korabl > 0 & link1.korabl > 0){
            
            
                freg1.strelba();
                link1.strelba();
                freg1.korabl = freg1.korabl-link1.ataka+freg1.zashita+(int) (1 + Math.random() * freg1.vertkost);
                link1.korabl = link1.korabl-freg1.ataka+link1.zashita+(int) (1 + Math.random() * link1.vertkost);
                System.out.println("Жизнь фрегата" + freg1.korabl);
                System.out.println("Жизнь линкора" + link1.korabl);
                try{
                    Thread.sleep(1000);
                } 
                catch (InterruptedException e) 
                { 
                }   
                
        }
    
        if (freg1.korabl <= 0){
            System.out.println("Проигрыш фрегата");
        }
        if  (link1.korabl <= 0){
                System.out.println("Проигрыш линкора");
        }
        
    }
    
}
Fregat.java

Java
1
2
3
4
5
6
7
8
9
10
11
12
public class Fregat {
 
    int korabl = 450;
    int ataka = 15;
    int zashita = 6;
    int vertkost = 9;
    
    public void strelba(){
        System.out.println("Нанёс удар");
    }
    
}
Linkor.java

Java
1
2
3
4
5
6
7
8
9
10
11
public class Linkor {
    int korabl = 600;
    int ataka = 26;
    int zashita = 6;
    int vertkost = 3;
    
    public void strelba(){
        System.out.println("Нанёс удар");
    }
    
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.08.2014, 22:06
Ответы с готовыми решениями:

Класс: Морская волна
Разработать программу для рисования на форме геометрического объекта, используя объектно-ориентированное программирование. В программе...

"хорошая морская практика", или как принято обустраивать программы под линукс?
скачали архив progr развернули под /opt/progr ]$ pwd /opt/progr ]$ ls bin idl include lib вопрос: что делаем дальше? как...

Создание игры "Морская стрелялка"
Пишу игру тип:морская стрелялка.Так вот у меня возник вопрос с процедурами.По замыслу корабль должен плыть по воде и мы должны этот корабль...

6
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
19.08.2014, 23:09
Савва, а что конкретно помочь? Как бы морской бой написать за вечер не так сложно...
0
10 / 10 / 0
Регистрация: 12.04.2012
Сообщений: 333
19.08.2014, 23:11  [ТС]
Wolkodav, нет. Не морской бой. Типа мини-стратегии с прорисовкой кораблей и стрельбой друг друга. Причем один корабль управляемый тобой. Очень простой GUI нужен.
0
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
19.08.2014, 23:14
Савва, а вам написать, с gui, не сударь, помилуйте... Ну если с прорисовкой, то надо в сторону OpenGL смотреть...
0
185 / 160 / 49
Регистрация: 30.07.2013
Сообщений: 508
20.08.2014, 01:45
Автор, а ты слышал о наследовании? Зачем нужны интерфейсы?
0
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
20.08.2014, 02:27
С таким рвением можно и лоб разбить. Перед тем как начинать писать GUI освойте самые азы программирования - ООП, например. Ибо здесь оно как нельзя кстати.
З.Ы. Пару советов:
1. Учитесь изначально писать нормальный код
1.1 Давайте осмысленные имена классам, методам, переменным на английском. Ибо то что сейчас есть у вас - ни есть карашо.
1.2 Как правильно заметил darknim, сначала прикиньте в голове какие корабли у вас будут, сколько их, что у них общего. На основе этого набросайте их иеррархию.
Ну и дальше в таком же душе.
А вот когда уже будет что показать, милости просим.
0
21.08.2014, 09:53

Не по теме:


Помню, когда-то играл в такой морской бой. Там было, карочи поля в дымовой завесе, за каждый выстрел и движение корабля снимает деньги. И за починку кораблей. Если куда-то стрельнуть, в той точке дым пропадает. За каждый ход добавляется определённая сумма. Прикольная стратегия была, хотя довольно простая, всего на 4 корабля: крейсер (маскирует), авианосец (стрельба), атомная подлодка (супер стрельба), подводная лодка-шпион (демаскировка).

Кликните здесь для просмотра всего текста
Грабить каравеллы нельзя. :jokingly:

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.08.2014, 09:53
Помогаю со студенческими работами здесь

Битва с хардами
Железо - Pentium D820 DualCore MB - ConRoeXFire-Esata2, Chipset - i945P, RAM - DDRII 2Gb, GF8500GT инфа - на картинках Суть проблемы...

Битва начинается
ограничение по времени на тест: 2 seconds ограничение по памяти на тест: 64 megabytes Наконец этот день настал — армия вашего героя...

Битва бактерий
Делать нефиг пишу игру. Суть игры: Поле - матрица M на N на которой борются 3 типа бактерий. Изначально на поле только по 1 клетке...

Битва танков
Здравствуйте. Есть вот такая задача: мы видим поле боя сбоку, на нем есть два танка. Один танк управляется игроком другой ботом. Задача...

Вторжение: Битва за рай 2
Очень хочется посмотреть данный фильм, но увы ничего не могу найти( Облазел весь гугл, пусто. Может кто знает, что-нибудь, где его можно...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru