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

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

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

Author24 — интернет-сервис помощи студентам
Здравствуйте. Набросал немного кода. Игра называется "Морская битва". Пока в консольной форме. Давайте в этой теме обсуждать как можно улучшить игру. Код будет постоянно обновляться. Помогайте - изменяйте мой код как будет удобно. Можно добавить 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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.08.2014, 22:06
Ответы с готовыми решениями:

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

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

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

Битва с хардами
Железо - Pentium D820 DualCore MB - ConRoeXFire-Esata2, Chipset - i945P, RAM - DDRII 2Gb, GF8500GT...

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

Не по теме:


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

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

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.08.2014, 09:53

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

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

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

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

DTS и Exel, битва!!
Люди может кто-то встречался с такой проблеммой или подаст свежую идею.. Проблема в следующем есть...

Реферат Московская битва
Нужен реферат по истории России что нибудь по Московской битве ВОВ интернет не предлагать так как...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru