2 / 1 / 0
Регистрация: 04.03.2017
Сообщений: 27
|
|
1 | |
Шахматы30.03.2017, 17:17. Показов 5417. Ответов 11
Метки нет Все метки)
(
На любую клетку шахматной доски поставить 2 ферзя. Поля, находящиеся под угрозой ферзя, заполнить символом ’*’. Сделать ход ферзем и получить новую картинку поля.
0
|
|
30.03.2017, 17:17 | |
Ответы с готовыми решениями:
11
Игра "Шахматы" C++ и шахматы. Шахматы Трехцветные шахматы |
20 / 20 / 8
Регистрация: 15.10.2015
Сообщений: 83
|
|
31.03.2017, 01:15 | 2 |
А подробней можно? Не понятна суть задачи
0
|
2 / 1 / 0
Регистрация: 04.03.2017
Сообщений: 27
|
|
31.03.2017, 16:46 [ТС] | 3 |
Необходимо подключить графическую библиотеку, нарисовать шахматную доску. В программе должно быть меню. (что-то вроде: показать текущую позицию, показать картинку доски, показать последовательность ходов) Пользователь вводит координаты, в которую хочет переместить фигуру и потом необходимо получить новую картинку, и звездочками отметить клетки, находящиеся под угрозой ферзя. Можно сделать для одного ферзя, а не двух.
Я думаю, что надо делать через массив, размером 8х8. Вот только с алгоритмом застряла, т.к. ферзь ходит не только по диагонали
1
|
2 / 1 / 0
Регистрация: 04.03.2017
Сообщений: 27
|
|
31.03.2017, 16:46 [ТС] | 4 |
Необходимо подключить графическую библиотеку, нарисовать шахматную доску. В программе должно быть меню. (что-то вроде: показать текущую позицию, показать картинку доски, показать последовательность ходов) Пользователь вводит координаты, в которую хочет переместить фигуру и потом необходимо получить новую картинку, и звездочками отметить клетки, находящиеся под угрозой ферзя. Можно сделать для одного ферзя, а не двух.
Я думаю, что надо делать через массив, размером 8х8. Вот только с алгоритмом застряла, т.к. ферзь ходит не только по диагонали
0
|
Диссидент
![]() 27349 / 17067 / 3771
Регистрация: 24.12.2010
Сообщений: 38,455
|
||||||
01.04.2017, 10:25 | 5 | |||||
То есть сложности с определением битых клеток. да?
0
|
2 / 1 / 0
Регистрация: 04.03.2017
Сообщений: 27
|
|
01.04.2017, 15:43 [ТС] | 6 |
Программа будет состоять из нескольких функций : 1) меню
2) перемещение фигуры и следовательно получение пары чисел новой координаты 3) вывод на экран изображения доски и вопрос : как передавать аргументы в функцию? через ссылки указатели? и как возвращать значения?
0
|
Диссидент
![]() 27349 / 17067 / 3771
Регистрация: 24.12.2010
Сообщений: 38,455
|
|
02.04.2017, 11:31 | 7 |
Странный вопрос. А что, то что написано во всех учебниках, непонятно? А если непонятно, то что именно?
Задание довольно объемно. Вряд ли найдутся желающие делать его за вас целиком.
0
|
2 / 1 / 0
Регистрация: 04.03.2017
Сообщений: 27
|
|
02.04.2017, 12:34 [ТС] | 8 |
Я не прошу его делать за меня. В main сначала запрашиваем начальные координаты (x_0, y_0) , вызываем функцию меню, которая в свою очередь может вызывать через switch еще 4 функции: переместить фигуру (т.е. считать новые координаты x и y), показать получившуюся картинку, показать последовательность перемещений и выход из программы.
Например пользователь вводит начальные координаты ферзя(в main) потом после вызова меню вызывает показать картину поля. Как из main и menu передать начальные координаты? И еще вопрос: как передать массив доски, чтобы после выхода из функции он сохранялся, а мы работали не только с копией внутри функции, которая после работы функции исчезает? Добавлено через 2 минуты Я думаю, что нельзя приравнять элемент массива char к определенному символу. Массив заполняется мусором. Необходимо использовать функции <string.h>
0
|
Диссидент
![]() 27349 / 17067 / 3771
Регистрация: 24.12.2010
Сообщений: 38,455
|
|
02.04.2017, 12:37 | 10 |
Lastlight1998, покажите ваши наброски. На общие описания можно дать только общий ответ, который уже написан во всех учебниках. И если вы не поняли, что написано там, то вероятность того, что вы поймете то, что я вам могу сказать, исчезающе мала.
0
|
2 / 1 / 0
Регистрация: 04.03.2017
Сообщений: 27
|
||||||
02.04.2017, 12:46 [ТС] | 11 | |||||
Это только самое начало и естественно здесь ничего не работает
0
|
Диссидент
![]() 27349 / 17067 / 3771
Регистрация: 24.12.2010
Сообщений: 38,455
|
||||||
02.04.2017, 13:03 | 12 | |||||
![]() Ваши затруднения явно указывают на это. Добавлено через 1 минуту Можно сделать массив доски int D[8][8] глобальным. Это не поощеряется, как стиль, но допустимо.
0
|
02.04.2017, 13:03 | |
Помогаю со студенческими работами здесь
12
2 задачи про шахматы Задача про шахматы на Си Игра шахматы на си или с++ Написать код, про шахматы! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |