Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/1: Рейтинг темы: голосов - 1, средняя оценка - 5.00
Just Do It!
 Аватар для XLAT
4220 / 2683 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3

Совместное создание игры

08.01.2025, 12:45. Показов 48040. Ответов 942
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
 Комментарий администратора 
Обсуждение вынесено из темы Ищу человека для совместного изучения программирования


Цитата Сообщение от Royal_X Посмотреть сообщение
Вот на моем неигровом ноуте последний UE без проблем запускается и не тормозит даже.
ок.
если ТС готов варганить со мной сапера, то я сделаю ещё одну попытку его(пожалуй 4 версию) установить и испытать.

собсно что нужно: формально отображать некие графические модели на экране в нужном его месте нужного масштаба,
для теста сойдут спрайты - а потом можно и анимированные модели голых девочек,
на усмотрение геймдиза))

и больше ничаво.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.01.2025, 12:45
Ответы с готовыми решениями:

Для чего создан язык С++?
Для чего создан язык С++????

создан массив
создан массив автовладельцев, для каждого известны Ф.И.О., номер, адрес...,Выяснить есть ли автовладельцы у которых имеются больше 1-ой...

Теория игр, массивы
Есть задание (прикрепил его в виде файла к сообщению). Есть решение для 12-ого варианта на BORLANDC, у меня 2-ой. Я изменил в начале...

942
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
24.02.2025, 16:25
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от XLAT Посмотреть сообщение
но в 3 версии там чуть-чуть поменяли и я, тупо, не хочу парится над выяснениями, что они там поменяли
прочесть всего одну статью и всё https://www.sfml-dev.org/tutor... d/migrate/
0
Just Do It!
 Аватар для XLAT
4220 / 2683 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
24.02.2025, 16:31  [ТС]
Цитата Сообщение от XLAT Посмотреть сообщение
1. загрузить их в память, чтобы получить доступ к пикселям.
2. нарисовать на экране, чтобы можно было пощупать глазками.
как древние люди сделали первый молоток, если для этого нужен молоток?

короче, нужен начальный стенд:
1. процедура показывающая на экране объекты поданные ей на вход, как аргументы.
2. какой-нить тестовый объект.

1.
"images.h"
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
...
 
namespace myl
{
    ///--------------------------------------|
    /// Карманный рендер, чтобы увидеть obj. |
    ///--------------------------------------:
    template<class T> void show(const T& obj)
    {
        sf::RenderWindow window(sf::VideoMode(800, 600), "myl::show(obj)");
                         window.setFramerateLimit  (50);
 
        sf::View camW  = window.getView();
                 camW.setCenter({0,0});
                 window.setView(camW);
 
        while (window.isOpen())
        {
            for (sf::Event event; window.pollEvent(event); )
            {   if (event.type == sf::Event::Closed) window.close();
            }
            window.clear  ();
            window.draw(obj);
            window.display();
        }
    }
 
...
2.
тестовый объект:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
///---------------------------------|
/// Это прототип ресурса.           |
///---------------------------------:
struct  HeroTest : sf::RectangleShape
{       HeroTest()
        {   setFillColor   (sf::Color(0,128,0));
            setSize        ({700, 450}        );
            setOutlineColor(sf::Color(222,0,0));
            setOutlineThickness           (5.f);
            setOrigin({getSize().x / 2, getSize().y / 2});
        }
 
    TEST
    {   HeroTest  hero ;
        myl::show(hero);
    }
};
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
...
 
void tests()
{
/// myl::testfoo_getVSizeWH();
/// CastomFilesCargo ::test();
    HeroTest         ::test();
}
 
 
///----------------------------------------------------------------------------|
/// Start.
///----------------------------------------------------------------------------:
int main ()
{   std::cout << "START ...\n\n";
    tests();
    std::cout << "\nFINISHED PROGRAMM!\n";
}
рез:
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
24.02.2025, 16:32
Цитата Сообщение от XLAT Посмотреть сообщение
по алгоритмам
мой алгоритм склеивает по лучшему совпадению, и склеивает, анализируя соседние ячейки.
Недостатки алгоритма в том, что
- не всегда нужно выбирать лучшее совпадение
- нужно анализировать не только соседние ячейки, а прям все куски в целом
Т.е. тупые простые проверки не подойдут. Нужно тут придумать что-то грандиозное.
Но у меня сейчас очень много дел, нет времени лезть в теорию графов.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
24.02.2025, 16:35
Цитата Сообщение от Royal_X Посмотреть сообщение
Так а в чем смысл программирования? Создать программу или шашечки?
Так это именно об этом и речь.
Если не умеешь, то будешь кодить на функциях, со всеми вытекающими.

Приведенные тобой примеры были разработаны в процедурной парадигме не по причине "монолитности" ООП.

Глупо начинать такие разговоры когда у тебя нет достаточно знаний и желания. С заведомо стоять на своей позиции.
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
24.02.2025, 16:47
Цитата Сообщение от SmallEvil Посмотреть сообщение
Если не умеешь, то будешь кодить на функциях, со всеми вытекающими.
В этом и ошибка. Почему-то людям кажется, что ООП не используют те, которые не знают, как его использовать. Конечно, такое тоже возможно. Но я привел пример, как от ООП отказываются огромные корпорации, у которые сотни опытных программистов, любой из которых порвет здешнего форумчанина по знаниям и опыту. И они точно отказываются от ООП не потому, что не умеют, а потому что так надо. Карл, так надо для их конкретных проектов.
ООП не является обязательным и неотъемлемым элементом любого С++ кода. Это всего лишь выбор. Программист выбирает те инструменты, которые ему больше подходят. Так же само, он выбирает ООП, а не функциональное программирование, когда ему это нужно, а не он выбирает ООП всегда, боясь, если не будет использовать ООП, то значит другие скажут типа он еще нуб.
В этом и мощь С++, что он позволяет как использовать ООП, так и не использовать.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
24.02.2025, 16:51
Цитата Сообщение от Royal_X Посмотреть сообщение
В этом и ошибка. Почему-то людям кажется, что ООП не используют те, которые не знают, как его использовать.
Но ООП не является обязательным и неотъемлемым элементом любого С++ кода. Это всего лишь выбор. Программист выбирает те инструменты, которые ему больше подходят. Так же само, он выбирает ООП, а не функциональное программирование, когда ему это нужно, а не он выбирает ООП всегда, боясь, если не будет использовать ООП, то значит он еще нуб.
Но ты же приводил совсем другие аргументы. Видать XLAT заразен.
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
24.02.2025, 16:56
Цитата Сообщение от SmallEvil Посмотреть сообщение
XLAT
Как уже сказал, ООП нужно выбрать тогда, когда это объективно нужно для конкретного проекта.

Но в случае XLAT, проверять, нужно ли ООП или нет в конкретном проекте, не стоит, ибо он тут писал, что у него тут главная цель - это учиться, тренироваться в ООП и прочее.
0
Just Do It!
 Аватар для XLAT
4220 / 2683 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
24.02.2025, 17:55  [ТС]
Цитата Сообщение от XLAT Посмотреть сообщение
1. загрузить их в память, чтобы получить доступ к пикселям.
2. нарисовать на экране, чтобы можно было пощупать глазками.
пару слов, картинка картинке рознь,
имидж в озу компа, а текстура в памяти гпу.

т.е. за имидж у нас отвечает sf::Image
а за текстуру она самая sf::Texture

а значит так:
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
///-----------------------------------------------------------------------------
/// Класс-расширение для sf::Image.
///-------------------------------------------------------------------- myImage:
struct  myImage : sf::Image
{       myImage(std::string_view _filename) : filename(_filename)
        {   loadFromFile(filename);
        }
 
    std::string filename;
 
    virtual myImage* getThis() { return this; }
 
    ///----------------------------------|
    /// Что уже есть в составе:          |
    /// см. доку на www.sfml-dev.org     |
    ///----------------------------------:
    /// Например,
    sf::Vector2u getSize() const { return sf::Image::getSize(); };
 
    std::string debug() const
    {   return std::format(
            "    filename: \"{}\", Size: [{}, {}]",
            filename,
            getSize().x,
            getSize().y
        );
    }
};
выше пусть так и останется - общее - без унификаций ...
и далее под задачу:
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
using Mat2dPixel = std::vector<std::vector<sf::Color>>;
 
///-----------------------------------------------------------------------------
/// Прототип класса для задачи.
///------------------------------------------------------------------ TaskImage:
struct  TaskImage : myImage
{       TaskImage(std::string_view filename) : myImage(filename)
        {   init_4Sides();
        }
 
    enum eSIDES
    {    UP   ,
         RIGHT,
         DOWN ,
         LEFT
    };
 
    const Mat2dPixel& get(eSIDES Side) const { return _4Sides[Side]; }
 
private:
    ///--------------------------------------|
    /// 4 дампа с пикселями.                 |
    ///--------------------------------------:
    std::array<Mat2dPixel, 4>         _4Sides;
 
    ///--------------------------------------|
    /// Берём пиксели с пазла и укладываем.  |
    ///--------------------------------------:
    void init_4Sides()
    {
        /// TODO ...
    }
 
    ///--------------------------------------|
    /// Тест разраба.                        |
    ///--------------------------------------:
    TEST
    {   FilesCargo     filesCargo;
        TaskImage task(filesCargo.get(".png").front().string());
               ln(task.debug());
    }
};
main.cpp
C++
1
2
3
4
5
6
7
8
9
void tests()
{
/// myl::testfoo_getVSizeWH();
/// CastomFilesCargo ::test();
/// HeroTest         ::test();
 
///
TaskImage        ::test();
...
рез:
Code
1
2
3
4
5
6
7
LOGOVERSION: Test-demo-config::0.0.2
START ...
 
task.debug():
    filename: "./images/00150.png", Size: [32, 32]
 
FINISHED PROGRAMM!
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
24.02.2025, 18:01
Цитата Сообщение от Royal_X Посмотреть сообщение
Как уже сказал, ООП нужно выбрать тогда, когда это объективно нужно для конкретного проекта.
Согласись. Что если ты не владеешь инструментом ООП в достаточной мере. Использовать его для создания гибких систем.
То всегда будешь выбирать процедурное. Потому что оно понятно.
Это никак не отменяет что процедурное лучше.
Давайте ещё goto вспомним.
0
Just Do It!
 Аватар для XLAT
4220 / 2683 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
24.02.2025, 18:18  [ТС]
далее грузим все картинки, какие найдём:
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
///-----------------------------------------------------------------------------
/// Класс-загрузчик всех выбранных картинок на диске в контексте sf::Image.
///--------------------------------------------------------------- LoaderImages:
struct  LoaderImages : std::vector<TaskImage>
{       LoaderImages()
        {
            FilesCargo filesCargo;
            reserve   (filesCargo.get(".png").size());
 
            for(const auto&  filename : filesCargo.get(".png"))
            {   emplace_back (TaskImage(filename.string()));
            }
        }
 
private:
    std::vector<sf::Texture>* getTextures()
    {   static std::vector<sf::Texture> tt;
        if(!tt.empty())         return &tt;
 
        tt.reserve(size());
 
        for(const auto& image : *this)
        {   tt.emplace_back(sf::Texture());
            tt.back().loadFromImage(image);
        }
        return &tt;
    }
 
    friend struct DrawImage;
    ///--------------------------------------|
    /// Тест разраба.                        |
    ///--------------------------------------:
    TEST
    {   LoaderImages loaderImages;
                   l(loaderImages.size())
                   l(loaderImages[0].debug());
                   l(loaderImages[1].debug());
                   l(loaderImages[2].debug());
    }
};
main.cpp
C++
1
2
3
4
5
6
7
8
9
void tests()
{
/// myl::testfoo_getVSizeWH();
/// CastomFilesCargo ::test();
/// HeroTest         ::test();
/// TaskImage        ::test();
///
LoaderImages     ::test();
...
рез:
Code
1
2
3
4
5
6
7
8
9
LOGOVERSION: Test-demo::0.0.2
START ...
 
loaderImages.size(): 384
loaderImages[0].debug():     filename: "./images/00150.png", Size: [32, 32]
loaderImages[1].debug():     filename: "./images/00255.png", Size: [32, 32]
loaderImages[2].debug():     filename: "./images/00300.png", Size: [32, 32]
 
FINISHED PROGRAMM!
1
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
24.02.2025, 18:49
Цитата Сообщение от SmallEvil Посмотреть сообщение
Давайте ещё goto вспомним.
только из-за того, что есть дураки, которые говорят, что ни в коему случае нельзя использовать goto в С++, я не стану полностью отказываться от goto.
Например, как выйти из вложенных циклов при выполнении некого условия, когда у нас, допустим, 5 вложенных циклов? break выходит только из одного цикла. Или как выйти не из всех циклов, но вернуться ко второму.
Сразу предупреждаю, что я знаю 1001 способ, как это делать, прям как в восточных сказках, начиная от изменения значений счетчиков, использования исключений, доп. проверок, и до создания лямбда-функций или вообще отдельной функции. Я это к тому, чтобы ты не говорил, что "детишкам легче".
Но ни один из этих способов не лучше goto. Все они хуже: кто-то хуже по производительности, кто-то хуже по читаемости, поскольку усложняется восприятие кода, а кто-то вообще можно рассмотреть как использование микроскопа для забивания гвоздей, например, я имею в виду использование исключений.
Как ни крути, goto в такой задаче лучше справляется. И ничего не произойдёт, если использовать goto.

Кстати, именно так работают и в других языках. Например, в Java тебе любой эксперт скажет, что в такой ситуации нужно пользоваться именованным блоком, который прям очень похож на goto, вот только вместо goto label; там пишут break label;, а сам label нужно писать до циклов, а не после.

Так что прекращай мыслить чужими мыслями.

XLAT, загрузчик проверяет же, чтобы картинки были одинакового размера?
1
Just Do It!
 Аватар для XLAT
4220 / 2683 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
24.02.2025, 18:58  [ТС]
Цитата Сообщение от XLAT Посмотреть сообщение
2. нарисовать на экране, чтобы можно было пощупать глазками.
далее ляпаем текстуры, вешаем на спрайты и отображаем:
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
///-----------------------------------------------------------------------------
/// Класс готовит массив sf::Image для визуализации.
///------------------------------------------------------------------ DrawImage:
struct  DrawImage : sf::Drawable
{       DrawImage(LoaderImages& _images) : images(_images)
        {   init(myl::getVSizeWH(images.size()).front());
        }
 
private:
    LoaderImages&       images;
    std::vector<sf::Sprite> sp;
 
    ///--------------------------------------|
    /// Расстановка спрайтов на экране.      |
    ///--------------------------------------:
    void init(const sf::Vector2u& sz)
    {
        if(images.empty()) return;
 
        std::vector<sf::Texture>& tt = *images.getTextures();
 
        sp.reserve(tt.size());
 
        const unsigned& SIDEx  = images.front().getSize().x;
        const unsigned& SIDEy  = images.front().getSize().y;
        const unsigned  SIDE2x = SIDEx / 2;
        const unsigned  SIDE2y = SIDEy / 2;
 
        const sf::Vector2u sza{sz.x * SIDEx / 2 - SIDE2x,
                               sz.y * SIDEy / 2 - SIDE2y};
 
        for    (unsigned y = 0; y < sz.y; ++y)
        {   for(unsigned x = 0; x < sz.x; ++x)
            {
                sp.emplace_back(sf::Sprite());
                sp.back().setOrigin  (SIDE2x, SIDE2y);
                sp.back().setTexture (  tt[sz.x  * y + x]);
                sp.back().setPosition(  float(x) * SIDEx - sza.x,
                                        float(y) * SIDEy - sza.y);
            }
        }
    }
 
    ///--------------------------------------|
    /// На рендер.                           |
    ///--------------------------------------:
    virtual void draw(sf::RenderTarget& target,
                      sf::RenderStates  states) const
    {
        for(const auto& sprite : sp) target.draw(sprite);
    }
 
    ///--------------------------------------|
    /// Тест разраба.                        |
    ///--------------------------------------:
    TEST
    {   LoaderImages        loaderImages ;
        DrawImage drawImage(loaderImages);
        SHOW(drawImage);
    }
};
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
void tests()
{
/// myl::testfoo_getVSizeWH();
/// CastomFilesCargo ::test();
/// HeroTest         ::test();
/// TaskImage        ::test();
/// LoaderImages     ::test();
///
 DrawImage        ::test();
...


Цитата Сообщение от Royal_X Посмотреть сообщение
я вот думаю, а действительно ли это надо?
тя щас видно - зачем оно было мя надо?
Вложения
Тип файла: rar pazzle-384-[CB+sources+exe.win64].rar (2.65 Мб, 3 просмотров)
2
Just Do It!
 Аватар для XLAT
4220 / 2683 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
24.02.2025, 19:16  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
загрузчик проверяет же, чтобы картинки были одинакового размера?
если не уверен в глазомере, то легко добавить метод doVerify()
ключевое слово тут "легко"
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
24.02.2025, 20:00
Цитата Сообщение от XLAT Посмотреть сообщение
если не уверен в глазомере
ну как бы нет желания 384 кусков проверять на то, нет ли у какого-то куска 32х31 вместо 32х32

Добавлено через 3 минуты
XLAT, кстати, у оригинальной картинки 16 кусков по ширине и 24 по высоте, а у тебя наоборот
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
24.02.2025, 20:00
Цитата Сообщение от Royal_X Посмотреть сообщение
я не стану полностью отказываться от goto
Да, детишкам легче пользоваться goto, чем чем то другим.
И если пришло к тому что хочется использовать goto, значит ты уже облажался.
0
Just Do It!
 Аватар для XLAT
4220 / 2683 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
24.02.2025, 20:05  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
кстати, у оригинальной картинки 16 кусков по ширине и 24 по высоте, а у тебя наоборот
у правильного билдера нет знания на соотношение сторон,
потому что он и без этих знаний перебьетсясправится...
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
24.02.2025, 22:48
Цитата Сообщение от SmallEvil Посмотреть сообщение
Да, детишкам легче пользоваться goto, чем чем то другим.
вот только самые тупые детишки, которых я видел на форуме, goto не использовали (и это хорошо, ведь, goto предназначен не для детей). Потому что, они знают, что goto это не то, чем можно понтоваться (ведь, чем тупее, тем больше понтов). Детишки, которых я видел на форуме, любили ассемблерные вставки, массовое использование указателей и ссылок, отказ от STL, использование ООП с огромными утечками. Одним, словом péter plus haut que son cul.

Добавлено через 2 часа 39 минут
Цитата Сообщение от XLAT Посмотреть сообщение
pazzle-384-[CB+sources+exe.win64].rar
респект за то, что делишься кодом. И, кстати, в этот раз даже антивирус не пожаловался на исполняемый файл, все норм запустилось

но вот ни я, ни, наверное, Хулиган, не станем что-то писать на sfml, особенно старой версии.
я вот выбрал Qt неспроста, он позволяет очень быстро сделать красивый ui обычным формошлепством, не тратя время на вещи, не связанные с программированием. А в этом sfml всё нужно ручками делать...
0
place status here
 Аватар для gunslinger
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
24.02.2025, 22:54
Цитата Сообщение от XLAT Посмотреть сообщение
gunslinger, прости за VCL


Насчет живости борланда сам не знаю (но для меня он как Ленин жив).
2
24.02.2025, 23:01

Не по теме:

Цитата Сообщение от gunslinger Посмотреть сообщение
Насчет живости борланда сам не знаю
ты главное не покушайся на эталон sfml, вот за это XLAT тебя не простит. Я вот уже попал в опалу.

0
24.02.2025, 23:14

Не по теме:

Royal_X, я не могу покушаться на то, о чем понятия не имею. Или это уже "покушение"?

Я тут пока такое делаю (хотя голова совсем не варит, но вроде справляюсь, однако это не точно):



0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.02.2025, 23:14

Решение матричных игр. Есть у кого такая программа написанная уже...
Требуется программа по решению матричных игр... С выбором размера матрицы и выдачей решения... Может кто смогёт такую сбатцать?

Запуск приложений(старых игр) в оконном режиме
День добрый, подскажите, хотелось бы реализовать свое желание запуска старых игр windo`вых(типа StarCraft) в оконном режиме, с чего начать,...

Алгоритм календаря игр (например в футболе)
необходимо составить календарь футбольных матчей, допустим есть 6 команд char *teams = {&quot;TEAM A&quot;,&quot;TEAM B&quot;,&quot;TEAM...

Движок для игр
Всем привет!!!, хотел узнать возможно ли создать движок на C++ чтобы экспортировать модели из 3ds max а после в самом движке можно было...

Выбор IDE для создания 2D игр
Здравствуйте. Задача сделать пака 2ух – мерные драчки загружая в проект анимацию-как удар(ы) и реакция на удар...(лучше всего секвенцию...


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

Или воспользуйтесь поиском по форуму:
840
Закрытая тема Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru