Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
Dirkns

Шахматная доска в Windows Forms Application

03.04.2013, 20:52. Показов 3470. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Написал код программы в Windows Forms Application (в VS2008), которая рисует шахматную доску с обозначением клеток. В этом коде для обозначения клеток используется отдельная функция (case), а мне нужно переделать, чтобы это происходило без функции case, но с использованием цикла. Буду благодарен, если сможете помочь. Сам код:
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
 #pragma endregion
public: System::String^ convertIntToString(int n)
{
switch (n)
{
case 0: return "a";
case 1: return "b";
case 2: return "c";
case 3: return "d";
case 4: return "e";
case 5: return "f";
case 6: return "g";
case 7: return "h";
default: return " ";
}
 
}
private: System::Void pictureBox1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) {
 
 
Pen^ blackPen = gcnew Pen(Color::Black,1);
Pen^ whitePen = gcnew Pen(Color::White,1);
SolidBrush^ blackBrush = gcnew SolidBrush(Color::Black);
SolidBrush^ whiteBrush = gcnew SolidBrush(Color::White);
 
 
int x=20,y=20;
int i,j;
for (i=0;i<4;i++)
for (j=0; j<4; j++)
{
Rectangle blackRect1(x+j*40,y+i*40,20,20);
e->Graphics->DrawRectangle(blackPen,blackRect1);
e->Graphics->FillRectangle(blackBrush,blackRect1);
 
Rectangle whiteRect1(x+j*40+20,y+i*40,20,20);
e->Graphics->DrawRectangle(whitePen,whiteRect1);
e->Graphics->FillRectangle(whiteBrush,whiteRect1);
 
Rectangle whiteRect2(x+j*40,y+i*40+20,20,20);
e->Graphics->DrawRectangle(whitePen,whiteRect2);
e->Graphics->FillRectangle(whiteBrush,whiteRect2);
 
Rectangle blackRect2(x+j*40+20,y+i*40+20,20,20);
e->Graphics->DrawRectangle(blackPen,blackRect2);
e->Graphics->FillRectangle(blackBrush,blackRect2);
}
 
System::Drawing::Font^ myFont = gcnew
System::Drawing::Font("arial",10);
for (i=0;i<8;i++)
{
e->Graphics->DrawString(Convert::ToString(8-i),myFont,blackBrush,x-15,y+i*20);
e->Graphics->DrawString(Convert::ToString(8-i),myFont,blackBrush,x+165,y+i*20);
 
e->Graphics->DrawString(convertIntToString(i),myFont,blackBrush,x+5+i*20,y-20);
e->Graphics->DrawString(convertIntToString(i),myFont,blackBrush,x+5+i*20,y+165);
}
 
 
}
};
}
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.04.2013, 20:52
Ответы с готовыми решениями:

Учебник по Windows Forms Application
Нужен учебник по windows forms application. Помогите пожалуйста. Хорошо би если безплатний. Заранее спасибо. P.S. Дипломна заи......

Grid в Windows Forms Application
я только начинаю знакомство с Visual С++, возможно вопрос глупый, но пожалуйста помогите: пытаюсь оформить приложения типа CLR...

Использование string в Windows Forms Application
Я уже достаточно давно и вроде бы неплохо программирую на Turbo Delphi и решил перейти на Visual C++, но столкнулся с такими проблемами,...

2
 Аватар для FROSTEROID
7 / 7 / 1
Регистрация: 15.11.2011
Сообщений: 24
21.04.2013, 14:23
Создай строчку
C++
1
String ^ letters = "abcdefgh"
и в цикле бери из неё символы по номеру - переменной-счётчику цикла.
Тогда вместо своего "гениального" convertIntToString(n) будешь просто брать letters[n].
Только считать надо будет не от1до8, а от0до7.

Может быть, тебе-то это уже не нужно, спустя 13-то дней...
1
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 2
03.05.2013, 13:05
Dirkns, А можешь скинуть свои исходники шахматной доски
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.05.2013, 13:05
Помогаю со студенческими работами здесь

Нарисовать точку Windows Forms Application
Привет всем, у меня такова задача: нужно построить график функции на Visual С++. Понимаю, что решение сводится к тому, чтобы вычислить...

Работа с файлами в Windows Forms Application
Не совсем вник, как реализовать считывание данных из файла, при работе с формами. На форме есть кнопка, по нажатию на кнопку, надо...

шахматная доска
На первую клетку шахматной доски положили одну монету. На каждую следующую на 3 монеты больше. Сколько всего монет на доске?

Шахматная доска
Стыдно, но спрошу ) Как этот код сделать компактнее? Заполнить массив шахматной доски цветом, соответствующим каждой клетке(0 - белый,...

Шахматная доска
https://contest.yandex.ru/testsys/statement-image?imageId=f48a4dbfd6ebc09b1a5e104dfb1b9cff05111e0b469ef02c36c3ad1c37b5558f На шахматной...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru