Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

игра через класс на С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Генерация случайных чисел с использованием srand и библиотеки time может выдавать одинаковые числа, если... http://www.cyberforum.ru/cpp-beginners/thread399041.html
... если интервал случайных чисел, из которых идет отбор больше требуемого кол-ва случайных чисел? Например: есть интервал (0-2000), из него требуется случайно получить 1000 значений. Будет ли...
C++ найти сумму если ,где x1=-100,3;xi=x(i-1)+deltax;deltax=3,1 и там эти (i-1,(i+1) и т.п. они должны быть в правом нижнем углу икса,просто у меня не вишло ...) http://www.cyberforum.ru/cpp-beginners/thread399040.html
C++ последовательность
вычислить является ли последовательность возрастающей или убывающей. Если можно прокомментируйте решение(что откуда взялось, обозначения слов). плохо знаю еще
сумма и произведение C++
и
C++ Описание классов. http://www.cyberforum.ru/cpp-beginners/thread399030.html
Доброй ночи! Помогите с задачкой. Условие: Описать на языке С++ указанный класс. Обеспечить ввод полей класса, создать метод для вычисления полей. Вывести на форму вычисленные поля. Класс студент....
C++ Функция работы с матрицами (подсобите чуток) Кому не сложно, объясните пошагово, как написать функцию, которой на вход подается кол-во строк и столбцов, а она инициализирует соответствующую матрицу, со стандартного потока ввода заполняет ее,... подробнее

Показать сообщение отдельно
sergey 04
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 5
05.12.2011, 10:35  [ТС]
так я и так на первом курсе вот код:

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
105
106
107
108
109
110
111
112
113
114
#include "Field.h"
#include <iostream>
#include <locale.h>
 
using namespace std;
 
// Тестируем игровое поле
// Каждая строчка массива обозначает ходы партии
// 0 в начале строчки - последний элемент
// Ходы от 1 до 7
// Строчка заканчивается отрицательным числом,
// обозначающим итог
// -1 партия не закончена
// -2 победа красного
// -3 победа желтого
// -4 ничья
int turns[] = 
{
   4, 4, 4, -1,
   4, 3, 5, 2, 6, 1, 7, -2,
   4, 3, 4, 3, 4, 3, 5, 3, -3,
   1, 2, 2, 3, 4, 3, 3, 4, 5, 4, 4, -2,
   1, 2, 1, 2, 1, 2, 3, 4, 3, 4, 3, 4, 5, 6, 5, 6, 5, 6,
   2, 1, 2, 1, 2, 1, 4, 3, 4, 3, 4, 3, 6, 5, 6, 5, 6, 5, 
   7, 7, 7, 7, 7, 7, -4,
   0
};
 
bool test(void)
{
   int i=0;
   // Цикл по партиям
   int game=1;
   int turn=1;
   Field field(true);
   while (turns[i] != 0)
   {
      while (turns[i] > 0)
      {
         if (!field.makeTurn(turns[i]))
         {
            cout<<"Провал теста: ход невозможен"<<endl;
            cout<<"Партия "<<game<<" ход "<<turn<<endl;
            return false;
         }
         i++;
         turn++;
      }
      cout<<"Тестовая партия "<<game<<" сыграна"<<endl;
      field.printResult();
      switch (turns[i])
      {
      case -1:
         if (field.isOver())
         {
            cout<<"Провал теста: ожидали незаконченную партию"<<endl;
            field.print();
            return false;
         }
         break;
      case -2:
         if (!field.isWon(true))
         {
            cout<<"Провал теста: ожидали победу красного"<<endl;
            field.print();
            return false;
         }
         break;
      case -3:
         if (!field.isWon(false))
         {
            cout<<"Провал теста: ожидали победу желтого"<<endl;
            field.print();
            return false;
         }
         break;
      case -4:
         if (field.isWon(true) || field.isWon(false) || !field.isOver())
         {
            cout<<"Провал теста: ожидали ничью"<<endl;
            field.print();
            return false;
         }
         break;
      }
      i++;
      game++;
      turn = 1;
      field.clear(true);
   }
   cout<<"Всего сыграно "<<game-1<<" тестовых партий"<<endl;
   return true;
}
 
 
int main(void)
{
   setlocale(LC_ALL, "Russian");
   if (!test())
      return -1;
   Field field(true);
   while (!field.isOver())
   {
      field.print();
      cout<<"Ходит "<<
         (field.isRedTurnNow() ? "красный" : "желтый")<<
         " игрок, введите ход (1-7)"<<endl;
      int column;
      cin>>column;
      field.makeTurn(column);
   }
   field.printResult();
   return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода!
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru