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

Как выйти из оператора if - C++

Восстановить пароль Регистрация
 
 
David_Ok
 Аватар для David_Ok
5 / 5 / 1
Регистрация: 12.01.2015
Сообщений: 87
21.07.2015, 17:32     Как выйти из оператора if #1
Пишу ИИ для крестиков-ноликов и вопрос в том, если исполниться одино условие как сделать так что бы другие не проверялись? break чето в if'ие не пашет, есть какие-то другие варианты?

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
 //первый щаг, заканчивание игры с одного хода
    for(int i=0; i<3; i++)
    {
        if (cells[i*3]==cells[i*3+1] && cells[i*3+1]=='O' && cells[i*3+2]=='-')
            {cells[i*3+2]='O'; break;}
        if (cells[i*3+1]==cells[i*3+2] && cells[i*3+2]=='O' && cells[i*3]=='-')
            {cells[i*3]='O'; break;}
        if (cells[i*3]==cells[i*3+2] && cells[i*3+2]=='O' && cells[i*3+1]=='-')
            {cells[i*3+1]='O'; break;}
        if (cells[i+3]==cells[i+6] && cells[i+6]=='O' && cells[i]=='-')
            {cells[i]='O'; break;}
        if (cells[i]==cells[i+3] && cells[i+3]=='O' && cells[i+6]=='-')
            {cells[i+6]='O'; break;}
        if (cells[i]==cells[i+6] && cells[i+6]=='O' && cells[i+3]=='-')
            {cells[i+3]=='O'; break;}
        if (cells[4]==cells[8] && cells[8]=='O' && cells[0]=='-')
            {cells[0]='O'; break;}
        if (cells[0]==cells[4] && cells[4]=='O' && cells[8]=='-')
            {cells[8]='O'; break;}
        if (cells[0]==cells[8] && cells[8]=='O' && cells[4]=='-')
            {cells[4]='O'; break;}
        if (cells[6]==cells[4] && cells[4]=='O' && cells[2]=='-')
            {cells[2]='O'; break;}
        if (cells[4]==cells[2] && cells[2]=='O' &&  cells[6]=='-')
            {cells[6]='O'; break;}
        if (cells[2]==cells[6] && cells[6]=='O' && cells[4]=='-')
            {cells[4]='O'; break;}
//конец первого шага
   }
//зашита, противнику один ход до конца
    for(int i=0; i<3; i++)
    {
        if (cells[i*3]==cells[i*3+1] && cells[i*3+1]=='X' && cells[i*3+2]=='-')
            {cells[i*3+2]='O';break;}
        if (cells[i*3+1]==cells[i*3+2] && cells[i*3+2]=='X' && cells[i*3]=='-')
            {cells[i*3]='O';break;}
        if (cells[i*3]==cells[i*3+2] && cells[i*3+2]=='X' && cells[i*3+1]=='-')
            {cells[i*3+1]='O';break;}
        if (cells[i+3]==cells[i+6] && cells[i+6]=='X' && cells[i]=='-')
            {cells[i]='O';break;}
        if (cells[i]==cells[i+3] && cells[i+3]=='X' && cells[i+6]=='-')
            {cells[i+6]='O';break;}
        if (cells[i]==cells[i+6] && cells[i+6]=='X' && cells[i+3]=='-')
            {cells[i+3]=='O';break;}
    }
        if (cells[4]==cells[8] && cells[8]=='X' && cells[0]=='-')
            cells[0]='O';
        if (cells[0]==cells[4] && cells[4]=='X' && cells[8]=='-')
            cells[8]='O';
        if (cells[0]==cells[8] && cells[8]=='X' && cells[4]=='-')
            cells[4]='O';
        if (cells[6]==cells[4] && cells[4]=='X' && cells[2]=='-')
            cells[2]='O';
        if (cells[4]==cells[2] && cells[2]=='X' &&  cells[6]=='-')
            cells[6]='O';
        if (cells[2]==cells[6] && cells[6]=='X' && cells[4]=='-')
            cells[4]='O';
//конец второго щага
 
//третий щаг, выставление рандомно
    if (cells[4]=='-')
        cells[4]='O';
    if (cells[0]=='-')
        cells[0]='O';
    if (cells[1]=='-')
        cells[1]='O';
    if (cells[2]=='-')
        cells[2]='O';
    if (cells[5]=='-')
        cells[5]='O';
    if (cells[8]=='-')
        cells[8]='O';
    if (cells[7]=='-')
        cells[7]='O';
    if (cells[6]=='-')
        cells[6]='O';
    if (cells[3]=='-')
        cells[3]='O';
//конец третьего шага
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2015, 17:32     Как выйти из оператора if
Посмотрите здесь:

C++ do while - как выйти из цикла?
Не пойму как из цикла выйти C++
C++ Как выйти из программы
C++ как выйти из циклов
C++ как выйти из программы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,570
Записей в блоге: 17
22.07.2015, 14:08     Как выйти из оператора if #21

Не по теме:

Цитата Сообщение от rikimaru2013 Посмотреть сообщение
В том варианте 2 return, что уже неправильно.
У меня тоже есть аргумент- ваша утверждение лабуда...


Несколько return-ов скорее упрощают код нежели усложняют его, а код все равно читается последовательно и весь.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rikimaru2013
22.07.2015, 14:37
  #22

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
Несколько return-ов скорее упрощают код нежели усложняют его, а код все равно читается последовательно и весь.
Я видел ваше высказывание поповоду
C++
1
void setValue(const int value);
Врядли мы одинаково мыслим - начиная уже с этого пункта)))

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.07.2015, 14:53     Как выйти из оператора if
Еще ссылки по теме:

C++ Одномерный массив, как выйти?
C++ Как выйти из функции
Как выйти из условия if? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Avazart
22.07.2015, 14:53     Как выйти из оператора if
  #23

Не по теме:

А ну тогда да...

Yandex
Объявления
22.07.2015, 14:53     Как выйти из оператора if
Ответ Создать тему
Опции темы

Текущее время: 01:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru