Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/34: Рейтинг темы: голосов - 34, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 11.06.2017
Сообщений: 5
1

Игра в кости

17.06.2017, 08:30. Показов 6604. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать игру в которой имитируется бросание кубиков игроком. Игра должна представлять собой консольное приложение. В игре 2 кубика и на каждом из них может выпасть от 1 до 6 очков. Пользователь загадывает число от 2 до 12, затем бросает кости. После броска показать, нарисованные символами кубики и количество очков, выпавших на них.
Конечное число выигранных очков будет высчитываться по формуле: x - Math.Abs(x-y)*2, где:
x - количество очков выпавшее на костях
y - загаданное число очков
То есть конечным количеством очков будет количество выпавших на костях очков минус удвоенная ошибка в догадке.
Пользователь выигрывает, если в результате выходит количество очков больше нуля. В конце нужно отобразить формулу расчета очков, конечное количество очков с вычетом удвоенной ошибки в догадке и вынести вердикт - выиграл пользователь или проиграл.

Пример вывода на экран:

--- Start game ---

Predict the points number (2..12): 9
User rolls the dice:
---------
| # # # |
| |
| # # # |
---------
---------
| # # |
| # |
| # # |
---------
On the dice fell 11 points.
Result is 11-abs(11-9)*2: 7 points
User wins!

Указания:
Для отображения кубика напишите функцию PrintDice(int number);, внутри которой используйте конструкцию switch…case для выбора отображения нужной стороны кубика
Бросок кубика сделать функцией RollTheDice();
Какой стороной упадет кубик должно выбираться случайным образом
Этап второй
Ввести в игру второго игрока - компьютер. Бросает первым игрок. Затем компьютер. Потом идет подсчет баллов и объявляется победитель с указанием разницы в очках. Побеждает тот у кого больше очков, даже если у него отрицательный результат. Также возможна ничья, если количество очков у игроков равное.

Пример вывода:

--- Start game ---

Predict the points number (2..12): 9
User rolls the dice:
---------
| # # # |
| |
| # # # |
---------
---------
| # # |
| # |
| # # |
---------
On the dice fell 11 points.
Result is 11-abs(11-9)*2: 7 points

Computer predicted 5 points.
Computer rolls the dice:
---------
| # # |
| |
| # # |
---------
---------
| # |
| # |
| # |
---------
On the dice fell 7 points.
Result is 7-abs(7-5)*2: 3 points

Users win 4 points more.
Congratulations!

Указания:
Компьютер должен загадывать число автоматически используя случайное число в диапазоне от 2 до 12.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2017, 08:30
Ответы с готовыми решениями:

Игра в кости
Игра с компьютером в кости.Условия игры.Компьютер выдает себе или Вам случайные числа от 1 до...

Игра "Кости" на C# с использованием классов
Игра "Кости" на C# с использованием классов.Чтоб могли играть 2 пользователя.Помогите очень нужно.

Игра "Кости"
Создать класс "Кости". В данном классе существуют две закрытых переменных p (сумма очков) и t...

Игра Кости, игра с компьютером
Всем привет! Делаю консольную игру Кости. Условия такие: 1) Перед игрой все игроки бросают...

3
1494 / 1209 / 821
Регистрация: 29.02.2016
Сообщений: 3,614
17.06.2017, 09:37 2
https://stackoverflow.com/ques... -dice-game
0
1 / 1 / 1
Регистрация: 23.09.2017
Сообщений: 13
24.09.2017, 20:38 3
решение на C
я думаю что нарисовать кубики через switch и case труда не составит...

C
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
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#define CLEARING() Sleep(3000); printf_s("\r%79c\r", ' ');
 
 
int cube1();
int cube2();
void diceroll();
 
int main()
{
    int scoreplayer = 0, scorecomp = 0, round = 1;
    char playername[100], opponentname[] = { "Megamind" };
 
    for (int i = 0; i < 10; ++i)
    {
        Sleep(500);
        printf_s("\t\tWelcome to the championship of the dice masters!!!\r");
        Sleep(500);
        printf_s("%79c\r", ' ');
    }
    printf_s("Please, put your name: ");
    scanf_s("%s", playername, 100);
    getchar();
    printf_s("Ok, %s, your opponent is none other than %s.", playername, opponentname);
    CLEARING();
    printf_s("Are you ready?");
    CLEARING();
    printf_s("Never mind. Let the hell begin!!!");
    CLEARING();
 
    for (;;)
    {
        do
        {
            printf_s("\n\t\t\t\tROUND %d.", round);
            CLEARING();
            printf_s("\nFor roll the dice press the enter.");
        } while (getchar() != '\n');
        diceroll();
        scoreplayer += (cube1() + cube2());
        printf_s("%d %d", cube1(), cube2());
        CLEARING();
        printf_s("Megamind turn!");
        CLEARING();
        diceroll();
        scorecomp += (cube1() + cube2());
        printf_s("%d %d", cube1(), cube2());
        CLEARING();
        printf_s("Round %d. Players scores: %s - %d\t%s - %d\n", round, playername, scoreplayer, opponentname, scorecomp);
        if (round == 3)
        {
            if (scoreplayer > scorecomp)
            {
                puts("You are the dice master. Congratulation!");
                return 0;
            }
            else if (scoreplayer == scorecomp)
            {
                puts("Dead heat!");
                return 0;
            }
            puts("You lose!");
            return 0;
        }
        ++round;
    }
 
 
    return 0;
}
 
void diceroll()
{
    for (int i = 0, b = 0; b != 25; ++i, ++b)
    {
        printf_s("%d %d\b\b\b", i, i + 1);
        Sleep(100);
        if (i == 6)
        {
            i = 0;
        }
    }
 
}
 
int cube1()
{
    int result = 0;
    srand(time() + 10);
    result = rand() % 6 + 1;
 
    return result;
}
 
int cube2()
{
    int result = 0;
    srand(time());
    result = (rand() + 10) % 6 + 1;
 
    return result;
}
0
93 / 77 / 31
Регистрация: 29.08.2017
Сообщений: 188
25.09.2017, 09:12 4
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
using System;
using System.Linq;
using System.Collections.Generic;
 
class Program
{
    public static void Main()
    {
        int predict = Int32.Parse(Console.ReadLine());
        List<int> dice = Enumerable.Repeat(new Random(), 2).Select(r => r.Next(1, 7)).ToList();
        int sum = dice.Sum();
        int score = sum - Math.Abs(sum - predict) * 2;
        Console.WriteLine(String.Format("Выпали кубики {0} и {1}, сумма = {2}, очков = {3}, пользователь {4}", dice[0], dice[1], sum, score, score > 0 ? "выиграл" : "проиграл"));
    }
}
0
25.09.2017, 09:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2017, 09:12
Помогаю со студенческими работами здесь

Игра в кости
Здравствуйте, не могли бы вы написать простенькую программу? Просто в C++ не шарю, а к зачету нужно...

Игра в кости
Написать программу, которая имитирует игру в кости. Игроки (2 человека) кидают по 2 кубика...

Игра в кости
НУжно написать на C++ игру в кости,консольную,с использованием генератора случайных чисел. т.е...

Игра Кости
Я учюсь на 3 курсе задали сделать Игру кости при нажатии на форму должно выподать любое...


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

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