Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2015, 18:44   #1
Middler
Новичок
Джуниор
 
Регистрация: 28.06.2015
Сообщений: 2
По умолчанию Игра кости

Помогите пожалуйста.
Код:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <locale.h>
main()
{
int i,//Переменная выбора действия
o1=0,//Переменная общего кол-ва очков игрока
o2=0,//Переменная общего кол-ва очков компьютера
a,//Переменная кол-ва очков игрока
b;//Переменная кол-ва очков компьютера
srand(time(0));//Задание начала отсчета для генерирования рандомного числа
setlocale(LC_ALL, "Russian");//Подключение Русского языка
printf("                                   ИГРА КОСТИ\n");
printf("Правила игры:\n");
 
do//Оператор цикла do while 
{
 
printf("Нажмите 1 для броска, нажмите 2 для просмотра общего счета, нажмите 3 для выхода");
scanf("%d",&i);
switch (i)//Функция выбора из множества вариантов
{
case 1://Если введена 1
system("cls");//Очистка консоли
a = rand() % 6+1;//Генерирование рандомного числа в диапазоне от 1 до 6 включительно
b = rand() % 6+1;//Генерирование рандомного числа в диапазоне от 1 до 6 включительно
printf("У вас :%d\n",a);//Вывод на экран полученного числа
if(a==1)
printf("_________\n|       |\n|       |\n|   0   |\n|       |\n|       |\n_________\n");
if(a==2)
printf("_________\n|      0|\n|       |\n|       |\n|       |\n|0      |\n_________\n");
if(a==3)
printf("_________\n|      0|\n|       |\n|   0   |\n|       |\n|0      |\n_________\n");
if(a==4)
printf("_________\n|0     0|\n|       |\n|       |\n|       |\n|0     0|\n_________\n");
if(a==5)
printf("_________\n|0     0|\n|       |\n|   0   |\n|       |\n|0     0|\n_________\n");
if(a==6)
printf("_________\n|0     0|\n|       |\n|0     0|\n|       |\n|0     0|\n_________\n");
o1+=a;//Подсчет общего кол-ва очков игрока
printf("У противника :%d\n",b);//Вывод на экран полученного числа
if(b==1)
printf("_________\n|       |\n|       |\n|   0   |\n|       |\n|       |\n_________\n");
if(b==2)
printf("_________\n|      0|\n|       |\n|       |\n|       |\n|0      |\n_________\n");
if(b==3)
printf("_________\n|      0|\n|       |\n|   0   |\n|       |\n|0      |\n_________\n");
if(b==4)
printf("_________\n|0     0|\n|       |\n|       |\n|       |\n|0     0|\n_________\n");
if(b==5)
printf("_________\n|0     0|\n|       |\n|   0   |\n|       |\n|0     0|\n_________\n");
if(b==6)
printf("_________\n|0     0|\n|       |\n|0     0|\n|       |\n|0     0|\n_________\n");
 
o2+=b;//Подсчет общего кол-ва очков компьютера
break;
case 2://Если введена 2 
system("cls");
if(o1>o2)
printf("Вы выигрываете со счетом %d:%d\n",o1,o2); /*Выявление того у кого очков больше */
if(o2>o1)
printf("Вы проигрываете со счетом %d:%d\n",o2,o1); /*и вывод на экран*/
if(o1==o2)
printf("Счет равный %d:%d\n",o1,o2); /*сообщения об этом с указанием кол-ва очков*/ 
break;
 
}
}
while(i!=3);//Если введена 3 выход из цикла
 
getchar();
}
Надо объединить строки в массив строк.
У Вас в каждой printf("_________\n| |\n| |\n| 0 |\n| |\n| |\n_________\n"); - строка, и таких строк 6 их надо объединить в массив строк, например, domino [6][40] тогда в программе все эти if не нужны, достаточно печатать printf("%s, domino [a]); во других случаях printf("%s, domino [b]);

Последний раз редактировалось Вадим Мошев; 28.06.2015 в 20:43.
Middler вне форума Ответить с цитированием
Старый 29.06.2015, 22:06   #2
Krasiosoft
Форумчанин
 
Аватар для Krasiosoft
 
Регистрация: 01.06.2015
Сообщений: 497
По умолчанию

Код:
char results[6][71]={
    {"_________\n|       |\n|       |\n|   0   |\n|       |\n|       |\n_________\n"},
    ("_________\n|      0|\n|       |\n|       |\n|       |\n|0      |\n_________\n"),
    {"_________\n|      0|\n|       |\n|   0   |\n|       |\n|0      |\n_________\n"},
    {"_________\n|0     0|\n|       |\n|       |\n|       |\n|0     0|\n_________\n"},
    {"_________\n|0     0|\n|       |\n|   0   |\n|       |\n|0     0|\n_________\n"},
    {"_________\n|0     0|\n|       |\n|0     0|\n|       |\n|0     0|\n_________\n"}
};

void main()
{
    int i,//Переменная выбора действия
            o1=0,//Переменная общего кол-ва очков игрока
            o2=0,//Переменная общего кол-ва очков компьютера
            a,//Переменная кол-ва очков игрока
            b;//Переменная кол-ва очков компьютера
    srand(time(0));//Задание начала отсчета для генерирования рандомного числа
    setlocale(LC_ALL, "Russian");//Подключение Русского языка
    printf("                                   ИГРА КОСТИ\n");
    printf("Правила игры:\n");

    do//Оператор цикла do while
    {

        printf("Нажмите 1 для броска, нажмите 2 для просмотра общего счета, нажмите 3 для выхода");
        scanf("%d",&i);
        switch (i)//Функция выбора из множества вариантов
        {
        case 1://Если введена 1
            system("cls");//Очистка консоли
            a = rand() % 6+1;//Генерирование рандомного числа в диапазоне от 1 до 6 включительно
            b = rand() % 6+1;//Генерирование рандомного числа в диапазоне от 1 до 6 включительно

            printf("У вас :%d\n",a);//Вывод на экран полученного числа
            printf("%s",results[a-1]);
            o1+=a;//Подсчет общего кол-ва очков игрока

            printf("У противника :%d\n",b);//Вывод на экран полученного числа
            printf("%s",results[b-1]);
            o2+=b;//Подсчет общего кол-ва очков компьютера
            break;
        case 2://Если введена 2
            system("cls");
            if(o1>o2)
                printf("Вы выигрываете со счетом %d:%d\n",o1,o2); /*Выявление того у кого очков больше */
            if(o2>o1)
                printf("Вы проигрываете со счетом %d:%d\n",o2,o1); /*и вывод на экран*/
            if(o1==o2)
                printf("Счет равный %d:%d\n",o1,o2); /*сообщения об этом с указанием кол-ва очков*/
            break;

        }
    }
    while(i!=3);//Если введена 3 выход из цикла

    getchar();

}
Примерно так нужно было?
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
Krasiosoft вне форума Ответить с цитированием
Старый 29.06.2015, 22:26   #3
Middler
Новичок
Джуниор
 
Регистрация: 28.06.2015
Сообщений: 2
По умолчанию

Да спасибо, но часом раньше я сам разобрался)
Middler вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра в кости Roma11 JavaScript, Ajax 0 02.06.2013 15:37
Игра кости Кристинка89 Общие вопросы C/C++ 1 30.10.2012 01:34
Игра в 12 (бросание кости) на VBA Excel Graham91 Помощь студентам 0 17.04.2012 14:08
Игра кости Азар Xameleon666 Помощь студентам 3 19.03.2012 22:39
Игра "Кости" на языке программирования Delphi Наталья111 Помощь студентам 20 01.11.2009 16:40