Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
.::.DIMA.::.
143 / 143 / 32
Регистрация: 26.10.2008
Сообщений: 782
#1

Шашечная партия на MFC - Visual C++

31.03.2009, 10:04. Просмотров 1838. Ответов 3
Метки нет (Все метки)

У меня задание: разработать класс для хранения состояния шашечной партии, и приложение, которое визуализирует шахматную доску с расположенными на ней шашками, сосотяние игра считывается с файла.
С классом и файлами, думаю, проблем не возникнет.
То есть создать класс, в котором 32 поля для каждой шашки, у которой свои координаты.
У меня скорее вопрос, как связать это с MFC, и как потом эту отдельную шашку поставить на нужную клетку?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2009, 10:04
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Шашечная партия на MFC (Visual C++):

Из MFC 2012 в MFC 2005
Есть прокт для студии 12, всё хорошо, писал на 8ке в VS 2012 и он отлично...

подключение классов MFC к не MFC
Как подключить MFC Class From ActiveX Control к не MFC проекту? т.е. пишу...

Партия
В партии из 15 изделий имеется 12 стандартных наудачу отобран 9 изделий найти...

Партия
Здравствуйте, Хочу организовать следующее: - партионный учет метод...

Шахматная партия С++
Проходит шахматная партия. Шахматная доска имеет размер 8х8.При этом координаты...

Происходит шахматная партия
Происходит шахматная партия. Шахматная доска имеет размер 8х8. при этом...

3
Haster
инженер-системотехник
111 / 110 / 5
Регистрация: 10.03.2009
Сообщений: 533
31.03.2009, 10:11 #2
Думаю, лучше создать класс шашки, в котором будут функция отрисовки, цвет и т.д
Затем создать класс шахматной доски, содержащий массив шашок...
0
.::.DIMA.::.
143 / 143 / 32
Регистрация: 26.10.2008
Сообщений: 782
02.05.2009, 18:18  [ТС] #3
Я столкнулся с некоторыми проблемами: какие файлы нужно подключить, чтобы мой новый класс видел переменные из класса ChilView.h.
Я создаю в нём переменные
C++
1
2
CPen newPen,*oldPen;
CBrush newBrush,*oldBrush;
И мне нужно, чтобы они были видны в новом классе.
И при реализации методов в cpp файле, я подключаю h файл с объявлением класса, а мне выдаётся сообщение, что нужно подключить #include "stdafx.h. При подключении этот cpp файл вообще не видит объявление класса.

И как закрасить область, ограниченную линиями (такая функция есть в Pascal).
Просто я рисую клетки в цикле с помощью линий

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
void CChildView::fPen(CPaintDC & dc)
{
    int count, x, y;
    x = y = 30;
    count = 0;
 
    dc.Rectangle (0, 0, 625, 625);
 
    newPen.CreatePen (PS_SOLID, 1, RGB (0, 0, 0));
    oldPen = dc.SelectObject (&newPen);
 
    while (count < 9)
    {
        dc.MoveTo (x, y);
        dc.LineTo (x, y + 560);
        x += 70;
        count++;
    }
 
    count = 0;
    x = y = 30;
    while (count < 9)
    {
        dc.MoveTo (x, y);
        dc.LineTo (x + 560, y);
        y += 70;
        count++;
    }
 
    newPen.DeleteObject ();
}
Есть функция dc.floodfill (int x, int y, COLORREF crColor), только не знаю точно, она ли закрашивает область и как ей пользоваться.
И функция ExtFloodFill (int x, int y, COLORREF crColor, UINT nFillType).
Только не могу понять как она работает. В ней crColor – цвет, который ограничивает область в режиме FLOODFILLBORDER. Не знаю, как задать цвет, которым она закрашивает.
0
Haster
инженер-системотехник
111 / 110 / 5
Регистрация: 10.03.2009
Сообщений: 533
04.05.2009, 09:21 #4
По поводу видимости переменных класса... Тут нужно либо наследовать класс, либо делать его дружественным по отношению к друг-другу.

По поводу метода FloodFill, вот его описание:
=================
BOOL FloodFill( int x, int y, COLORREF crColor );

Возвращаемое значение
Отлично от нуля, если функция успешна, иначе 0 возвращен, если заполнение не могло бы быть завершено, данная точка имеет граничный цвет, определенный crColor, или отметка - снаружи области отсечения.

Параметры
x
Определяет логическую x-координату отметки, где заполнение начинается.
y
Определяет логическую y-координату отметки, где заполнение начинается.
crColor
Определяет цвет границы.

Замечания
Заполняет область поверхности с текущей кистью. Область принята, чтобы быть ограниченной как определено crColor. Функция FloodFill начинается в отметке, определенной x и y и продолжается во всех направлениях к цветной границе.
Функция работает только с контекстами в памяти, которые поддерживают технологию растрового дисплея. Для информации относительно RC_BITBLT возможности, см. GetDeviceCaps функцию.
Функция ExtFloodFill обеспечивает подобную возможность, но большую гибкость.
=====================
Т.е. функция закрашивает область текущей кистью.... Значит перед использованием устанавливаешь необходимую кисть и красишь
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2009, 09:21
Привет! Вот еще темы с решениями:

Партия товара, состоящая из 15 ящиков
Ступор! помогите пожалуста решить!!( Партия товара, состоящая из 15 ящиков,...

На завод пришла партия из 500 деталей
На завод пришла партия из 500 деталей. Контролером выполняется выборочная...

Партия деталей состоит из нескольких ящиков
Партия деталей состоит из нескольких ящиков. В каждом ящике лежат 8 стандартных...

Найти вероятность того, что партия деталей будет признана негодной
1. В партии, содержащей 11 деталей, 4 бракованных. Наудачу выбрано 5 деталей....


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

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

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