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

Помогите сделать игру Солитер

07.10.2018, 22:32. Показов 3086. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, нужна помощь:

С++ OpenGL

Программа должна реализовывать игру Солитер стандартного типа. Реализовать возможность звукового сопровождения, настройки игры, подсказка и отмена хода, подсчет времени, таблица рекордов на 10 записей, сохранение и загрузка игры.

Помогите, кто может, пожалуйста...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2018, 22:32
Ответы с готовыми решениями:

Переделать игру солитер на игру косынка
Доброе время суток. У меня есть игра солитер могли бы вы переделать игру солитер на игру касынка?

Помогите сделать игру "memory"
Помогите сделать игру "memory" на applet java, я уже находил различные коды, к примеру: или...

Хочу сделать игру под Android на движке Unity. Как сделать регистрацию пользователей?
Помогите разобраться! Хочу сделать игру под Андроид на движке Unity. Как сделать регистрацию...

Помогите дописать игру
Пишу свою первую игру на C++, использую готовый движок HGE. У меня есть класс MapBuilder:class...

3
0 / 0 / 0
Регистрация: 07.10.2018
Сообщений: 8
08.10.2018, 00:15 2
Чем помочь то?
Курсовая горит или что там у вас?
Что не понятно спрашивайте или за деньги в соответствующий раздел
0
1 / 1 / 0
Регистрация: 07.10.2018
Сообщений: 49
19.11.2018, 20:07  [ТС] 3
как лучше всего раскинуть карты по полю на 8 ячеек (в 1- 4 по 7 карт, в 5 - 6 по 6 карт), учитывать то, что карт в каждой колоне может быть бесконечно много (ну или все 52)?
0
5142 / 2755 / 464
Регистрация: 05.10.2013
Сообщений: 7,279
Записей в блоге: 145
21.11.2018, 05:26 4
Лучший ответ Сообщение было отмечено xAsunax как решение

Решение

Я вам могу помочь по нескольким вопросам:
  • Как подключить библиотеку для звуков и музыки (irrKlang) и библиотеку для создания окна и обработки клавиатуры (FreeGLUT)
  • Как запустить музыку в бесконечном цикле и как проигрывать одиночные звуки (в данном примере по нажатию на клавишу 'f')
  • Как выводить текст и числа в OpenGL 1.5 с помощью FreeGLUT заданного цвета
  • Обработка нажатий клавиш на FreeGLUT
  • Установка начала координат в левый нижний угол координатной сетки и размер сетки [0, 20] (либо [0, любоеЗначение])
  • Рисование прямоугольника заданного цвета и размера

Библиотеки FreeGLUT и irrKlang я расположил в папке Libs и подключил к Visual Studio 2015 по относительным путям, смотрите в настройках проекта, как подключается. Вам остаётся только скачать архив и сразу запустить, должно работать: AudioAndTextOpenGL15Cpp.zip

Если у вас другая версия VS, не 2015, то выставите свою версию VS в настройках:
Кликните здесь для просмотра всего текста


Название: AudioAndTextOpenGL15Cpp.png
Просмотров: 97

Размер: 2.2 Кб

main.cpp
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <GL/freeglut.h>
#include <irrKlang.h>
 
#include <iostream>
#include <string>
 
using namespace irrklang;
 
unsigned int counter = 0;
unsigned int interval = 1000;
ISoundEngine *soundEngine = createIrrKlangDevice();
 
struct Color3f
{
    float r, g, b;
};
 
void drawText(float x, float y, std::string text, Color3f color = { 1.0f, 1.0f, 0.0f })
{
    glColor3f(color.r, color.g, color.b);
    glRasterPos2f(x, y);
    glutBitmapString(GLUT_BITMAP_8_BY_13, (const unsigned char*)text.c_str());
}
 
void drawRectangle(
    float x, float y,
    Color3f color = { 1.0f, 1.0f, 1.0f },
    float width = 1.0f, float height = 1.0f)
{
    glColor3f(color.r, color.g, color.b);
    glBegin(GL_QUADS);
    glVertex2f(x, y);
    glVertex2f(x + width, y);
    glVertex2f(x + width, y + height);
    glVertex2f(x, y + height);
    glEnd();
}
 
void draw()
{
    glClear(GL_COLOR_BUFFER_BIT);
    drawText(8.0f, 10.0f, "Counter: " + std::to_string(counter));
    drawText(2.5f, 18.5f, "Press F for Sound");
    Color3f rectColor = { 1.0f, 0.0f, 0.0f };
    drawRectangle(2.0f, 1.0f, rectColor, 5.0f, 3.0f);
    glutSwapBuffers();
}
 
void keyboard(unsigned char key, int x, int y)
{
    switch (key)
    {
        case 'f':
            soundEngine->play2D("Audio/MouseOver.mp3");
            break;
        default:
            std::cout << "This key is not used: " << key << std::endl;
            break;
    }
}
 
void update(int value)
{
    counter++;
    glutTimerFunc(1000, update, 0);
    glutPostRedisplay();
}
 
void setNewCoordSystem(int width, int height, int internalWidth, int internalHeight)
{
    glViewport(0, 0, width, height);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(0.0f, internalWidth, 0.0f, internalHeight, 0.0f, 1.0f);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}
 
int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
    glutInitWindowSize(256, 256);
    glutCreateWindow("OpenGL 1.5");
    glutDisplayFunc(draw);
    glutTimerFunc(interval, update, 0);
    glutKeyboardFunc(keyboard);
    setNewCoordSystem(256, 256, 20, 20);
    soundEngine->play2D("Audio/Background.mp3", true);
    soundEngine->setSoundVolume(0.3f);
    glutMainLoop();
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2018, 05:26
Помогаю со студенческими работами здесь

Солитер взбунтовался
Здравствуйте, странная ситуация, за столько лет в первый раз такое. После запуска стандартной игры...

Солитер взбунтовался
Писал о этой проблеме в другой теме - https://www.cyberforum.ru/viruses/ Посоветовали обратиться...

Помогите создать игру в Delphi
Игра &quot; Грибники&quot; При запуске игры на экране сверху вниз случайным образом на грибника &quot;падают&quot;...

Помогите написать игру танчики
ребят мб у кого то есть старые добрые танчики типо как на денди раньше)) или кто то может помочь...


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

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

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