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

программный код по ШАхматам С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ получить гистограмму (столбчатую диаграмму) длин всех слов файла ; http://www.cyberforum.ru/cpp-beginners/thread837314.html
Добрый день,помогите пожалуйста с программой. Дан символьный файл . Считая, что количество символов в слове не превосходит двадцати: 1)определить, сколько в файле имеется слов, состоящих из одного, двух, трех и т. д. символов 2)определить количество слов в файле . 3)получить гистограмму (столбчатую диаграмму) длин всех слов файла ;(я попытался сделать). Помогите добавить первый и...
C++ Выделить память под динамический массив указателей Нужно выделить память вот под такое дело. Для примера n=5 . Ничего нагуглить так и не смог :( что есть : #include "stdafx.h" #include <iostream> #include "locale" using namespace std; int i,j; int zna4; // ввод значение ячейки при заполнении http://www.cyberforum.ru/cpp-beginners/thread837308.html
метод find не находит значение в контейнере C++
итак Каждая строка текстового файла DATA.TXT содержит информацию о городе, названии отеля и количестве звезд, присвоенном этому отелю. Данные разделены точкой с запятой, все остальные символы являются частью данных. Все строки различны, однако никакой сортировки нет. Необходимо прочитать данные из файла в контейнер вида map < город, vector <pair <название_отеля, количество_звезд> > > После...
Кто читал книги Г. Шилдта, отзовитесь C++
Вообщем случайно забрел в книжный и там купил "Полный справочник по С++ Г. Шилдт". Пришел домой решил почитать мнения людей о этой книге, я был в шоке что все так против Шилдта. Так вот вопрос действительно по этому справочнику не получиться учить язык? PS Основы языка знаю (где-то на 6 по 10-ти бальной шкале):)Форум пролистал вроде такой темы не было.Заранее спасибо!
C++ Генератор рандомных чисел! Заполнение массива http://www.cyberforum.ru/cpp-beginners/thread837273.html
Еще раз здравствуйте, я запускаю вот этот код (без точек останова): a=0; int rndm=0; while(a!=3) { srand(time(NULL)); rndm=rand()%100; speedm=rndm; cout<<"RANDOM="<<speedm<<endl; a++; }
C++ Чтобы считало и запомнило, но в консоль не вывело (есть аналог из класса string?) Привет парни! Раньше использовал связку: getch(ch); if (ololo) putch(ch); else .... Теперь пришло время С++. Есть ли аналог такой связки в С++ (в классе string)? А то ради такой мелочи подключать целую библиотеку conio.h - не дело... подробнее

Показать сообщение отдельно
Leven9tko
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 19
15.04.2013, 02:01  [ТС]     программный код по ШАхматам С++
Цитата Сообщение от abit Посмотреть сообщение
Leven9tko,
чё-то я начал писать, реализовал конструктор, который расставляет все белые и у чёрных тока пешки и короля с королевой, реализовал методы проверки поля на фигуру, отображаения доски...

потом поглядел на всё это - и понял, что мой полёт фантазии не остановить...

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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
#include <iostream>
#include <vector>
 
class figura
{
public:
      struct f_position {unsigned int x, y;};
      enum f_color  {white, black};
      enum f_type {p, N, B, R, Q, K};
      
private:
      f_position position;
      f_color color;
      f_type type;
      
public:
      figura(const f_position new_pos, const f_color b,const f_type t) {
                                                                         setposition(new_pos);
                                                                         setcolor(b);
                                                                         settype(t); 
                                                                       };
      figura () {};      
      void setposition(const f_position new_pos) {this->position = new_pos;};
      void setcolor(const f_color b) {this->color = b;};    
      void settype(const f_type t) {this->type = t;};
      
      char f_type_in_char()
                                       {
                                            if (this->color == white)
                                            switch (this->type)
                                            {
                                                   case p : return 'p';
                                                   case N : return 'N';
                                                   case B : return 'B';
                                                   case R : return 'R';
                                                   case Q : return 'Q';
                                                   case K : return 'K';
                                            }
                                            else
                                            switch (this->type)
                                            {
                                                   case p : return 'P';
                                                   case N : return 'n';
                                                   case B : return 'b';
                                                   case R : return 'r';
                                                   case Q : return 'q';
                                                   case K : return 'k';
                                            };
                                       }
      
      f_position getposition() {return position;};
      f_color getcolor() {return color;};
      f_type gettype() {return type;};
};
 
class ChessBoard
{
      std::vector<figura> figures;
      
public:
     static const char * C_x_pols;
     static const char * C_y_pols; 
     
     ChessBoard() {
                      figura::f_color color = figura::white;
                      figura::f_type type   = figura::p;
                      figura::f_position pos = {0,0};
                      
                      figura new_f(pos,color,type);
                      
                      pos.y = 1;
                      for (size_t i=0; i!=8; ++i)
                                  {
                                       pos.x = i;
                                       new_f.setposition(pos);
                                       figures.push_back(new_f);
                                  }
                                  
                      type = figura::K;
                      new_f.settype(type);
                      pos.y = 0;
                      pos.x = 4;
                      new_f.setposition(pos);
                      figures.push_back(new_f);
                      
                      type = figura::Q;
                      new_f.settype(type);
                      pos.y = 0;
                      pos.x = 3;
                      new_f.setposition(pos);
                      figures.push_back(new_f);
                      
                      type = figura::B;
                      new_f.settype(type);
                      pos.y = 0;
                      pos.x = 2;
                      new_f.setposition(pos);
                      figures.push_back(new_f);
                      pos.y = 0;
                      pos.x = 5;
                      new_f.setposition(pos);
                      figures.push_back(new_f);
                      
                      
                      type = figura::N;
                      new_f.settype(type);
                      pos.y = 0;
                      pos.x = 1;
                      new_f.setposition(pos);
                      figures.push_back(new_f);
                      pos.y = 0;
                      pos.x = 6;
                      new_f.setposition(pos);
                      figures.push_back(new_f);
                      
                      type = figura::R;
                      new_f.settype(type);
                      pos.y = 0;
                      pos.x = 0;
                      new_f.setposition(pos);
                      figures.push_back(new_f);
                      pos.y = 0;
                      pos.x = 7;
                      new_f.setposition(pos);
                      figures.push_back(new_f);
                      
                      // -------------- black
                      
                      color = figura::black;
                      type = figura::p;
                      new_f.settype(type);
                      new_f.setcolor(color);
                      
                      pos.y = 6;
                      for (size_t i=0; i!=8; ++i)
                                  {
                                       pos.x = i;
                                       new_f.setposition(pos);
                                       figures.push_back(new_f);
                                  }
                                  
                      type = figura::K;
                      new_f.settype(type);
                      pos.y = 7;
                      pos.x = 3;
                      new_f.setposition(pos);
                      figures.push_back(new_f);
                      
                      type = figura::Q;
                      new_f.settype(type);
                      pos.y = 7;
                      pos.x = 4;
                      new_f.setposition(pos);
                      figures.push_back(new_f);
                  };
                  
     bool check_pole(figura::f_position pos, figura& how_figura)
                  {
                      for (std::vector<figura>::const_iterator it=figures.begin(); it!=figures.end(); ++it)
                      {
                          figura::f_position t_pos;
                          figura f;
                          f = *it;
                          t_pos = f.getposition();
                          if ((t_pos.x==pos.x)&&(t_pos.y==pos.y))
                          { how_figura=f;
                            return true;
                          }
                      }
                      return false;
                  };
    
     unsigned int figures_count() { return figures.size();};
     
     void ShowDesk()
                  {
                      for(size_t i=0; i!=8; ++i)
                      {
                        for(size_t j=0; j!=8; ++j)
                          {
                                   figura::f_position pos;
                                   pos.x = j;
                                   pos.y = 7-i;
                                   figura t_figura;
                                   
                                   if (check_pole(pos,t_figura)) std::cout <<t_figura.f_type_in_char();
                                   else std::cout<<'*';
                          }
                          std::cout << std::endl;
                      }
                  }
      
};
 
     const char * ChessBoard::C_x_pols = "abcdefgh";
     const char * ChessBoard::C_y_pols = "12345678"; 
 
 
 
int main()
{
 
      ChessBoard ChessGame;
      
      ChessGame.ShowDesk();
      
      std::cout << std::endl << "total figures = " << ChessGame.figures_count() << std::endl;
      
 
      system("pause");
      return 0;
}
Огромное спасибо) Сейчас посмотрю может чего еще и добавлю, или спрошу если что не понятно будет.

Добавлено через 3 минуты
Цитата Сообщение от Leven9tko Посмотреть сообщение
C
1
for (size_t i=0; i!=8; ++i)
У меня в этой строке выдает ошибку
e:\пример №2\premer2.cpp(135) : error C2374: 'i' : redefinition; multiple initialization
 
Текущее время: 15:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru