C/C++ - [решено] Случайная выборка строки из файла для Web игры
-
Чайниг
C/C++ - [решено] Случайная выборка строки из файла для Web игры
Суть в том что есть ID вещей,он находится в .txt блокноте,можно ли написать такой рандом который будет сам выбирать этот id и выдавать эту вещь пользователью.
Можно огрызки кода,или пример мне все подойдет.
Можно огрызки кода,или пример мне все подойдет.
-
Delirium
Re: C/C++ - [решено] Случайная выборка строки из файла для Web игры
считываешь файл в память, берешь количество строк. СОздаешь RAND число (
http://www.cplusplus.com/reference/c.../cstdlib/rand/
) в диапазоне от 1 до количества строк. Считываешь полученную строку и отдаешь пользователю.-
Чайниг
Re: C/C++ - [решено] Случайная выборка строки из файла для Web игры
Допустим вот у меня есть код,
Код:
выводит 3 любых числа из 10 ID,
куда мне впихнуть код
Цитата Drongo:
примерно так.
Код:
...
#include
...
...
...
TStringList *lst = new TStringList;
lst->LoadFromFile("ПУТЬ_К_ВАШЕМУ_ТХТ_ФАЙЛУ_С_ID");
int CountLine = lst->Count;
srand(time(0));
int ID = 1 + rand() % CountLine;
...
Код:
Код: Выделить всё
#include< iostream >
#include< cstdlib >
#include< ctime >
#define L 10
#define N 3
using namespace std;
int main()
{
int r;
int sum;
float sred;
time_t t;
srand((unsigned) time(&t));
for(int i=1; i выводит 3 любых числа из 10 ID,
куда мне впихнуть код
Цитата Drongo:
примерно так.
Код:
...
#include
...
...
...
TStringList *lst = new TStringList;
lst->LoadFromFile("ПУТЬ_К_ВАШЕМУ_ТХТ_ФАЙЛУ_С_ID");
int CountLine = lst->Count;
srand(time(0));
int ID = 1 + rand() % CountLine;
...
C/C++ - [решено] Случайная выборка строки из файла для Web игры
-
Drongo
Re: C/C++ - [решено] Случайная выборка строки из файла для Web игры
Чайниг, Вот.
В ID хранится сгенерированое число от 1 до количества строк из файла.
В CountLine хранится общее количество строк из файла. Хотя можно и напрямую, без использования этой переменной
Код:
примерно так.
Код:
В ID хранится сгенерированое число от 1 до количества строк из файла.
В CountLine хранится общее количество строк из файла. Хотя можно и напрямую, без использования этой переменной
Код:
Код: Выделить всё
...
int ID = 1 + rand() % lst->Count;
...примерно так.
Код:
Код: Выделить всё
...
#include
...
...
...
TStringList *lst = new TStringList;
lst->LoadFromFile("ПУТЬ_К_ВАШЕМУ_ТХТ_ФАЙЛУ_С_ID");
int CountLine = lst->Count;
srand(time(0));
int ID = 1 + rand() % CountLine;
...-
Drongo
Re: C/C++ - [решено] Случайная выборка строки из файла для Web игры
Чайниг, Вообще-то у меня к графическому интерфейсу был вариант. У вас консольный вариант.
-
Чайниг
Re: C/C++ - [решено] Случайная выборка строки из файла для Web игры
Drongo,дайте тогда код к вашему варианту,он скорее всего графическим будет.
эта версия для бета теста
эта версия для бета теста
-
Drongo
Re: C/C++ - [решено] Случайная выборка строки из файла для Web игры
Компоненты: Button1, Button2, OpenDialog1, Label1
Код:
Код:
Код: Выделить всё
//---------------------------------------------------------------------------
#include
#pragma hdrstop
#include
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
TStringList *lst;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
// Создаём список------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
lst = new TStringList();
}
// Открываем текстовый файл и грузим в список lst----------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(OpenDialog1->Execute()){
lst->LoadFromFile(OpenDialog1->FileName);
Button2->Enabled = true;
}
}
// Генерируем номер строки---------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
srand(time(0));
Label1->Caption = String("Случайная строка: ") + 1 + rand() % lst->Count;
}
// Освобождаем память при выходе---------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
delete lst;
}
//----------------------------------------------------------------------------
Чайниг
Re: C/C++ - [решено] Случайная выборка строки из файла для Web игры
Drongo, а в MVS это какое расширение файла?
-
Чайниг
Re: C/C++ - [решено] Случайная выборка строки из файла для Web игры
Цитата ferget:
это для C++ builder
Да вроде и для MVS сгодится, обработчики у кнопок одни.
Чайниг, Я не пользуюсь Visual Studio, но думаю создать новый проект и накидать компонентов труда составить не сложно. А дальше обработчики у кнопок OnClick и у формы OnCreate и OnDestroy, вставляете код из этих функций что я привёл в листинге и компилируете проект.
это для C++ builder
C/C++ - [решено] Случайная выборка строки из файла для Web игры
Да вроде и для MVS сгодится, обработчики у кнопок одни.
Чайниг, Я не пользуюсь Visual Studio, но думаю создать новый проект и накидать компонентов труда составить не сложно. А дальше обработчики у кнопок OnClick и у формы OnCreate и OnDestroy, вставляете код из этих функций что я привёл в листинге и компилируете проект.