Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 25.10.2021
Сообщений: 11
Builder 6

Игра "Кто хочет стать миллионером?"

11.11.2022, 12:07. Показов 1005. Ответов 1

Студворк — интернет-сервис помощи студентам
Здраствуйте создаю игру "Кто хочет стать миллионером?". Нужна помощь! сделал саму тестовую часть но незнаю как сделать чтобы при нажатии светился правильный ответ и соответственно неправильный ответ.
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
94
95
96
97
98
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
#include "time.h"
 
#include "IniFiles.hpp"
#include "Unit4.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm3 *Form3;
 
TIniFile *Questions = new TIniFile("./gamedata/questions.ini");
 
int solve = 0;
int solved = 0;
int current = 1;
int total = 13;
bool activeLight = false;
//---------------------------------------------------------------------------
__fastcall TForm3::TForm3(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void grabQuestion() {
        TStringList *iniSections = new TStringList;
        Questions -> ReadSections(iniSections);
 
        int q = (rand() % iniSections -> Count) + 1;
        int o = (rand() % 4) + 1;
        solve = o;
 
 
        Form3 -> Label1 -> Caption = Questions -> ReadString(IntToStr(q), "vopros", "Ничего");
        Form3 -> RadioGroup1 -> Items -> Clear();
 
        if (o == 1) {
                Form3 -> RadioGroup1 -> Items -> Add(Questions -> ReadString(IntToStr(q), "pravilnoe",  "Ничего"));
                Form3 -> RadioGroup1 -> Items -> Add(Questions -> ReadString(IntToStr(q), "nepravilnoe1", "Ничего"));
                Form3 -> RadioGroup1 -> Items -> Add(Questions -> ReadString(IntToStr(q), "nepravilnoe2", "Ничего"));
                Form3 -> RadioGroup1 -> Items -> Add(Questions -> ReadString(IntToStr(q), "nepravilnoe3", "Ничего"));
        }
        if (o == 2) {
                Form3 -> RadioGroup1 -> Items -> Add(Questions -> ReadString(IntToStr(q), "nepravilnoe1",  "Ничего"));
                Form3 -> RadioGroup1 -> Items -> Add(Questions -> ReadString(IntToStr(q), "pravilnoe", "Ничего"));
                Form3 -> RadioGroup1 -> Items -> Add(Questions -> ReadString(IntToStr(q), "nepravilnoe2", "Ничего"));
                Form3 -> RadioGroup1 -> Items -> Add(Questions -> ReadString(IntToStr(q), "nepravilnoe3", "Ничего"));
        }
        if (o == 3) {
                Form3 -> RadioGroup1 -> Items -> Add(Questions -> ReadString(IntToStr(q), "nepravilnoe1",  "Ничего"));
                Form3 -> RadioGroup1 -> Items -> Add(Questions -> ReadString(IntToStr(q), "nepravilnoe2", "Ничего"));
                Form3 -> RadioGroup1 -> Items -> Add(Questions -> ReadString(IntToStr(q), "pravilnoe", "Ничего"));
                Form3 -> RadioGroup1 -> Items -> Add(Questions -> ReadString(IntToStr(q), "nepravilnoe3", "Ничего"));
        }
        if (o == 4) {
                Form3 -> RadioGroup1 -> Items -> Add(Questions -> ReadString(IntToStr(q), "nepravilnoe1",  "Ничего"));
                Form3 -> RadioGroup1 -> Items -> Add(Questions -> ReadString(IntToStr(q), "nepravilnoe2", "Ничего"));
                Form3 -> RadioGroup1 -> Items -> Add(Questions -> ReadString(IntToStr(q), "nepravilnoe3", "Ничего"));
                Form3 -> RadioGroup1 -> Items -> Add(Questions -> ReadString(IntToStr(q), "pravilnoe", "Ничего"));
        }
 
        //Form3 -> Label4 -> Caption = IntToStr(current) + "/" + IntToStr(total);
}
void __fastcall TForm3::Button1Click(TObject *Sender)
{
        if (RadioGroup1 -> ItemIndex == (solve - 1)) solved++;
        current++;
 
        if (current-1 >= total) {
                Label5 -> Caption = IntToStr(solved);
                Label6 -> Caption = IntToStr(total);
                                Form4 -> ShowModal();
        } else {
                grabQuestion();
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm3::FormCreate(TObject *Sender)
{
        time_t t;
        srand((unsigned) time(&t));
        grabQuestion();
}
//---------------------------------------------------------------------------
void __fastcall TForm3::FormActivate(TObject *Sender)
{
        solved = 0;
        current = 1;
        total = 13;
 
        grabQuestion();
}
//---------------------------------------------------------------------------
Вот как выглядит интерфейс:
Миниатюры
Игра "Кто хочет стать миллионером?"   Игра "Кто хочет стать миллионером?"  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.11.2022, 12:07
Ответы с готовыми решениями:

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

Кто хочет стать миллионером
Пишу кто хочет стать миллионером, можно ли без создания юнит перейти на второй вопрос и как это сделать?

Текстовая игра "Кто хочет стать миллионером?" с использованием классов
Нужно создать игру кто хочет стать миллионером. С 2 подсказками 50 на 50 и помощью зала.

1
 Аватар для Lelik-pahan
1704 / 900 / 207
Регистрация: 25.11.2009
Сообщений: 1,850
11.11.2022, 23:15
Вот тут volvo показал, как перекрасить строку в RadioGrup. Но это работает только при отключенных темах (в настройках проекта для приложение параметр Runtime Themes установлен в None).

Добавлено через 5 минут
как-то так...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void grabQuestion()
{
    ...
    for (int i = 0; i < 4; i++)
    {
        if (i == o)
            Form3->RadioGroup1->Items->Add(Questions->ReadString(IntToStr(q), "pravilnoe", "Ничего"));
        if (i < 3)
            Form3->RadioGroup1->Items->Add(Questions->ReadString(IntToStr(q), "nepravilnoe" + IntToStr(i + 1), "Ничего"));
    }
    Form3->RadioGroup1->Tag = o;  //индекс item`а с правильным ответом
}
 
void __fastcall TForm3::RadioGroup1Click(TObject *Sender)
{
    //это работает только при отключенных темах!!!
    dynamic_cast<TRadioButton*>(RadioGroup1->Controls[RadioGroup1->ItemIndex])->Font->Color = RadioGroup1->ItemIndex == RadioGroup1->Tag ? clGreen : clRed;
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.11.2022, 23:15
Помогаю со студенческими работами здесь

Игра "кто хочет стать миллионером?"
Люди, если не жалко плз выложите код данной игры, если завалялся у кого нибудь...

пожалуйста, мне надо сделать некое подобия игры Кто хочет стать миллионером?
если у кого-нибудь есть что-то подобное, скиньте пожалуйста

пожалуйста, мне надо сделать некое подобия игры Кто хочет стать миллионером?
если у кого-нибудь есть что-то подобное, скиньте пожалуйста, причем желательно если сделано без массивов

Несколько вопросов в написании "Кто хочет стать миллионером"
Доброй ночи, подскажите пожалуйста как мне реализовать подсказки? т.е код я написал а вот как сделать так чтобы после 1 использования...

Создание программы наподобие игры "кто хочет стать миллионером"
А возможно ли создать программу которая например выдает вопрос из 100 рандомно и 4 варианта ответа с считывает их и считает кол-во ответов...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru