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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
Николас
Сообщений: n/a
#1

Крестики нолики 5 в ряд - C++

07.06.2011, 14:35. Просмотров 1591. Ответов 2
Метки нет (Все метки)

Люди добрые, помогите новичку в написании программы на C++. надо написать крестики-нолики 5 в ряд, без заморочек на интерфейс, (т.е. координаты где ставится крестик - вводятся с клавиатуры, без всяких функций меню и настроек, тупо окно программы в своем стандартном виде). Мог бы, написал сам, но так как дуб дубом в этом деле то увы..... кстати, размеры поля вводит игрок сам в начале игры
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2011, 14:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Крестики нолики 5 в ряд (C++):

Крестики нолики - C++
Привет всем! Пишу крестики нолики в консоли и проблема вот в чем: нарисовал само поле, и нужно при вводе координат определенного участка...

Крестики Нолики - C++
вот задали написать игру , скажите нормально впринципе написал или нет , и один вопрос немогу почемут зделать чтоб проверяло кто выиграл ) ...

Крестики/нолики - C++
Я не понимаю почему не работает, и в этом моя проблема. Буду благодарен любой помощи, а так же любой конструктивной критике по коду. Если...

Крестики нолики - C++
Нужно написать программу крестики нолики.

Крестики-нолики - C++
Всем привет и заранее спасибо, кто откликнется. Проблема следующая: игра работает почти корректно, за исключением одной детали: при вызове...

Крестики-нолики 10 на 10 - C++
Нужно написать игру крестики-нолики. Застрял на алгоритме проверки победителя, точнее я написал, она работает, но алгоритм проверки в плане...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ValeryLaptev
Эксперт С++
1041 / 820 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
07.06.2011, 14:37 #2
Тут самое интересное придумать эвристическую функцию оценивания силы хода...
0
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
07.06.2011, 14:47 #3
Ну енто тебе никто с нуля писать не будет, уж больно долго. Вот покапайся пока в этом, не совсем то но хоть что-то, есть свои минусы,прога немного не доработана:
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include<conio.h>
 
int POLE[3][3] = {{0,0,0},
                  {0,0,0},
                  {0,0,0}};
int win()
{
    if(POLE[0][0] == POLE[0][1] && POLE[0][1] == POLE[0][2])
        return POLE[0][0];
    if(POLE[1][0] == POLE[1][1] && POLE[1][1] == POLE[1][2])
        return POLE[1][0];       
    if(POLE[2][0] == POLE[2][1] && POLE[2][1] == POLE[2][2])
        return POLE[2][0];
    
    if(POLE[0][0] == POLE[1][0] && POLE[1][0] == POLE[2][0])
        return POLE[0][0];
    if(POLE[0][1] == POLE[1][1] && POLE[1][1] == POLE[2][1])
        return POLE[0][1];
    if(POLE[0][2] == POLE[1][2] && POLE[1][2] == POLE[2][2])
        return POLE[0][2];
        
    if(POLE[0][0] == POLE[1][1] && POLE[1][1] == POLE[2][2])
        return POLE[0][0];
    if(POLE[0][2] == POLE[1][1] && POLE[1][1] == POLE[2][0])
        return POLE[0][2];
}
                   
void print()
{
    int i, j;
    for(i=0; i<3; i++)
    {
        for(j=0; j<3; j++)
        {
            switch (POLE[i][j])
            {
                case -1:
                    printf("%c ", 'x');
                    break;
                case 1:
                    printf("%c ", '0');
                    break;
                case 0:
                    printf("%c ", '*');
                    break;
                default:
                    printf("Error: There is undefined symbol in the array!\n");
                    break;
            }
        }
        printf("\n");
    }
}
int main()
{   
    int x, y, w;
    // Компьютер крестиками, игрок ноликами;
    int  comp = -1, player = 1;
    clrscr();
    srand(time(0));
    
    printf("Welcome!!!\n\n");
    do
    {
        printf("Vash hod (x, y):\n\n"); 
        
        scanf("%d %d", &x, &y);
        if(x>3 || y>3 || x<1 || y < 1)
        {
            printf("Error: Vi vveli ne dopustimie koordinati\n");
            continue;
        }
        
        if(POLE[y-1][x-1] != player && POLE[y-1][x-1] != comp)
        {
            POLE[y-1][x-1] = player;
            print();
        }
        else
        {
            printf("Suda hodit uzhe nelzya!\n");
            continue;
        }
        
        w = win();
        if(w==-1)
        {
            printf("Computer win!\n");
            return 0;
        }
        
        if(w==1)
        {
            printf("You win\n");
            return 0;
        }
        
        // теперь ход компьютера;
        printf("Hod computera...\n");
        do
        {
            do
            {
                y = rand() % 10;
            }while(y<1 || y > 3);
            do
            {
                x = rand() % 10;
            }while(x<1 || x > 3);
            
            
        }while(POLE[y-1][x-1] == player || POLE[y-1][x-1] == comp);
        
        POLE[y-1][x-1] = comp;
        
        print();
        
        w = win();
        if(w==-1)
        {
            printf("Computer win!\n");
            return 0;
        }
        
        if(w==1)
        {
            printf("You win!\n");
        getch();
        }           
    }while(1);
    getch();
}
Добавлено через 43 секунды
Писал не я, да и не помню где нашел.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2011, 14:47
Привет! Вот еще темы с ответами:

Крестики-нолики - C++
Доброго времени суток! Вот, решил для курсовой работы написать игру Крестики-нолики. Но мне требуется маленькая помощь. Подскажите, как...

Крестики-нолики - C++
Помогите пожалуйста создать игру крестики-нолики на 2 игроков, поле игры - массив 3х3. Нашла несколько вариантов кода, но как-то все...

Крестики нолики 10 на 10 - C++
Нашел код крестики нолики 4 на 4 но не компилируется, там ошибки почему то в &lt;&lt; хочу сделать из него 10 на 10 Может кто нибудь...

“Крестики-нолики” - C++
Напишите игру “Крестики-нолики”. Программа выводит игровое поле для двух игроков, проверяет правильность ходов, следит за ситуацией на...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru