0 / 0 / 0
Регистрация: 25.05.2016
Сообщений: 15
1

Нарисовать шашечную позицию

06.07.2016, 14:20. Показов 1416. Ответов 14
Метки нет (Все метки)

В программе надо нарисовать шашечную доску и позицию на ней. А также отметить полупрозрачными стрелками действия.
Хочется, по возможности средствами c++, без использования хитрых графических библиотек и DirectX-ов (можно и с ними, если очень уж без них никак и возможно разобраться):
1. создать в памяти чистую доску из bmp-файла (см доска.jpg),
2. на неё наложить маленькие bmp-файлики с разными шашками (см. 1.jpg, 2.jpg) и дамками для создания нашей позиции (см. поз.jpg),
3. на всём этом изображении поверх нарисовать стрелки с полупрозрачной заливкой (см ходы.jpg) (не представляю как это выполнить вообще).
4. всё что получилось разом перенести из виртуальности на рабочую форму (в идеале с возможностью масштабирования готового изображения - чтобы подогнать под форму).
С математикой игры у меня проблем нет. Но с графикой я никогда не работал. Помогите, пожалуйста, какими функциями мне надо реализовывать эти пункты.
Миниатюры
Нарисовать шашечную позицию   Нарисовать шашечную позицию   Нарисовать шашечную позицию  

Изображения
  
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.07.2016, 14:20
Ответы с готовыми решениями:

Нарисовать начальную позицию игры в шашки
нарисовать начальнуюпозицию игры в шашки. (на Си) ...всем спасибо заранее

Как найти позицию (именно позицию на экране) курсора TextBox'a
Я хочу узнать позицию курсора (под ним должна подсказка всплывать, а точнее, под словом) в...

Вставить в строку H в позицию J подстроку T , а в позицию Y число X
Вставать в строку H в позицию J подстроку T , а в позицию Y число X. Вывести на экран символьную...

Нарисовать флаг, нарисовать график y=ctg x Нарисовать анимацию
Дело таково у меня сейчас практика, где я очень не успиваю сделать все свои задания... Большая...

14
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
06.07.2016, 14:40 2
Цитата Сообщение от Vovka17 Посмотреть сообщение
без использования хитрых графических библиотек и DirectX-ов
В чистом C++ нет графики. Поэтому придется использовать хотя-бы "не хитрую". Можно на чистом WinAPI, но вам не понравится.
1
0 / 0 / 0
Регистрация: 25.05.2016
Сообщений: 15
06.07.2016, 14:47  [ТС] 3
Согласен на любые "не хитрые", подскажите что конкретно. Мне важна простота использования, чтобы не пришлось тратить кучу времени на освоение сложного инструмента. Конечный результат, который хочу получить, вы видели.
0
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
06.07.2016, 14:50 4
Лучший ответ Сообщение было отмечено Vovka17 как решение

Решение

Vovka17, SFML, Qt, но осваивать все равно придется.
0
125 / 125 / 44
Регистрация: 05.10.2013
Сообщений: 462
06.07.2016, 15:09 5
Vovka17, задача в любом случае не из простых для человека, который писал только в консоле. Я бы порекомендовал вам Qt.
1
0 / 0 / 0
Регистрация: 25.05.2016
Сообщений: 15
06.07.2016, 15:21  [ТС] 6
Да, вы правы, только в консоли... Но это же просто жесть, что у меня сейчас - посмотрите. А эти дамки (моё личное изобретение ). Сил моих больше нет это выносить это позорище, хочу стать "человеком"
Миниатюры
Нарисовать шашечную позицию  
0
Vovka17
06.07.2016, 15:29  [ТС]
  #7

Не по теме:

Странно. Не умею править немного старые и удалять новые сообщения.

0
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
06.07.2016, 15:29 8
Цитата Сообщение от Vovka17 Посмотреть сообщение
Сил моих больше нет это выносить это позорище, хочу стать "человеком"
Если хотите стать "человеком" - начните изучать Qt.
0
0 / 0 / 0
Регистрация: 25.05.2016
Сообщений: 15
06.07.2016, 15:59  [ТС] 9
Qt освоить то конечно можно, но он вроде как платный (после 30 дней). Да и тяжелый такой (суммарный вес библиотек - на несколько десятков мегабайт). И всё ради "наложить несколько BMP файлов" и "нарисовать стрелочки с заливкой"?
Эх, так надеялся на существование чего-то более вменяемого для моей задачи.
0
125 / 125 / 44
Регистрация: 05.10.2013
Сообщений: 462
06.07.2016, 16:09 10
Vovka17, https://www.qt.io/download-open-source/

Эта версия бесплатна. Просто она имеет другую лицензию.

Не по теме:

Сам за лето собирался освоить Qt. Некоторое время писал окошки на WinAPI. Пару примеров Qt уже рассмотрел и могу сказать, что Qt будет точно легче в освоении и использовании.

0
14 / 16 / 7
Регистрация: 21.05.2016
Сообщений: 48
06.07.2016, 16:21 11
А Visual C++ (MFC) не подойдет? Я когда-то делал диплом себе:

Нарисовать шашечную позицию


Вот лекции:

https://www.youtube.com/playli... 8FOQYKwwzW

Там вообще много материала, а тебе надо немного: рисовать в диагональном окне (заливка линии...), загрузка и перемещение bmp-рисунка.

Могу консультировать если что.
1
0 / 0 / 0
Регистрация: 25.05.2016
Сообщений: 15
06.07.2016, 18:52  [ТС] 12
Почему то обсуждение упорно сводится к выбору билиотеки, которую мне использовать. И всё. Но вопрос так не стоит. При необходимости можно использовать любую библиотеку, которая в силах выдать подобный результат (а у нас ничего суперсложного нет). Но хотелось бы увидеть больше конкретики. Хоть какой-то пример кода, в конце концов. А не бросать меня на амбразуры Qt - "задача не из простых, но вы держитесь там, удачи вам и здоровья" (я там на сайте, если честно, даже не смог примеров простеньких найти). Я ведь не прошу написать за меня программу.
Ответ в стиле "Вот я бы посоветовал такую библиотеку, вот так её подключить, вот так создать виртуальную область для рисования, вот так в неё накидывать BMP-ки, вот так в этой области рисовать замкнутые полигоны с полупрозрачной заливкой, а вот так виртуальную графическую область вывести на форму" - был бы идеален! А дальше, я бы уже разобрался как мне прикрутить другие функции, если потребуется. С чего-то хочется начать конкретного, а не с сотни страниц описания графической библиотеки которую встречаешь на сайте разработчика.
0
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
06.07.2016, 19:18 13
Цитата Сообщение от Vovka17 Посмотреть сообщение
Ответ в стиле "Вот я бы посоветовал такую библиотеку, вот так её подключить, вот так создать виртуальную область для рисования, вот так в неё накидывать BMP-ки, вот так в этой области рисовать замкнутые полигоны
Все, что вам накидали - не библиотеки, а фреймворки. Т.е. архитектура вашего приложения будет определяться этими "библиотеками". Если вам накидать примеров, как сделать то, что вы хотите, велика вероятность, что вы в них ничего не поймете, т.к. Qt, например, добавляет в C++ ключевые слова, свою библиотеку типов и т.д. В общем, курите доки, благо для Qt и SFML - они подробные и толковые.
0
410 / 145 / 48
Регистрация: 02.06.2016
Сообщений: 330
06.07.2016, 19:26 14
Для GUI есть такая легкая библиотека FLTK.
Среди примеров есть такой.
Миниатюры
Нарисовать шашечную позицию  
Вложения
Тип файла: zip checker.zip (201.2 Кб, 2 просмотров)
1
0 / 0 / 0
Регистрация: 25.05.2016
Сообщений: 15
07.07.2016, 09:06  [ТС] 15
Всем спасибо! Получается, что то, чего я боялся изначально не избежать никак. Значит ухожу курить доки по Qt. Надо ж сделать "конфетку".
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.07.2016, 09:06
Помогаю со студенческими работами здесь

Как gl_line_loop заполнить цветом или им же нарисовать нарисовать сферу
или же нарисовать примерно точно также как на изображении, и потом при диалоге изменения цвета...

Как нарисовать прямоугольник, изменить его координаты и нарисовать заново уже без первого прямоугольника?
Как нарисовать прямоугольник, изменить его координаты и нарисовать заного уже без первого...

Нарисовать трапецию, после чего нарисовать ее зеркальную копию (относительно диагонали 1го квадранта) и уменьшить
Собственно сделал так, только пока что без уменьшения, отзеркаленную копию рисует только 1 линию,...

Нарисовать лес на экране (нарисовать дерево, и размножить его на экране)
73. Нарисовать лес на экране (нарисовать дерево, и размножить его на экране)


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru