Страница 1 из 1

Репозиторий компилятор gcc mingw, графика приметив

Добавлено: 27 мар 2024, 14:37
ya

Re: Репозиторий компилятор gcc mingw

Добавлено: 30 июн 2024, 11:23
ya
Code::Blocks EDU-Portable
https://codeblocks.codecutter.org
https://winbgim.codecutter.org

Новый проект -> WinBGIm project -> Add Console -> test
New -> Empty file -> hello.cpp

Код: Выделить всё

#include <iostream>
#include <graphics.h>
using namespace std;

void PrintText(int x, int y, int size, const char* text)
{
	settexstyle(COMPLEX_FONT, HORIZ_DIR, size);
	settextjustify(CENTER_TEXT, CENTER_TEXT);
	setcolor(GREEN);
	outtextxy(x, y, text);
}

int main()
{
	initwindow(800,600, "Заголовок окна"); // размер окна 800х600
	setlinestyle(SOLID_LINE, 0, 3); // линия контура
	setcolor(BROWN); // коричневая линия контура
	setfillstyle(SOLID_FILL, YELLOW); // заливка  фигуры жёлтым
	bar(100, 100, 300, 200); // Прямоугольник
	fillellipse(200, 200,50, 50); // Эллипс
	cout << "OK" << endl;
	char key = getch(); // ожидание нажатия клавиши
	delay(1000); //ojidanie 1s
	closegraph();
}

setblkcolor(WHITE); // экран белого цвета
cleardevice(); // очистка экрана
rectangle(100, 100, 500, 500); // прямоугольник
swapbuffers(); // устранит мерцание обработки объекта в цикле
Обработка управления нажатия на клавиатуре

Код: Выделить всё

if(kbhit)
{
	char key = getch();
	if(key == 'a') {}
}
Координаты мыши:
x=mousex();
y=mousey();
c=getpixel(x,y); // считывает цвет пикселя в данных координатах

Проверить события мыши:

Код: Выделить всё

if(ismouseclick(тип_события))
{
	// действие;
	clearmouseclick(тип_события)
}
Чтение графического файла

Код: Выделить всё

readimage("имя файла" , x, y. x+w, y+h)
Для добавления звука подключить библиотеки и добавить в линкёр компилятора winmm

Код: Выделить всё

#include <windows.h>
#include <mmsystem.h>

void Sound(const char *filename, bool loop=false)
{
	DWORD flags = SND_ASYNC;
	if(loop) flags |= SND_LOOP;
	PlaySound(TEXT(filename), NULL, flags)
}
Вывод текста в графике:

Код: Выделить всё

outtextxy(int x, int y, const char* text);
Значение времени:

Код: Выделить всё

#include <time.h>
float TimeInSec()
{
	float sec=(float)clock / CLOCKS_PER_SEC;
}

int main()
{
	float start_time = 0;
	game_time = TimeInSec() - start_time;
	
}

Приведение типа float к типу char:

Код: Выделить всё

#include <stdio.h>
char str[20];
sprintf(str, "%f", sec);

Инсталятор для win

Добавлено: 30 июн 2024, 18:51
ya
Инсталятор для win

Программа создания инсталляторов
http://clickteam.com/install-creator-2

Инструкция по инсталяторам
https://ixbt.com/soft/installers-2.shtml

Создание игр на c++
https://vk.com/@hellocpp-ssylke-po-teme-sozdanie-igr-na-s-dlya-shkolnikov

Re: Репозиторий компилятор gcc mingw, графика приметив

Добавлено: 03 июл 2024, 15:48
ya
Параметры компиляции линкёра для графики

Код: Выделить всё

-libgcc -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32
или

Код: Выделить всё

-lbgi
-lgdi32
-lcomdlg32
-luuid
-loleaut32
-lole32