Как разработать интерфейс к игре типа шахмат?

Рейтинг: 1Ответов: 2Опубликовано: 07.04.2015

Хочу написать на С++ игру типа шахмат таким образом, чтобы можно было нажимать на фигуру на доске и после этого ходить ею. К сожалению, из графических библиотек знаком только с graphics.h, однако в ней ничего подобного не наблюдалось. Подскажите, как возможно такое реализовать (желательно чтобы работало под DevCpp или Code Blocks).

Ответы

▲ 3

Несмотря на то, что ваш вопрос очень простой, дать на него ответ нелегко. Дело в том, что он слишком общий. Непонятно, каким вы видите свой интерфейс, как планируете выводить рисунки на экран, как будете развивать программу, какой у вас опыт программирования.

Вашу задачу можно довольно легко решить при помощи какой-либо из распространённых библиотек для создания графических интерфейсов. Если вы хотите использовать C++, то можете взять wxWidgets, Qt (очень мощный фреймворк, но чуть сложнее компилировать программу в сторонних IDE), Gtk. Все они умеют выводить изображения на экран (в том числе и сохранённые в форматах PNG, JPEG и т. д.), обрабатывать щелчки мышью. По ним много документации в том числе и на русском.

Также, если установите стороннее ПО, то сможете нарисовать графический интерфейс мышью, а программа сама сгенерирует нужный код.

Если вы пишете программу, чтобы попрактиковаться так как интересуетесь разработкой игр, то вам, возможно, будет полезно изучить библиотеку OpenGL (или DirectX, хотя их возможности практически равны).

И так далее. Библиотек огромное количество. Если уточните критерии, то мы сможем подобрать что-то вам по душе.

▲ 2

Если вы не знаете графических библиотек или фреймворков, но очень хотите сделать графическую игру, то надо эти самые библиотеки и фреймворки изучить. И да, единственное, что вам не хватает в graphics.h - это получение координат нажатой кнопки мыши. А это можно найти в интернете: GetCursorPos().


P.S. А вам нужны ответы или оценки? Советую не обращать внимания на них, если они не аргументированы и сосредоточится на решение куда более важных задач... например, на создание суперкомпьютеров.