Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 26.02.2021
Сообщений: 23

Игра в ГО-БАН

16.10.2021, 12:04. Показов 4031. Ответов 35

Студворк — интернет-сервис помощи студентам
Добрый день. Начинаю писать курсовую на тему 'Игра в ГО-БАН' (правила приложу в .txt файле). Начать хочу с написания графического интерфейса, но на данный момент встрял с выбором библиотеки для реализации интерфейса. Изначально думал писать с помощью Qt, но где-то услышал, что лучше ее не использовать, хотя внятного объяснения на вопрос - почему?, так и не получил.
Собственно хочу спросить у опытных людей, что мне выбрать? (склоняюсь к SFML).

.txt
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.10.2021, 12:04
Ответы с готовыми решениями:

Бан или не бан, вот в чем вопрос
1) ИНДЕКСАЦИЯ | Есть сайт, загрузил ГС, проиндексировался в яше, за неделю из 6000 3000 стр. Гугл проиндексировал вообще еще больше чем...

Как узнать бан или не бан в яндексе?
Скажите пож-та как проверить сайт на бан в яндексе? Заранее благодарю.

Бан или не бан? вот в чём вопрос
Сегодня заметил что в индексе яши осталась только морда но прикол не в том при проверке в сапе индексации страниц часть страниц оказывается...

35
 Аватар для ram876
759 / 456 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
16.10.2021, 13:04
Если выберешь SFML, советую в связке с библиотекой ImGui.
0
Заблокирован
16.10.2021, 13:11
Цитата Сообщение от sashenkasolnce Посмотреть сообщение
на вопрос - почему?
продавать же будешь, придется+Qt,
можно WinForms, а NET начиная с XP по дефолту идет,
Builder вариант, ну а т.к. графика не великая можно и WinAPI
0
Модератор
Эксперт Java
 Аватар для alecss131
2843 / 1352 / 403
Регистрация: 11.08.2017
Сообщений: 4,318
Записей в блоге: 2
16.10.2021, 16:07
sashenkasolnce, стоит почитать лицензии и на их основе выбрать, вроде для бесплатного использования qt надо распространять вместе с исходниками

Еще стоит выбирать из того на сколько много будет интерфейса (кнопок, полей ввода и прочего), если не много то стоит попробовать реализовать все самому или воспользоваться imgui. А как основа sfml имхо хороший выбор, но можно взять и голый opengl если в игре будет 3д графика
0
9037 / 2937 / 494
Регистрация: 05.10.2013
Сообщений: 7,962
Записей в блоге: 216
18.10.2021, 22:50
Бесплатных лицензий у Qt две: LGPL и GPL. Под LGPL, есть не менять исходники самого фреймворка Qt, то можно разрабатывать коммерческое ПО, без раскрытия исходников. Раскрытия исходников требует GPL.

sashenkasolnce, лично я бы делал на Qt + шейдерных OpenGL или в крайнем случае на QPainter https://doc.qt.io/qt-5/qpainter.html
0
9037 / 2937 / 494
Регистрация: 05.10.2013
Сообщений: 7,962
Записей в блоге: 216
19.10.2021, 10:55
Текст задачи из прикреплённого файла:

Участвуют два игрока. Каждый получает по 12 шашек. Игрок, получивший белые шашки, ставит одну из них на любой из квадратов доски. Затем точно так же выставляется в любом месте чёрная шашка, потом белая и так далее по очереди.

Цель игры — выставить пять из своих шашек в ряд по прямой линии — горизонтальной, вертикальной или по диагонали.

Играющий, увидев что его противник выставил три из своих шашек в ряд по прямой линии, должен сейчас же возле них выставить в линию свою шашку. Если он этот момент пропустит и противник выставит в ряд четыре шашки, то он уже не сможет помешать выставить и пятую, так как не сумеет перекрыть ряд, действуя только с одного конца.

Когда противники выставили все свои 12 шашек, они по очереди начинают передвигать их, стремясь к той же цели — расположить пять своих шашек в ряд по прямой линии.

Передвигать шашки можно в любую сторону, но только на смежный квадрат, не занятый шашкой.

Каждая получившаяся комбинация из пяти шашек записывается (во избежание повторения) и приносит игроку одно очко. Выигрывает игрок, получивший первым 10 очков.
1
0 / 0 / 0
Регистрация: 26.02.2021
Сообщений: 23
24.10.2021, 18:07  [ТС]
Хочу сказать спасибо всем, кто ответил. Сам с ответом задержался, т.к. был погружен в учебу и совсем забыл о созданной теме (прошу прощения). Взвесив все за и против, решил использовать SFML с imgui, т.к. приложение будет максимально простое с точки зрения интерфейса (поле с шашками и 2-3 кнопки).
0
Just Do It!
 Аватар для XLAT
4198 / 2653 / 654
Регистрация: 23.09.2014
Сообщений: 8,947
Записей в блоге: 3
24.10.2021, 18:19
Цитата Сообщение от sashenkasolnce Посмотреть сообщение
imgu
самое то,

его, похоже, тоже первоначально писали студенты для курсовой.
документации нормальной там нет, а в хедере смотреть черт ногу сломит.
0
0 / 0 / 0
Регистрация: 26.02.2021
Сообщений: 23
25.10.2021, 17:56  [ТС]
Начал писать программу и столкнулся с некоторыми трудностями:

1. Что нужно сделать, чтобы шашка "магнитилась" и выставлялась по центру к той ячейке, в которую ее ставят?
2. Как реализовать логику поля? Я склоняюсь к тому, что нужно создать две матрицы, одна из которых будет отвечать за логическую часть (занято/не занято), а вторая за то, какой шашкой она занята (белой/черной). Видимо для этого нужно еще и класс Board написать... т.к. на данный момент мое игровое поле - просто картинка.
0
Покинул чат.
1132 / 727 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
25.10.2021, 18:45
имхо навскидку нужен массив int board[строки][столбцы] = состояние
где состояние может быть -1 черные, 1 белые, 0 пусто, чтобы удобнее было анализировать линии(строки, столбцы, диагонали)
например если 8х8 поле и в строке фишки 0 1 1 1 0 -1 -1 1 ,сумма их будет 4-2=2>0 значит белых фишек больше
или найти линию с большим весом(количеством фишек противника, идущих подряд), тут вес белых 3, черных 2
и определить куда выгоднее ставить свою фишку
0
9037 / 2937 / 494
Регистрация: 05.10.2013
Сообщений: 7,962
Записей в блоге: 216
16.11.2021, 11:44
Цитата Сообщение от sashenkasolnce Посмотреть сообщение
SFML с imgui, т.к. приложение будет максимально простое с точки зрения интерфейса (поле с шашками и 2-3 кнопки).
Я пробовал ImGUI. Если, как вы пишите, вам нужны только кнопки, то проще сделать кнопку самому. Самый простой вариант - сделать кнопку из одной картинки с текстом. Вариант посложнее - сделать кнопку из двух картинок. Первая картинка отображает нормальное состояние кнопки, а вторая - нажатое состояние. Третий вариант - добавить картинку, которая отображает состояние кнопки, когда курсор мыши находится над кнопкой.

Добавлено через 7 минут
Интереснее всего организовать эту игру по глобальной сети на бесплатном хостинге. Я нашёл вариант для себя, может вам пригодится: Node.js сервер для SFML на Qt с помощью WebSockets
0
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,267
16.11.2021, 12:23
Если бы играл чел с компьютером - то сложно написать хороший алгоритм для компьютера, что-бы хоть не всегда проигрывал. Если играют 2 чела - то что тут сложного?

Какие кнопки? Таблица, в которой по клику мышки рисуются разноцветные кружочки.

Что касается лицензии qt - расслабься. За такую программу никто не заплатит тебе ни копейки - следовательно лицензию ты при всём желании не нарушишь. Аминь!
0
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,267
16.11.2021, 13:37
Накидал по быстрому в Qt таблицу, в которой по клику мышки рисуются поочерёдно то красный, то серый круги:
C++ (Qt)
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
#include "widget.h"
#include "ui_widget.h"
 
 
 
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
 
    // отключение курсора
    ui->tableWidget->setSelectionMode(QAbstractItemView::NoSelection);
 
    for(int i = 0; i < 10; i++)
        for(int j = 0; j < 10; j++)
        {
            ui->tableWidget->setCellWidget(i ,j, new QLabel);
            QLabel *lbl(qobject_cast<QLabel*>(ui->tableWidget->cellWidget(i, j)));
        }
 
    QObject::connect(ui->tableWidget,SIGNAL(cellClicked(int, int)),
                                                   this,SLOT(table_clik(int, int)));
 
}
 
 
 
Widget::~Widget()
{
    delete ui;
}
 
 
 
void Widget::table_clik(int row, int col)
{
    static int cx = 0;
    
    QString str = "border-radius: 13px; background-color:red;";
    if(cx%2) str = "border-radius: 13px; background-color:gray;";
 
    QLabel *lbl(qobject_cast<QLabel*>(ui->tableWidget->cellWidget(row, col)));
 
    lbl->setFixedSize(26, 26);
    lbl->setStyleSheet(str);
 
    cx++;
}
Миниатюры
Игра в ГО-БАН  
1
Заблокирован
16.11.2021, 14:39
alexu_007, opengl и фуллскрин на Qt долго настраивать ?
Тогда, думаю, для моей мини игры и никакие движки не нужны будут.

Добавлено через 1 минуту
Цитата Сообщение от alexu_007 Посмотреть сообщение
Накидал по быстрому в Qt таблицу, в которой по клику мышки рисуются поочерёдно то красный, то серый круги:
а где сама отрисовка таблицы и кружков ? это не стандартны ли Сампл ?

Добавлено через 2 минуты
Вижу, какой то КюТ стиль через строку ... хм ..
0
9037 / 2937 / 494
Регистрация: 05.10.2013
Сообщений: 7,962
Записей в блоге: 216
16.11.2021, 14:47
Цитата Сообщение от SmallEvil Посмотреть сообщение
opengl и фуллскрин на Qt долго настраивать ?
Про Full Screen пока не знаю, не пробовал, а для настройки OpenGL нужно всего лишь скопировать эту строку в файл проекта (.pro):

Code
1
win32: LIBS += -lopengl32
Причём, НЕ НАДО подключать GLEW/GLAD, библиотеки для работы с матрицами (типа GLM) или для загрузки текстур (типа SOIL) - всё это уже есть в Qt.

Чтобы на ноутбуках с двумя картами активировалась более мощная видеокарта, то для Geforce и Radeon нужно добавить в самое начало файла main.cpp этот код:

C++ (Qt)
1
2
3
4
5
#ifdef _WIN32
#include <windows.h>
extern "C" __declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
extern "C" __declspec(dllexport) DWORD AmdPowerXpressRequestHighPerformance = 0x00000001;
#endif
Пример рисования треугольника на Qt OpenGL 3.3:

main.cpp

C++ (Qt)
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
// Add this line to .pro:
// win32: LIBS += -lopengl32
 
#ifdef _WIN32
#include <windows.h>
extern "C" __declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
extern "C" __declspec(dllexport) DWORD AmdPowerXpressRequestHighPerformance = 0x00000001;
#endif
 
#include <QApplication>
#include <QOpenGLWidget>
#include <QOpenGLShaderProgram>
#include <QOpenGLBuffer>
 
class Widget : public QOpenGLWidget {
    Q_OBJECT
public:
    Widget(QWidget *parent = nullptr) : QOpenGLWidget(parent) {
        setWindowTitle("Qt, OpenGL 3.3");
        resize(268, 268);
    }
private:
    QOpenGLShaderProgram m_program;
    QOpenGLBuffer m_vertPosBuffer;
 
    void initializeGL() override {
        glClearColor(0.5f, 0.8f, 0.7f, 1.f);
        const char *vertShaderSrc =
                "#version 330 core\n"
                "in vec3 aPosition;"
                "void main()"
                "{"
                "    gl_Position = vec4(aPosition, 1.0);"
                "}";
        const char *fragShaderSrc =
                "#version 330 core\n"
                "out vec4 fragColor;"
                "void main()"
                "{"
                "    fragColor = vec4(0.5, 0.2, 0.9, 1.0);"
                "}";
        m_program.addShaderFromSourceCode(QOpenGLShader::Vertex, vertShaderSrc);
        m_program.addShaderFromSourceCode(QOpenGLShader::Fragment, fragShaderSrc);
        m_program.link();
        m_program.bind();
        float vertPositions[] = {
            -0.5f, -0.5f, 0.f,
            0.5f, -0.5f, 0.f,
            0.f, 0.5f, 0.f
        };
        m_vertPosBuffer.create();
        m_vertPosBuffer.bind();
        m_vertPosBuffer.allocate(vertPositions, sizeof(vertPositions));
        m_program.bindAttributeLocation("aPosition", 0);
        m_program.setAttributeBuffer(0, GL_FLOAT, 0, 3);
        m_program.enableAttributeArray(0);
    }
    void paintGL() override {
        glClear(GL_COLOR_BUFFER_BIT);
        glDrawArrays(GL_TRIANGLES, 0, 3);
    }
    void resizeGL(int w, int h) override {
        glViewport(0, 0, w, h);
    }
};
 
#include "main.moc"
 
int main(int argc, char *argv[]) {
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}
1
Заблокирован
16.11.2021, 15:22
Цитата Сообщение от 8Observer8 Посмотреть сообщение
win32: LIBS += -lopengl32
есть возможность выбрать версию opengl ?
Нюанс важен, что бы использовать как можно большее число поддерживаемых устройств (по версиям шейдеров).
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Причём, НЕ НАДО подключать GLEW/GLAD, библиотеки для работы с матрицами (типа GLM) или для загрузки текстур (типа SOIL) - всё это уже есть в Qt.
Вот я про это и говорю, что много примитивов связанных с графикой в Qt уже реализовано, что меня вполне устраивает.
А что то типа спрайта я и сам могу написать, на крайняк.

8Observer8, спасибо, про полный экран это я уже сам разузнаю.
Просто SFML вообще не вариант для меня.
Ни одна либа/фреймворк/игра не заставляет мой комп "пищать", только SFML, при том разных версий либы и под разными компиляторам - в топку такое подделие, ИМХО.
0
9037 / 2937 / 494
Регистрация: 05.10.2013
Сообщений: 7,962
Записей в блоге: 216
16.11.2021, 16:00
Цитата Сообщение от SmallEvil Посмотреть сообщение
есть возможность выбрать версию opengl ?
С помощью объекта класса QSurfaceFormat можно установить версию и, например, сглаживание:

C++ (Qt)
1
2
3
4
    QSurfaceFormat format;
    format.setMajorVersion(3);
    format.setMinorVersion(3);
    format.setSamples(8);
Этот объект нужно передать в виджет перед его показом:

C++ (Qt)
1
2
3
    Widget w;
    w.setFormat(format);
    w.show();
Пример:

Название: 91c912fd-6216-4ad9-90cc-bd672903e324.png
Просмотров: 147

Размер: 1.7 Кб

main.cpp

C++ (Qt)
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
// Add this line to .pro:
// win32: LIBS += -lopengl32
 
#ifdef _WIN32
#include <windows.h>
extern "C" __declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
extern "C" __declspec(dllexport) DWORD AmdPowerXpressRequestHighPerformance = 0x00000001;
#endif
 
#include "Widget.h"
 
#include <QtWidgets/QApplication>
#include <QtGui/QSurfaceFormat>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
 
    QSurfaceFormat format;
    format.setMajorVersion(3);
    format.setMinorVersion(3);
    format.setSamples(8);
 
    Widget w;
    w.setFormat(format);
    w.show();
    return a.exec();
}
Widget.h

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef WIDGET_H
#define WIDGET_H
 
#include <QtWidgets/QOpenGLWidget>
 
class Widget : public QOpenGLWidget
{
    Q_OBJECT
 
public:
    Widget();
 
private:
    void initializeGL() override;
    void paintGL() override;
    void resizeGL(int w, int h) override;
};
#endif // WIDGET_H
Widget.cpp

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "Widget.h"
 
Widget::Widget()
{
    setWindowTitle("Qt OpenGL");
    // resize(250, 250);
    setFixedSize(QSize(250, 250));
}
 
void Widget::initializeGL()
{
    glClearColor(0.2f, 0.3f, 0.4f, 1.f);
}
 
void Widget::paintGL()
{
    glClear(GL_COLOR_BUFFER_BIT);
}
 
void Widget::resizeGL(int w, int h)
{
    glViewport(0, 0, w, h);
}
1
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,267
16.11.2021, 16:43
Цитата Сообщение от SmallEvil Посмотреть сообщение
alexu_007, opengl и фуллскрин на Qt долго настраивать ?
Не знаю, никогда не пользовался.

а где сама отрисовка таблицы и кружков ? это не стандартны ли Сампл ?
Таблица рисуется сама, я её перетащил мышкой на форму и задал свойства: 10х10, без заголовков и т.п.
Вот тут в каждую клетку таблицы вставляется метка "label", она невидимая, т.к. не содержит текста:

C++ (Qt)
1
2
3
4
5
    for(int i = 0; i < 10; i++)
        for(int j = 0; j < 10; j++)
        {
            ui->tableWidget->setCellWidget(i ,j, new QLabel);
        }
А вот этот код (слот) вызывается при клике в клетку таблицы. Он меняет размер метки, закругляет углы и меняет фон на красный/серый - метка становится видимой, получается цветной круг:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void Widget::table_clik(int row, int col)
{
    static int cx = 0;
    
    QString str = "border-radius: 13px; background-color:red;";
    if(cx%2) str = "border-radius: 13px; background-color:gray;";
 
    QLabel *lbl(qobject_cast<QLabel*>(ui->tableWidget->cellWidget(row, col)));
 
    lbl->setFixedSize(26, 26);
    lbl->setStyleSheet(str);
 
    cx++;
}
Всё, никакой отрисовки больше нет. Это всё сделано средствами Qt.
0
Заблокирован
16.11.2021, 16:59
Цитата Сообщение от alexu_007 Посмотреть сообщение
Всё, никакой отрисовки больше нет. Это всё сделано средствами Qt.
та я понял что вы использовали QLabel не по назначению/
Эта тирада бессмысленна.

Добавлено через 1 минуту
использование визуальных обьектов отличных от предназначеных для них, вариант для самых простых решений, или для нубов.
alexu_007, я не хочу и не называю вас нубом, но такой подход не годится для создания игры!

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

Добавлено через 1 минуту
Никаким тройным буфферизированием вы не исправите мерцание при отрисовке.
Для этого существует DirecX.
0
9037 / 2937 / 494
Регистрация: 05.10.2013
Сообщений: 7,962
Записей в блоге: 216
16.11.2021, 17:49
Для этой игры нужны, как минимум: кружок, линия и текст. Эти элементы можно рисовать с помощью QPainter. QPainter может рисовать текст на русском языке. Текст нужен, чтобы информировать игроков, например, сколько каждый заработал очков.

Название: 79d24610-2e23-4ce0-8174-1d10e387707d.png
Просмотров: 131

Размер: 3.5 Кб

main.cpp

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
#include "Widget.h"
 
#include <QtWidgets/QApplication>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}
Widget.h

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef WIDGET_H
#define WIDGET_H
 
#include <QtWidgets/QWidget>
#include <QtGui/QPainter>
 
class Widget : public QWidget
{
    Q_OBJECT
 
public:
    Widget();
 
private:
    void paintEvent(QPaintEvent *event) override;
};
 
#endif // WIDGET_H
Widget.cpp

C++ (Qt)
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
#include "Widget.h"
 
Widget::Widget()
{
    setWindowTitle("QPainter");
    setFixedSize(QSize(256, 256));
}
 
void Widget::paintEvent(QPaintEvent *event)
{
    Q_UNUSED(event);
 
    QPainter painter(this);
    painter.setRenderHint(QPainter::Antialiasing);
 
    // Белый камень
    painter.setBrush(QBrush(QColor("#ffffff")));
    painter.drawEllipse( QRect( 0, 0, 32, 32 ) );
 
    // Черный камень
    painter.setBrush(QBrush(QColor("#000000")));
    painter.drawEllipse( QRect( 0, 32, 32, 32 ) );
 
    // Текст
    QFont font = painter.font();
    font.setPixelSize(14);
    painter.setFont(font);
    painter.drawText(50, 50, "Игра началась");
 
    // Отрезок
    painter.drawLine(QPoint(64, 64), QPoint(128, 64));
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.11.2021, 17:49
Помогаю со студенческими работами здесь

А все таки бан или не бан...
b-( Уважаемые коллеги, пожалста подскажите, вот такой отрывок кода опасен ли? На странице находится как заголовок сайта. &lt;h1...

Бан или не бан
Есть сайт http://irikha.com подскажите, пожалуйста, забанен ли сайт, не могу понять, за что его могли забанить... Писал в яндекс два...

бан или не бан?
Помогите пож-ста разобраться. САйт mnebiokna.ru. Было в индексе весь сайт. Причем как с www так и без. Основным считал без www. Сегодня без...

Бан или не бан!!
На днях все было отлично! :) Но тут произошла беда сат пропал из поиска! ~X( &lt;b&gt;Проверял сайт&lt;/b&gt;, все страницы...

бан или не бан?
Сегодня сайт выпал из выдачи абсолютно. При попытке добавить сайт через форму - сообщает, что сайт уже проиндексирован и доступен для...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru