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

игра в крестики-нолики - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Метод архивации Шеннона-Фано http://www.cyberforum.ru/cpp-beginners/thread407845.html
Не подскажите,может есть у кого исходник кода архивации(сжатия и восстановления) методом Шеннона-Фано на С++?
C++ Ключевые слова private, public, protected Смысл ключевых слов private, public, protected в списке базовых классов при декларации производного класса? http://www.cyberforum.ru/cpp-beginners/thread407833.html
C++ задача с матрицами
помогите!!!как решить??! Умножить матрицу MxN на столбец М и расположить полученный результат в порядке возрастания. Распечатать исходные матрицы в столбец и результаты неотсортированные и отсортированные
C++ Оператор приведения типов
Приведите примеры различных синтаксических форм операторов приведения типов.
C++ Решение обыкновенного дифференциального уравнения http://www.cyberforum.ru/cpp-beginners/thread407823.html
Ребят пожалуйста помогите написать программу На C++ на эту тему.. скоро курсовая , а я только в маткаде и екселе написал*( буду очень благодарен , решить можно любым способом
C++ Try Throw Catch пример Как-то не особо много инфы нарыл по данной теме... Может у кого есть какие уже реализованные примеры? подробнее

Показать сообщение отдельно
extremx
0 / 0 / 0
Регистрация: 14.12.2011
Сообщений: 11
15.12.2011, 01:12     игра в крестики-нолики
Есть одна задачка - игра в крестики-нолики.надо сделать чтобы есть возможность выбора играть против компьютера или против человека,ну второго игрока.и в конце можно выбрать играть еще-раз.
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
115
116
117
118
119
#include <stdio.h>
#include <stdlib.h>
 
char matrix[3][3];  /* матрица игры */
 
char check(void);
void init_matrix(void);
void get_player_move(void);
void get_computer_move(void);
void disp_matrix(void);
 
int main(void)
{
  char done;
 
  printf("Это игра в крестики-нолики.\n");
  printf("Вы будете играть против компьютера.\n");
 
  done =  ' ';
  init_matrix();
 
  do {
    disp_matrix();
    get_player_move();
    done = check(); /* проверка, есть ли победитель */
    if(done!= ' ') break; /* есть победитель */
    get_computer_move();
    done = check(); /* проверка, есть ли победитель */
  } while(done== ' ');
 
  if(done=='X') printf("Вы победили!\n");
  else printf("Победил компьютер!!!!\n");
  disp_matrix(); /* показ финальной позиции */
 
  return 0;
}
 
/* Инициализация матрицы игры. */
void init_matrix(void)
{
  int i, j;
 
  for(i=0; i<3; i++)
    for(j=0; j<3; j++) matrix[i][j] =  ' ';
}
 
/* Ход игрока. */
void get_player_move(void)
{
  int x, y;
 
  printf("Введите координаты X,Y Вашего хода: ");
  scanf("%d%*c%d", &x, &y);
 
  x--; y--;
 
  if(matrix[x][y]!= ' '){
    printf("Неверный ход, попытайтесь еще.\n");
    get_player_move();
  }
  else matrix[x][y] = 'X';
}
 
/* Ход компьютера. */
void get_computer_move(void)
{
  int i, j;
  for(i=0; i<3; i++){
    for(j=0; j<3; j++)
      if(matrix[i][j]==' ') break;
    if(matrix[i][j]==' ') break;
  /* Второй break нужен для выхода из цикла по i */
  }
 
  if(i*j==9)  {
    printf("Конец игры\n");
    exit(0);
  }
  else
    matrix[i][j] = 'O';
}
 
/* Вывод матрицы на экран. */
void disp_matrix(void)
{
  int t;
 
  for(t=0; t<3; t++) {
    printf(" %c | %c | %c ",matrix[t][0],
            matrix[t][1], matrix [t][2]);
    if(t!=2) printf("\n---|---|---\n");
  }
  printf("\n");
}
 
/* Определение победителя. */
char check(void)
{
  int i;
 
  for(i=0; i<3; i++)  /* проверка строк */
    if(matrix[i][0]==matrix[i][1] &&
       matrix[i][0]==matrix[i][2]) return matrix[i][0];
 
  for(i=0; i<3; i++)  /* проверка столбцов */
    if(matrix[0][i]==matrix[1][i] &&
       matrix[0][i]==matrix[2][i]) return matrix[0][i];
 
  /* проверка диагоналей */
  if(matrix[0][0]==matrix[1][1] &&
     matrix[1][1]==matrix[2][2])
       return matrix[0][0];
 
  if(matrix[0][2]==matrix[1][1] &&
     matrix[1][1]==matrix[2][0])
       return matrix[0][2];
 
  return ' ';
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru