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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Вставить список вместо i -го элемента списка http://www.cyberforum.ru/cpp-beginners/thread730499.html
Есть 2 двусвязных списка. Нужно вставить второй список вместо i-ного элемента первого. Помогите сделать.
C++ Ошибка в алгоритме перегрузки оператора присваивания Добрый вечер. Пишу методы для класса по своему заданию. Столкнулся с проблемой перегрузки оператора присваивания для метода поиска. Привожу только часть кода с методом поиска Find и перегрузкой. Хочу разобраться непосредственно с алгоритмом. Может косяк в реализации? Буду благодарен за помощь struct DataType { string term; string text; }; typedef struct DataType; http://www.cyberforum.ru/cpp-beginners/thread730495.html
Массивы (Вычислить среднее значение элементов главной диагонали, напечатать его) C++
Здравствуйте! Посмотрите, пож-та, мой код. Вот задача: (как система) ai,j=sqrt(15.34+pow(fabs(i-j),2)), если i!=j 13.4*i+j, в остальных случаях Вычислить среднее значение элементов главной диагонали, напечатать его. Напечатать элементы 2-ой и 3-ей строки с номерами столбцов, если значения этих элементов больше среднего значения в диагонали. #include...
блок схема (Вычислить сумму положительных элементов матрицы, находящихся под главной диагональю и на ней) C++
помогите, пожалуйста, к готовому коду начертить блок-схему. я рисовал здесь: https://www.lucidchart.com/documents/edit/4052-ef70-50c9db46-9f9a-0eda0a40476b#?demo=on&noShowMngr. Заранее спасибо. Задание: Вычислить сумму положительных элементов матрицы, находящихся под главной диагональю и на ней. Х. Условия и ограничения: Xij –целые числа. #include <stdio.h> #include <stdlib.h> int main ()...
C++ Работа с комплексными числами http://www.cyberforum.ru/cpp-beginners/thread730465.html
Парни и девчушки (если тут такие есть :)), у меня задание - создать класс, который может производить арифметические операции с комплексными числами. Я перегрузил операторы сложения, вычитания, умножения (объект-объект) и умножения (объект-число). Так вот, все вроде работает, но блин, у меня какие-то результаты "пугающие".. я если честно, в математике не силен, но по-моему моя прога считает их...
C++ два динамических массива. один не заполняется моя цель: создать две динамических матрицы (они называются massiv и degree) как я это делаю: cout <<"Vvedite kolichestvo vershin: "; cin >> n; int **massiv = new int*; for(k= 0; k < n; k++) massiv = new int; int **degree = new int*; for(a= 0; a < n; a++); degree = new int; подробнее

Показать сообщение отдельно
Ане4кA
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 66
13.12.2012, 17:52     игра крестики-нолики
Доброго времени суток!
собственно говоря не знаю как сделать нормально изображения Х и O
программа вот
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#include <allegro.h>
 
BITMAP *xSprite;
BITMAP *oSprite;
 
int board[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 0}; 
int curSquare = 0; 
                   
                                             
int turn = 1; 
              
              
int x = 0; 
int y = 0;
 
int tempX = 0; 
int tempY = 0;
 
void setupBoard(){ 
 
    acquire_screen();
    
    line( screen, 200, 0, 200, 480, makecol( 255, 255, 255));
    line( screen, 400, 0, 400, 480, makecol( 255, 255, 255));
    line( screen, 0, 150, 680, 150, makecol( 255, 255, 255));
    line( screen, 0, 300, 680, 300, makecol( 255, 255, 255));
    
    rect( screen, x+1, y+1, x + 199, y + 149, makecol( 255, 255, 0));
        
    release_screen();
    
}    
 
void updateBoard(){ 
 
    rect( screen, tempX+1, tempY+1, tempX + 199, tempY + 149, makecol( 0, 0, 0));  
    rect( screen, x+1, y+1, x + 199, y + 149, makecol( 255, 255, 0));  
    rest(100);
}  
 
void announceWinner(){ 
 
        
         if( turn == 1){
                   textout_ex( screen, font, "X Wins!!!!",  300, 240, makecol( 255, 0, 0), makecol(0, 0, 0));  
         } else {
                  textout_ex( screen, font, "O Wins!!!!",  300, 240, makecol( 255, 0, 0), makecol(0, 0, 0));  
         }  
 
 
}
 
void checkWin(){ 
    
    if( board[0] == turn && board[1] == turn &&  board[2] == turn){
        announceWinner();
    } else if( board[0] == turn &&  board[3] == turn  && board[6] == turn){
        announceWinner();
    } else if( board[0] == turn &&  board[4] == turn  && board[8] == turn){
        announceWinner();
    } else if( board[1] == turn &&  board[4] == turn  && board[7] == turn){
        announceWinner();
    } else if( board[2] == turn &&  board[4] == turn  && board[6] == turn){
        announceWinner();
    } else if( board[2] == turn &&  board[5] == turn  && board[8] == turn){
        announceWinner();
    } else if( board[3] == turn &&  board[4] == turn  && board[5] == turn){
        announceWinner();
    } else if( board[6] == turn &&  board[7] == turn  && board[8] == turn){
        announceWinner();
    }
    
}    
 
    
 
void drawXO(){ 
   
   acquire_screen();
   
   if(turn == 1){
    draw_sprite( screen, xSprite, x, y);
    board[curSquare] = 1;
    checkWin();
    ++turn;   
  } else if( turn == 2){
    draw_sprite( screen, oSprite, x, y);
    board[curSquare] = 2;
    checkWin();
    --turn;
  }
  
  release_screen();
  
  rest(100);
  
  }      
 
void moveBox(){ 
    
    clear_keybuf();
    tempX = x;
    tempY = y;
    
    if( key[KEY_UP] && y != 0){
    
        y -= 150;
        curSquare -=3;
        updateBoard();
            
    } else if( key[KEY_DOWN] && y != 300){
    
        y += 150;
        curSquare +=3;
        updateBoard();
            
    }  else if( key[KEY_RIGHT] && x != 400){
    
        x += 200;
        ++curSquare;
        updateBoard();
            
    } else if( key[KEY_LEFT] && x != 0){
    
        x -= 200;
        --curSquare;
        updateBoard();
            
    } else if( key[KEY_ENTER] && board[curSquare] == 0){
    
        drawXO();
            
    }          
    
}    
 
int main(){
 
    allegro_init();
    install_keyboard();
    set_color_depth(16);
    set_gfx_mode( GFX_AUTODETECT, 640, 480, 0, 0);
    
    xSprite = load_bitmap( "x.bmp", NULL);
    
    oSprite = load_bitmap( "o.bmp", NULL);
 
    setupBoard();
    
    while( !key[KEY_ESC]){
        moveBox();    
        
    }    
    
    destroy_bitmap( xSprite);
    destroy_bitmap( oSprite);
    
    return 0;
    
}   
END_OF_MAIN();
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru