Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Игра 21 очко на Си 
:(
    Опции темы
lamstyle
Дата 1.4.2016, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 1.4.2016

Репутация: нет
Всего: нет



Здравствуйте. Вот есть игрушка в 21 очко на Си. Всё хорошо работает, но стоит задача немного это доработать:
1) Нужно доработать проверку вводимых символов (ans != 'n'), чтобы 
программа адекватно отрабатывала, если вводимый символ ни n и ни y.
2) В этой программе компьютер останавливает набор карт по условию while 
(komp<17). Изменить условие так, чтобы останов набора карт происходил с 
различными (случайными) уставками из разумно применимых пределов:
komp<(уставка)

Помогите пожалуйста! Код на Си.

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
 
int koloda[13] = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 2, 3, 4, 11 };
 
int karta() { return  rand() % 13; }
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int igrok, komp, kart;
    char  ans, buf;
 
    time_t t;
    srand((unsigned)time(&t));
 
    do
    {
        printf("\n****************** Игра начинается... ***************\n\n");
        komp = 0; igrok = 0;
        do
        {
            kart = karta();
            printf("Ваша карта: %d ", koloda[kart]);
            igrok += koloda[kart];
            printf("\tСумма = %d\n", igrok);
            if (igrok>21)
            {
                printf("У Вас перебор, Вы проиграли!\n ");
                break;
            }
 
            printf("взять еще? ('y' - да, 'n' - нет) : ");
            ans = getchar();
            buf = getchar();
        } while (ans != 'n');
 
        if (igrok <= 21)
        {
            printf("\nКарты компьютера:");
            do
            {
                kart = karta();
                printf(" %d", koloda[kart]);
                komp += koloda[kart];
            } while (komp<17);
            printf("\t Сумма = %d", komp);
            if (igrok>komp) printf(" \n\nПоздравляем, Вы выиграли! \n");
            if (igrok == komp) printf(" \n\nНичья! \n");
            if (igrok<komp && komp <= 21)  printf(" \n\nВы проиграли! \n");
            if (igrok<komp && komp>21) printf("\n\nУ компьютера перебор, Вы выиграли! \n");
        }
        printf(" \nиграть еще? ('y' - да, 'n' - нет) : ");
        ans = getchar();
        buf = getchar();
    } while (ans != 'n');
 
    printf(" \n Спасибо за игру!!! Для выхода нажмите Enter! \n ");
    _getch();
}

Это сообщение отредактировал(а) lamstyle - 1.4.2016, 01:26
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1089 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.