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

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

03.04.2013, 20:52. Показов 3420. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru