Форум программистов, компьютерный форум 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, 04:21  [ТС]     программный код по ШАхматам С++
Цитата Сообщение от abit Посмотреть сообщение
эта строка перводит консоль на новую строчку и там пишет количество фигур, которые учавствуют в шахматной партии, просто для теста метода получения числа фигур


до этого там ещё очень далеко...



вы говорили что вам не надо до конца готовую игру делать...
собстна большую часть декларативной работы я проделал (из декларативности - осталось разве что описать закон движения каждого типа фигур, а остальное фигня)... осталось дело только определить какие же конкретно методы вам нужны... "сделать ход"? "расставить произвольно фигуры"? "проверить на урозу королю" и т.д.

впишите только то, что вам нужно... не обязательно доводить до рабочего конца всё
Я на столько глуп, что я не могу даже придумать что делать дальше((( Это печальная ситуация(

Добавлено через 1 минуту
Сейчас сижу думаю как лучше переделать мою прогу, что бы она была с класами.

Добавлено через 22 минуты
Я вот переделал свой немножко но там я кое что не могу понять как изменить и оно так не хочет выводить доску(
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
#include<iostream.h>
#include<string.h>
#include <vector>
 
struct coord
{
    int x,y;
 
};
 
class Figura
{
public:
    void doska(void);
    void scan(coord &f);
    int checkpos(int x,int y);
    int checkmove(int x,int y);
    void main();
    
};
 
char mas[8][8]={0};
int cntl(coord f)
{
    if((f.x>=0)&&(f.x<8)&&(f.y>=0)&&(f.y<8)) return 1;
    else return 0;
}
 
void Figura::doska(void) //Постороение доски
{
char a[8]={'A','B','C','D','E','F','G','H'};
    cout<<"   ";
    for(int i=0;i<8;i++) cout<<a[i]<<" ";
    cout<<endl;
    cout<<"   ";
    for( i=0;i<8;i++) cout<<"- ";
    cout<<endl;
    for( i=0;i<8;i++)
    {
        cout<<"| "<<i+1;
        for(int j=0;j<8;j++) cout<<mas[i][j]<<" ";
        cout<<endl;
    }
}
void Figura:: scan(coord &f)
{
    char t=0;
    cin>>t;
    f.y=t-0;
    cin>>f.x;
    f.x--;
    cout<<f.x<<f.y<<endl;
}
int Figura::checkpos(int x,int y)
{
    if(x>=0 && x<8 && y>=0 && y<8) return 1;
    else return 0;
}
int Figura::checkmove(int x,int y)
{
    int h_x[8]={-2,-2,-1,-1,1,1,2,2};
    int h_y[8]={-1,1,-2,2,-2,2,-1,1};
    for (int i=x-1;i<x+2;i++)
    {
        for(int j=y-1;j<y+2;j++)
        {
            if(i== x && j==y) continue;
            if(checkpos(i,j)==0) continue;
            if(mas[i][j]=='k') return 1;
    
        };
    };
    for (i=1; i<8;i++)
    {
        if(checkpos(x+i,y+i)==1)
            if (mas[x+i][y+i]=='s') return 1;
        if(checkpos(x-i,y-i)==1)
            if (mas[x-i][y-i]=='s') return 1;
        if(checkpos(x-i,y+i)==1)
            if (mas[x-i][y+i]=='s') return 1;
        if(checkpos(x+i,y-i)==1)
            if (mas[x+i][y-i]=='s') return 1;
    };
    for (i=1; i<8;i++)
    {       if(checkpos(x+h_x[i],y+h_y[i])==0) continue;
            if (mas[x+h_x[i]][y+h_y[i]]=='h') return 1;
    };
    return 0;
 
}
void main()
{
    int check,mat;
    coord b_king;
    coord b_knigth;
    coord b_bishop;
    coord w_king;
    check=0;
    mat=1;
void Figura::doska();
m1: cout<<"vvedite mestopolozhenie korol9:  \n";
//  cin>>Король черных;
    cin>>b_king.x;
    cin>>b_king.y;
    if(!cntl(b_king)) goto m1;
    mas[b_king.x][b_king.y]='k';
void Figura::doska();
m2: cout<<"vvedite mestopolozhenie korolevu:  \n";
//  cin>>Королева черных;
    cin>>b_knigth.x;
    cin>>b_knigth.y;
    if(!cntl(b_knigth)) goto m2;
    mas[b_knigth.x][b_knigth.y]='h';
    void Figura::doska();
m3: cout<<"vvedite coord b_bishop:  ";
//  cin>>Офицер черных;
    cin>>b_bishop.x;
    cin>>b_bishop.y;
    if(!cntl(b_bishop)) goto m3;
    mas[b_bishop.x][b_bishop.y]='s';
    void Figura::doska();
m4: cout<<"vvedite coord w_king:  ";
//  cin>>Король белых;
    cin>>w_king.x;
    cin>>w_king.y;
    if(!cntl(w_king)) goto m4;
    mas[w_king.x][w_king.y]='K';
    void Figura::doska();
    if (checkmove(w_king.x,w_king.y)==1) check=1;
for(int i=w_king.x-1;i<w_king.x+2;i++)
{
    for(int j=w_king.y-1; j<w_king.y+2;j++)
    {
        if(i==w_king.x && i==w_king.y) continue;
        if(checkpos(i,j)==0) continue;
        if (checkmove(i,j)) mat=0;
    };
};
if (check==0 && mat==0)
cout<<"obichanaya pozicia"<<endl;
if (check==0 && mat==1)
cout<<"patovaya pozicia"<<endl;
if (check==1 && mat==0)
cout<<"shahovaya pozicia"<<endl;
if (check==1 && mat==1)
cout<<"matovaya pozicia"<<endl;
 
system("pause");
 
}
Добавлено через 3 минуты
Только не судите строго(
 
Текущее время: 22:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru