Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 19.11.2016, 17:30   #1
shaman7991
Новичок
 
Регистрация: 19.11.2016
Сообщений: 2
Репутация: 10
По умолчанию Игра 100 спичек

Игра "100 спичек". Из кучки, первоначально содержащей 100 спичек, двое играющих поочередно берут по несколько спичек: не менее одной и не более десяти. Выигрывает взявший последнюю спичку.
Нашёл пример программы на C++ объясните пожалуйста как она работает, если не сложно добавьте подробные комментарии к коду.
Код:

#include <iostream>
#include <Windows.h>
#include <ctime>
#include <cstdlib>
const int InitialCount=100;
int Count,Num,Player;
bool Correct;
int main (){
  srand(time(0));
  system ("cls");
  Player=1;
  Count=InitialCount;
  do{
  
    if (Player==1){
    do{
        std::cout<<"Ваш ход. На столе "<<Count<<" спичек.\n";
        std::cout<<"Сколько спичек Вы берете?\n";
        std::cin>>Num;
        if(Num>=1&&Num<=10&&Num<=Count)
            Correct=true;
        else
        {
            std::cout<<"Неверно! Повторите ввод!\n";
            Correct=false;
        } 
    }
    while (!Correct);
   }
    else
    {
    do{
      Num=rand()%10+1;
      if (Num>Count)
        Num=Count;
      std::cout<<"Мой ход. Я взял "<<Num<<" спичек\n";}
        while (!Correct);   
    }
    Count-=Num;
    if (Player==1) 
        Player=2;
    else 
        Player=1;
    }
  while (Count>0);
  if (Player=1)
    std::cout<<"Вы победили!";
  else std::cout<<"Вы проиграли!";
return 0;
}

shaman7991 вне форума   Ответить с цитированием
Старый 19.11.2016, 20:55   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 23,766
Репутация: 5213
По умолчанию

shaman7991, а что тут объяснять? в переменную Count заносится начальное значение, игрок берёт число спичек от 1 до 10 (но не больше, чем есть спичек в переменной Count)
потом компьютёр делает свой ход - без всякой игровой стратегии, случайным образом: берёт случайное число спичек (причём, если случайное число выпало больше, чем есть спичек, то компьютер забирает все).
Игра продолжается, пока есть спички. На чьём ходу спички закончились, тот и победил.

Есть ещё вопросы?
Serge_Bliznykov вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти среднее арифметическое в массиве из 30 случайных чисел в диапазоне [-100; 100] kurdasov Помощь студентам 2 18.11.2016 23:40
Игра "100 спичек" NickLid C# (си шарп) 5 18.10.2011 22:14
игра 100 спичек Чуччи Паскаль 4 13.01.2011 12:03
игра 100 спичек Igorek0886 Паскаль 4 14.04.2009 19:18


10:30.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru