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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Игра в кости с применением класса - C++, никак не могу понять 
:(
    Опции темы
Oxidous
Дата 8.12.2015, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем доброго времени суток,

Нужно написать игру в "кости". Играть должен юзер против в компьютера. Выигрывает тот, у кого больше очков.
Вот код самой программы. Да,он совсем простенький,но для моей задачи подходит.


Код

#include <time.h>
#include <iostream>
#include <conio.h>
#include<windows.h>
using namespace std;
void show(int x)
{
    switch(x)
    {
    case 1:
cout <<"===========" <<endl;
cout <<"|         |" <<endl;
cout <<"|    0    |" <<endl;
cout <<"|         |" <<endl;
cout <<"===========" <<endl;
break;
 
case 2:
cout <<"===========" <<endl;
cout <<"|    0    |" <<endl;
cout <<"|         |" <<endl;
cout <<"|    0    |" <<endl;
cout <<"===========" <<endl;
break;
 
case 3:
cout <<"===========" <<endl;
cout <<"|  0      |" <<endl;
cout <<"|    0    |" <<endl;
cout <<"|      0  |" <<endl;
cout <<"===========" <<endl;
break;
 
case 4:
cout <<"===========" <<endl;
cout <<"|  0   0  |" <<endl;
cout <<"|         |" <<endl;
cout <<"|  0   0  |" <<endl;
cout <<"===========" <<endl;
break;
 
case 5:
cout <<"===========" <<endl;
cout <<"|  0   0  |" <<endl;
cout <<"|    0    |" <<endl;
cout <<"|  0   0  |" <<endl;
cout <<"===========" <<endl;
break;
 
case 6:
cout <<"===========" <<endl;
cout <<"|  0   0  |" <<endl;
cout <<"|  0   0  |" <<endl;
cout <<"|  0   0  |" <<endl;
cout <<"===========" <<endl;
break;
    }
}
 
void main()
{
 
    cout<< "Dobro pozalovat v igru 'Kosti'. "<<endl;
    cout<< "Pravila prostie: Viigrivaet tot, u kogo bolshe ockov. Udaci Vam!"<<endl;
    cout<<endl;
    srand(time(0));
 int i,igr1=0,igr2=0,a,b;
 do
 {
     cout <<"Nazmite [1] dlia broska, [2] - dlia prosmotra sceta, [3] - dlia vigoda iz igri. ";
        cin>>i;
     switch (i)
     {
         case 1:
 system("cls");
 a = rand() % 6+1;
  b = rand() % 6+1;
  cout<<"U Vas: "<<endl;
 show(a);
 igr1+=a;
  cout<<"U kompiutera: "<<endl;
 show(b);
 igr2+=b;
 break;
         case 2:
             if(igr1>igr2)
              cout<<"Vi viigrivaete so scetom: "<<igr1<<":"<<igr2<<endl;
              cout<<endl;
             if(igr2>igr1)
                 cout<<"Vi proigrivaete so scetom: "<<igr2<<":"<<igr1<<endl;
                 cout<<endl;
             if(igr1==igr2)
                 cout<<"Scet ravnii "<<igr1<<":"<<igr2<<endl;
                 cout<<endl;
    break;
   }
  }
  while(i!=3);
  _getch();
}


Очень хочу попросить помощи у знающих людей. Игра должна быть реализована через класс и объект класса.
Как можно переделать данную игру? Никак немогу понять, как пользоваться классами и потому не получается реальзовать игру через классы, а в самостоятельном задании написано,что игра должна быть реализована именно через класс. 
PM MAIL   Вверх
math64
Дата 8.12.2015, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

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



Нужен примерно такой класс:
Код

class Dice {
public:
   Dice(const char* name); // name копируется в m_name
   void Throw(); // Бросок кости: изменяется m_points и заполняется m_picture, увеличивается m_count
   int getCount() const { return m_count; }
   int getPoints() const { return m_points; }
   void Show() const; // Показать кость
   // Показать две кости слева и справа, с именами и счетом - мне кажется так будет удобнее
   static void Show2(const Dice& dice1, const Dice& dice2);
   static void ShowRules();
   static bool Question(const char* q);

private:
  char m_name[12]; // Имя игрока
  char m_picture[5][12]; // Картинка броска
  int m_points; // Результат броска
  int m_count; // Счет
};

int main()
{
   Dice user("Вы"), computer("Компьютер");
   Dice::ShowRules();
   for(;;) {
      user.Throw(); computer.Throw();
      Dice::Show2(user, computer);
      if (!Dice::Question("Ещё раз?"))
        break;
   }
}

Методы реализуй сам.

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

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

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

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

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


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

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


 




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


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

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