Форум программистов, компьютерный форум CyberForum.ru

Язык скриптовый или обычный, или дополнение c++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа работы с палитрой цветов http://www.cyberforum.ru/cpp/thread1317169.html
скажите пожалуйста как разработать программу работы с палитрой цветов
C++ Реализовать мьютекс на основе объекта синхронизации событие Реализовать мьютекс на основе объекта синхронизации «событие». Количественные характеристики мьютекс должны быть аналогичны соответствующему объекту ядра типа мьютекс. http://www.cyberforum.ru/cpp/thread1316947.html
C++ Неверно отображаются кирилические символы при считывании из базы SQLite
Пытаюсь выгрузить данные из SQLite в массив структур с++ MFC но происходит проблема в кодировке. чем это вызвано и как это исправить?
Ошибки LNK2001 и LNK1120 C++
Наверное, какая-то нубская ошибка в синтаксисе, но я не знаю, что с этим делать //файл complex.h #ifndef _COMPLEX_ #define _COMPLEX_ #include <math.h> class Complex { public:
C++ Как работает сравнение float/double (IEEE 754) http://www.cyberforum.ru/cpp/thread1312537.html
Возможно нубский вопрос. int main() { double a, b, x, res; bool f; a = 0.5; b = 0.3; res = a + b; x = 0.8; f = res == x;
C++ C++ SDL 2.0 Портится ссылка на объект SDL_Renderer Доброе утро. Как всё работает: Есть главный класс CApp с объектом SDL_Renderer*, который вызывает CApp::OnInit(), который вызывает AreaControl.OnLoad( SDL_Renderer*), который вызывает CTexture.OnLoad(SDL_Renderer*), который вызывает SDL_CreateTextureFromSurface(SDL_Renderer*), после чего CApp::OnInit() вызывает Entity.OnLoad(SDL_Renderer*), который вызывает ... подробнее

Показать сообщение отдельно
jonikster
7 / 7 / 0
Регистрация: 26.10.2014
Сообщений: 610

Язык скриптовый или обычный, или дополнение c++ - C++

03.12.2014, 23:04. Просмотров 276. Ответов 3
Метки (Все метки)

Всех сердечно приветствую!
Слышал, что можно дополнить c++, введя новые типы данных, функции и т.д.
Для примера приведу код языка сцинариев bgt, который был написан blastbay studios для написание игр для незрячих с комментариями.
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
#include "dynamic_menu.bgt" //подключение класса для меню
const int board = 20; //создание поля x 20, по которому мы будем ходить стрелками влево вправо
int player_position = 1; //переменная позиции нашего игрока
int hp = 20; //здоровье
//объявление звуков игры с помощью добавленного типа sound
sound music1;
sound music;
sound shag;
 
void main()
{
//загрузка файлов музыки
music.load("music.wav");
music.volume = -30;
music1.load("music1.wav");
music1.volume = -10;
shag.load("shag.wav");
shag.volume = 50;
//создание меню по которому мы будем передвигаться вертикальными стрелками, как во всех подобных играх
tts_voice voice; //объявление переменной сапи синтезатора
dynamic_menu menu; //объявление переменной как я понял класса dynamic_menu
menu.allow_escape = true;
menu.wrap = true;
//добавление пунктов меню
menu.add_item_tts("Start game");
menu.add_item_tts("Exit game");
show_game_window("Enemy"); //что будет написано в заголовки
voice.speak_wait("Welcome to Enemy"); //что скажет сапи синтезатор вначале игры
music.play_looped(); //цикличное воспроизведение музыки
int choice; //переменная выбора меню
do
{
choice = menu.run("Please choose a menu item with the arrow keys, then hit enter to activate it.", true);
//проверяем на чем польователь нажал enter
if(choice==1)
{
music.stop(); //стоп звука переменной music
game_play(); //функция игры
}
}
while(choice!=0 and choice!=3);
music.stop();
voice.speak_wait("Thanks for playing."); //синт прощается с игроком, и игра закрывается
}
 
void game_play() //функция игры
{
while(true)
{
music1.play_looped(); //воспроизведение звука улицы
//передвижение, думаю будет понятно
if(key_pressed(KEY_LEFT) and player_position>0) {
player_position--;
shag.play();
}
if(key_pressed(KEY_RIGHT) and player_position<20) {
player_position++;
shag.play();
}
if(player_position<0)
{
player_position++;
}
if(player_position>20)
{
player_position--;
}
}
}
Как сделать что-то подобное, или даже легче?
Как делать новые типы, классы, функции.
Код что я писал сохраняется в файл .bgt и запускается самим движком.
Также можно скомпелировать в .exe файл.
Что для написания подобного или легче нужно знать в c++?
Для интересующихся вот код класса dynamic_menu.bgt, он будет в следующем сообщении
Существует не только этот класс.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru