0 / 0 / 0
Регистрация: 30.06.2020
Сообщений: 149
1

Оцените начало проекта пожалуйста. Как можно доделать классы и перевести игру в рабочую бета версию?

30.05.2021, 14:08. Показов 459. Ответов 5
Метки нет (Все метки)

хочется создать еще класс Boss, Armor, Weapons, Magic и можете покидать свои идеи. Мои идеи я не уверен как реализовать, потому и обратился, они написаны в комментариях

Это главный класс

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import java.util.Random;
import java.util.Scanner;
public class Fighter {
    private static Random random = new Random();
    private static int minAddXp = 5;
    private static int maxAddXp = 50;
    private static int bossDamagePerHit = 20;
    private static int bossHealth = 300;
    private static int stageCount = 1;
    public static void main(String args[]) throws InterruptedException {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Welcome to the ring!");
        System.out.println("What is your name?");
        String name = scanner.nextLine();
        Player player = new Player(name);
        while (stageCount <= 50) {
            Enemy enemy = new Enemy(stageCount);
            //bossHealth = 300;
            while (player.getHealth() >= 0 && enemy.getHealth() >= 0 && bossHealth >= 0) {
                System.out.println(player.getName()+" : "+ player.getHealth());
                System.out.println("Enemy : " + enemy.getHealth());
                Thread.sleep(1000);
                if (stageCount % 5 == 0) {
                    fightBoss();
                } else {
                    fightEnemy();
                }
                while (playerHealth <= 50 && healthPotions >= 1) {
                    System.out.println("Do you want to use health potion?");
                    String read = scanner.nextLine();
                    if (read.equals("yes")) {
                        player.heal();
                    } else {
                        System.out.println("Let's continue!");
                        break;
                    }
                }
                if (playerHealth <= 0) {
                    System.out.println("You lose.");
                    break;
                }
                if (enemyHealth <= 0) {
                    System.out.println("You win!");
                    xp += minAddXp;
                    Thread.sleep(1000);
                    System.out.println("You earned "+minAddXp+" xp!");
                    if (xp % 100 == 0) {
                        Thread.sleep(1000);
                        System.out.println("You got a new level!");
                        playerLevel++;
                        Thread.sleep(1000);
                    }
                    stageCount++;
                    System.out.println("Level " + stageCount);
                    enemyLevel++;
                    enemyHealth+=5;
                }
                if (bossHealth <= 0) {
                    System.out.println("You conquered the boss!");
                    xp += maxAddXp;
                    Thread.sleep(1000);
                    System.out.println("You earned "+maxAddXp+" xp!");
                    if (xp % 100 == 0) {
                        Thread.sleep(1000);
                        System.out.println("You got a new level!");
                        playerLevel++;
                    stageCount++;
                    enemyLevel++;
                    bossHealth+=5;
                    Thread.sleep(1000);
                    System.out.println("Level " + stageCount);
                }
            }
        }
    }
    }
    public static void fightEnemy() throws InterruptedException {
        boolean hitOnEnemy = random.nextBoolean();
        boolean hitOnPlayer = random.nextBoolean();
        int playerDamagePerHit = random.nextInt(maxDamage - minDamage) + minDamage;
        int enemyDamagePerHit = random.nextInt(maxDamage - minDamage) + minDamage;
        if (hitOnPlayer == true) {
            playerHealth -= enemyDamagePerHit;
        }
        if (hitOnEnemy == true) {
            enemyHealth -= playerDamagePerHit;
        }
        if (hitOnPlayer == false) {
            System.out.println("Enemy missed!");
            Thread.sleep(1000);
        }
        if (hitOnEnemy == false) {
            System.out.println("You missed!");
            Thread.sleep(1000);
        }
    }
    public static void fightBoss() throws InterruptedException {
        boolean hitOnEnemy = random.nextBoolean();
        boolean hitOnPlayer = random.nextBoolean();
        int playerDamagePerHit = random.nextInt(maxDamage - minDamage) + minDamage;
        if (hitOnPlayer == true) {
            playerHealth -= bossDamagePerHit;
        }
        if (hitOnEnemy == true) {
            bossHealth -= playerDamagePerHit;
        }
        if (hitOnPlayer == false) {
            System.out.println("Boss missed!");
            Thread.sleep(1000);
        }
        if (hitOnEnemy == false) {
            System.out.println("You missed!");
            Thread.sleep(1000);
        }
    }
}
// Use random names for enemies, 
//give specific characteristics to player and enemies, gear and armor points. Also make a looting system with random loot, inventory and looting from inventory.
Player:

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
40
41
42
43
44
45
46
47
public class Player {
    private int playerLevel;
    private int playerHealth;
    private int playerArmor;
    private int healthPotions;
    private int minDamage;
    private int maxDamage;
    private int xp;
    private int mana;
    private String name;
    public Player(String name){
        playerLevel = 1;
        playerHealth = 150;
        playerArmor = 10;
        healthPotions = 5;
        minDamage = 0;
        maxDamage = 10;
        this.name = name;
        xp = 0;
        mana = 0;
    }
    public void heal(){
        playerHealth += 50;
        healthPotions -= 1;
    }
    public int getLevel(){
        return playerLevel;
    }
    public int getXp(){
        return xp;
    }
    public int getHealth(){
        return playerHealth;
    }
    public String getName(){
        return name;
    }
    public int getMana(){
        return mana;
    }
    public int getArmor(){
        return playerArmor;
    }
    public int getHealthPotions(){
        return healthPotions;
    }
}
Enemy

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
public class Enemy {
    private int enemyLevel;
    private int enemyHealth;
    private int minDamage;
    private int maxDamage;
    private int xpGiven;
    private int enemyArmor;
    private String name;
    public Enemy(int stageCount){
        enemyLevel = stageCount;
        enemyHealth = 145+(stageCount*5);
        enemyArmor = 5;
        minDamage = 0;
        maxDamage = 10;
        xpGiven = 5;
    }
    public int getLevel(){
        return enemyLevel;
    }
    public int getHealth(){
        return enemyHealth;
    }
    public int getXPGiven(){
        return xpGiven;
    }
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.05.2021, 14:08
Ответы с готовыми решениями:

Откуда можно скачать рабочую версию Delphi 7 на x64 версию win?
Не могу найти, помогите пожалуйста

Где можно скачать рабочую версию IDA PRO?
Где можно скачать рабочую версию IDA PRO? Или другого хорошего отладчика Помогите пожалуйста!...

Где можно скачать рабочую версию Visual Basic
Где можно скачать рабочую версию Visual Basic ? Help

Где можно скачать рабочую версию IDA PRO?
Где можно скачать рабочую версию IDA PRO? Или другого хорошего отладчика Помогите пожалуйста!...

5
2087 / 1645 / 407
Регистрация: 17.02.2014
Сообщений: 8,123
31.05.2021, 11:24 2
Цитата Сообщение от Efrem99 Посмотреть сообщение
Оцените начало проекта пожалуйста
это не конструктивная просьба, т.к. любая оценка субъективна. критика займет много времени на описание и не факт, что ты ее поймешь. найди на гите похожие игры и сам себя критикуй.
что сразу бросается в глаза: главный класс слишком большой, полей в нем не должно быть. не применяешь наследование и полиморфизм. на мой взгляд, паттерн проектирования "декоратор" тут зашел бы не плохо.
1
0 / 0 / 0
Регистрация: 30.06.2020
Сообщений: 149
31.05.2021, 17:47  [ТС] 3
для более менее новичка, что имеется ввиду под этими терминами примерно понимаю, а как это применить в этом проекте на практике?
0
Coffeini
31.05.2021, 17:55
  #4

Не по теме:

Цитата Сообщение от Efrem99 Посмотреть сообщение
а как это применить в этом проекте на практике?
Ctrl+Alt+T
Bash
1
rm -R ~/${ PATH_TO_PROJECT }
Не благодари.

0
2087 / 1645 / 407
Регистрация: 17.02.2014
Сообщений: 8,123
31.05.2021, 18:53 5
Цитата Сообщение от Efrem99 Посмотреть сообщение
как это применить в этом проекте на практике?
в гугле забей это "java console games source code" и получай сотни миллионов тонн счастья.
0
136 / 119 / 54
Регистрация: 13.04.2014
Сообщений: 486
31.05.2021, 18:57 6
Efrem99, просто больше практикуйся, ищи материал на нужные тебе темы, пытайся разобраться в нем и тд
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2021, 18:57

Где можно найти оптимальную рабочую версию Windows 7?
Подскажите пожалуйста где можно найти оптимальную рабочую версию семерки?

Как удалить бета-версию Касперского?
Я скачал техническую предварительную версию Каспера 2016. И не могу теперь эту не допиленную дрянь...

Как сделать рабочую 64-битную версию базы из 32-битной?
Добрый день, уважаемые знатоки)... Помнится, я уже где-то здесь в темах натыкался и спрашивал, но...

Можно ли восстановить прежнюю версию проекта?
Случайно удалил прежний код, вставил новый, сохранил и закрыл. Можно ли как-то восстановить...

Подскажите пожалуйста, как можно перевести массив из real в string
Подскажите пожалуйста, как можно перевести массив из real в string. Я устественно перевожу str(a,...

Скачать рабочую версию Acronis DDH
привет! дайте , пожалуйста , ссылку на рабочую версию Acronis DDH !!! спасибо! извините за...


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

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

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