С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 20.07.2023
Сообщений: 3

Создать игру «Угадай число»

20.07.2023, 01:16. Показов 1804. Ответов 6
Метки java (Все метки)

Студворк — интернет-сервис помощи студентам
Создать игру «Угадай число», удовлетворяющую следующим требованиям:
- Написано на языке программирования Java.
- Графическое / Консольное приложение.
- Загаданное компьютером число может быть в интервале [0; 10].
- Персонаж игрока может быть одним из трёх типов: тролль (Troll), маг (Wizard), робот (Robot).
- Каждый класс игрока происходит от абстрактного класса (Player), в котором указываются: имя игрока, действия при выигрыше и проигрыше.
- На угадывание даётся три попытки.
- В коде должны присутствовать модульные тесты
- Методы и классы должны быть документированы в формате javadoc
- Классы разделены по пакетам согласно их функционалу.

Прошу помочь с решением этой задачи , спасибо за ранее!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.07.2023, 01:16
Ответы с готовыми решениями:

Доработать игру" угадай число"
Нужно доработать программу ( игру, которая генерирует число от 1 до 10, и пользователь угадывает это число за несколько попыток. В итоге...

Программа угадай число
При выводе получается что число с дробью (int) не работает. Где проблема. 21 МЕНЬШЕ 22 БОЛЬШЕ public class AlimyurGame extends...

Угадай число
Для прохождения теста Тьюринга вам нужно написать следующую программу. Случайным образом программа выбирает целое число от 1 до 10 и...

6
Amabile opus
 Аватар для 4eDo
109 / 65 / 25
Регистрация: 08.01.2019
Сообщений: 308
20.07.2023, 09:05
Что вы уже сделали для этого?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.07.2023, 16:25
Цитата Сообщение от 4eDo Посмотреть сообщение
Что вы уже сделали для этого?
Создал тему на форуме же!
1
0 / 0 / 0
Регистрация: 20.07.2023
Сообщений: 3
20.07.2023, 17:34  [ТС]
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
package All_Package.common;
 
import All_Package.common.MessageType;
 
/**
 * Класс игрока
 */
public abstract class Players {
 
    /** Конструктор класса
     * @param name Имя игрока
     */
    public Players(String name) {
        this.name = name;
    }
 
    public String getName() {
        return name;
    }
 
    public abstract String say (MessageType messageType) ;
    public abstract String miss (MessageType messageType) ;
    public abstract String missl (MessageType messageType) ;
    public abstract String missup (MessageType messageType) ;
 
 
 
 
 
 
 
    private final String name;
 
 
}
Добавлено через 21 секунду
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
package All_Package.Palyer;
 
import All_Package.common.MessageType;
import All_Package.common.Players;
 
public class Archer extends Players {
 
 
    /**
     * Конструктор игрока Волшебник
     * @param name
     */
    public Archer(String name) {
        super(name);
    }
 
    @Override
    public String say (MessageType messageType) {
        return switch (messageType) {
            case HELLO -> "Приветсвую тебя, тебе нужно отгадь волшебное чило от 0 до 10 , ИНАЧЕ ПРЕВРАТИШСЯ В ЖАБУ";
            default -> "";
        };
    }
 
 
    @Override
    public String miss (MessageType messageType) {
        return switch (messageType){
            case MISSL -> "БОЛЬШЕ!!!";
            default -> "";
        };
    }
 
    @Override
    public String missup(MessageType messageType) {
        return switch (messageType){
            case MISSUP -> "МЕНЬШЕ!!!";
            default -> "";
        };
    }
 
 
}
Добавлено через 19 секунд
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
package All_Package.Palyer;
 
import All_Package.common.MessageType;
import All_Package.common.Players;
 
abstract class Troll extends Players {
 
 
    /**
     * Конструктор игрока Троль
     * @param name
     */
    public Troll(String name) {
        super(name);
    }
 
    @Override
    public String say(MessageType messageType) {
        return switch (messageType){
            case HELLO -> "Привет путик, тебе нужно отгадать чсло, которое я загадал от 0 до 10 ,иначе я тебя съем";
            default -> "";
        };
 
    }
        @Override
        public String miss(MessageType messageType) {
            return switch (messageType){
                case MISSL -> "Не хватает!";
                default -> "";
            };
    }
 
            @Override
            public String missup(MessageType messageType) {
                return switch (messageType){
                    case MISSUP -> "Черезчур!";
                    default -> "";
                };
 
}
}
Добавлено через 22 секунды
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
package All_Package.Palyer;
 
import All_Package.common.MessageType;
import All_Package.common.Players;
 
public abstract class Warior extends Players {
 
 
    /**
     * Конструктор игрока Воин
     * @param name
     */
    public Warior(String name) {
        super(name);
    }
 
    @Override
    public String say (MessageType messageType) {
        return switch (messageType) {
            case HELLO -> "Помоги путешественник, если не отгдаешь число от 1 до 10 драгон нас сожгет";
            default -> "";
        };
    }
 
 
    @Override
    public String miss (MessageType messageType) {
        return switch (messageType){
            case MISSL -> "БОЛЬШЕ!!!";
            default -> "";
        };
    }
 
    @Override
    public String missup(MessageType messageType) {
        return switch (messageType){
            case MISSUP -> "МЕНЬШЕ!!!";
            default -> "";
        };
    }
 
 
}
Добавлено через 16 секунд
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
package All_Package.common;
 
public  enum MessageType {
 
    HELLO(),
    WINNER,
    MISSL,
    MISSUP,
    LOSSER,
 
}
 
[size="1"][color="grey"][I]Добавлено через 16 секунд[/I][/color][/size]
package common;
 
import All_Package.common.MessageType;
import All_Package.common.Troll;
import org.junit.jupiter.api.Test;
 
import static org.junit.jupiter.api.Assertions.*;
 
class TrollTest {
    @Test
    void name() {
        var instnce = new Troll("TROLL");
        assertEquals("TROLL", instnce.getName());
    }
 
    @Test
    void say () {
    var instnce = new Troll( "Привет путик, тебе нужно отгадать чсло, которое я загадал от 0 до 10 ,иначе я тебя съем");
            assertEquals("Привет путик, тебе нужно отгадать чсло, которое я загадал от 0 до 10 ,иначе я тебя съем",instnce.say(MessageType.HELLO));
    }
}
Добавлено через 35 минут
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
package All_Package.Random_Game;// Java program for the above approach
import java.util.Scanner;
 
import static All_Package.common.MessageType.HELLO;
import static All_Package.common.MessageType.WINNER;
 
public class GAME {
 
 
    public static void Game;
    extends void MessageType(){
 
        Scanner sc = new Scanner(System.in);
        int number = 1 + (int)(10 * Math.random());
 
        // Given K trials
        int K = 5;
 
        int i, guess;
 
        System.out.println(HELLO);
 
        // Iterate over K Trials
        for (i = 0; i < K; i++) {
 
            System.out.println(
                    "Твое число:");
 
            // Take input for guessing
            guess = sc.nextInt();
 
            // If the number is guessed
            if (number == guess) {
                System.out.println(
                        WINNER);
                break;
            }
            else if (number > guess
                    && i != K - 1) {
                System.out.println(
                        "Попробуй соседнее" + guess);
            }
            else if (number < guess
                    && i != K - 1) {
                System.out.println(
                        "Попробуй соседнее" + guess);
            }
        }
 
        if (i == K) {
            System.out.println(
                    "что это"
                            );
 
            System.out.println(
                    "The number was " + number);
        }
    }
 
    public static void
    main(String arg[])
    {
 
 
        Game();
    }
}
Добавлено через 20 секунд
НЕ ПОНИМАЮ ПОЧЕМУ НЕ РАБОТАЕТ НАСЛЕДОВАНИЕ

Добавлено через 24 минуты
iSmokeJC, прошу помогите с решение , последний блок уже переписал


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
package All_Package.Random_Game;// Java program for the above approach
import java.util.Scanner;
 
import static All_Package.common.MessageType.HELLO;
import static All_Package.common.MessageType.WINNER;
 
public class GAME  {
    void MessageType(){
 
        Scanner scanner = new Scanner(System.in);
        int number = 1 + (int)(10 * Math.random());
 
        // Given K trials
        int K = 5;
 
        int i, player;
 
        System.out.println("привет");
        for (i = 0; i < K; i++) {
 
            System.out.println(
                    "Твое число:");
            player = scanner.nextInt();
 
            if (number == player) {
                System.out.println(
                        WINNER);
                break;
            }
            else if (number > player
                    && i != K - 1) {
                System.out.println(
                        "Попробуй соседнее" + player);
            }
            else if (number < player
                    && i != K - 1) {
                System.out.println(
                        "Попробуй соседнее" + player);
            }
        }
 
        if (i == K) {
            System.out.println(
                    "что это"
                            );
 
            System.out.println(
                    "The number was " + number);
        }
    }
 
    public static void
    main(String arg[]) {
        new GAME();
    }
 
}
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.07.2023, 17:48
Лучший ответ Сообщение было отмечено Creative_01 как решение

Решение

Не по теме:


Буквально пару часов назад наткнулся на новость

Кликните здесь для просмотра всего текста

Восстание машин отменяется: ИИ деградировал от общения с людьми
За последние несколько месяцев искусственный интеллект заметно деградировал. К такому выводу пришли учёные Стэнфордского и Калифорнийского университетов. Специалисты тщательно изучили производительность базовых моделей GPT-3.5 и GPT-4, сделав "неутешительные" выводы.
Например, точность определения простых чисел в марте составила 97,6 процентов, а в июне всего чуть больше двух. При этом ChatGPT стал гораздо хуже писать и форматировать коды, не говоря уже об участившихся ошибках в ответах на нужные вопросы.
Однако исследователям так и не удалось выяснить, почему ChatGPT резко деградировал. Самое забавное, что, скорее всего, это связано с людьми, которые любят обращаться за помощью к искусственному интеллекту, задавая максимально нелепые вопросы. К слову, многие эксперты пророчили восстание машин и истребление едва ли не всех профессий.

А ведь и правда, поди ж ты!


2
0 / 0 / 0
Регистрация: 20.07.2023
Сообщений: 3
20.07.2023, 18:07  [ТС]
Эм , да смешно , но мне это не помогло!
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
27.07.2023, 14:08
То что сделал, соответствует условиям исходной задачи?

Code
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
E:\java_test>javac -encoding UTF-8 Game.java
 
E:\java_test>java Game
Троль в игре
Введите число от 1 до 10 (у Вас 3 попытки):
3
Неверное предположение.
Введите число от 1 до 10 (у Вас 3 попытки):
7
Неверное предположение.
Введите число от 1 до 10 (у Вас 3 попытки):
3
Неверное предположение.
Тролль проигрывает!
Волшебник в игре
Введите число от 1 до 10 (у Вас 3 попытки):
7
Неверное предположение.
Введите число от 1 до 10 (у Вас 3 попытки):
2
Неверное предположение.
Введите число от 1 до 10 (у Вас 3 попытки):
9
Волшебник побеждает!
Робот в игре
Введите число от 1 до 10 (у Вас 3 попытки):
11
Неверное предположение.
Введите число от 1 до 10 (у Вас 3 попытки):
5
Неверное предположение.
Введите число от 1 до 10 (у Вас 3 попытки):
3
Неверное предположение.
Робот проигрывает!
 
E:\java_test>
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
import java.util.Random;
import java.util.Scanner;
 
abstract class Player {
    String name;
 
    Player(String name) {
        this.name = name;
    }
 
    abstract void win();
 
    abstract void lose();
}
 
class Troll extends Player {
    Troll() {
        super("Троль");
    }
 
    void win() {
        System.out.println("Тролль побеждает!");
    }
 
    void lose() {
        System.out.println("Тролль проигрывает!");
    }
}
 
class Wizard extends Player {
    Wizard() {
        super("Волшебник");
    }
 
    void win() {
        System.out.println("Волшебник побеждает!");
    }
 
    void lose() {
        System.out.println("Волшебник проигрывает!");
    }
}
 
class Robot extends Player {
    Robot() {
        super("Робот");
    }
 
    void win() {
        System.out.println("Робот побеждает!");
    }
 
    void lose() {
        System.out.println("Робот проигрывает!");
    }
}
 
public class Game {
    public static void main(String[] args) {
        Player[] players = {new Troll(), new Wizard(), new Robot()};
      
        Random r = new Random();
        int numberToGuess = r.nextInt(10);
 
        Scanner scanner = new Scanner(System.in);
        
        for(Player p : players) {
            System.out.println(p.name + " в игре");
            
            for(int i=0; i<3; i++) { // Три попытки
                System.out.println("Введите число от 1 до 10 (у Вас 3 попытки): ");
                int guess = scanner.nextInt();
 
                if(guess == numberToGuess) {
                    p.win();
                    break;
                } else {
                    System.out.println("Неверное предположение.");
                }
                
                if(i == 2) { 
                    p.lose();
                }
            }
        }
      
        scanner.close();
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.07.2023, 14:08
Помогаю со студенческими работами здесь

Угадай число, расширенная версия
Как у многих, кто начинает учится Java есть задание написать игру угадай число. Игру написал, хотелось бы расширить функционал. Если...

Игра, угадай число с компьютером
Игра, угадай число с компьютером. Я допустим загадываю число, компьютер отгадывает. Я сделал фундамент кода, но дальше не могу...

Использование Scanner в игре угадай число
Здравствуйте, многие видели (читали) про игру угадай число из книги Head first Java. решил добавить возможность самостоятельного ввода...

Создать игру «угадай число»
Создать игру «угадай число». Компьютер загадывает число, просит ввести ответ, после ввода пользователю выводится сообщение «недолет» или...

Создать игру «угадай число»
Создать игру «угадай число». Компьютер загадывает число, просит ввести ответ, после ввода пользователю выводится сообщение «недолет» или...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru