Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2010, 12:43   #21
s4shk4
Пользователь
 
Аватар для s4shk4
 
Регистрация: 24.10.2010
Сообщений: 29
По умолчанию

Все, дошло :D
Спасибо

Все хотел спросить. В подсказке 50/50

Indx[K] := 0; почему именно 0?

Сделал 50/50 по-своему, не так красиво, но так мне понятнее)

Код:
procedure TForm1.ButtonFiftyClick(Sender: TObject);
var K,L,H: integer;
tb,tb1,tb2: TButton;
begin
 Randomize;
 H:= Random(CountAnswer)+1;
 K:= Random(CountAnswer)+1;
 L:= Random(CountAnswer)+1;

 while K=L do begin
 L:= Random(CountAnswer)+1;
 end;

 while (H=K) or (H=L) do begin
 H:= Random(CountAnswer)+1;
 end;

 tb1:= FindComponent('Variant'+IntToStr(K)) as TButton;
 tb2:= FindComponent('Variant'+IntToStr(L)) as TButton;
 tb:= FindComponent('Variant'+IntToStr(H)) as TButton;

 if tb1.Caption<>QueryQuestion.FieldByName('TrueAsk').AsString then
 begin
 tb1.Enabled:= false;
 end;
 if tb1.Caption=QueryQuestion.FieldByName('TrueAsk').AsString then
 begin
 tb1:=tb;
 tb1.Enabled:= false;
 end;

 if tb2.Caption<>QueryQuestion.FieldByName('TrueAsk').AsString then
 begin
 tb2.Enabled:= false;
 end;
 if tb2.Caption=QueryQuestion.FieldByName('TrueAsk').AsString then
 begin
 tb2:=tb;
 tb2.Enabled:= false;
 end;

 ButtonFifty.Enabled:= false;

 end;

Последний раз редактировалось Stilet; 22.11.2010 в 15:56.
s4shk4 вне форума Ответить с цитированием
Старый 11.11.2010, 08:51   #22
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Вы зря работаете с Query - ведь все поля уже оттуда вытащили...

Впрочем, если Вам так понятнее (и работает всё правильно) — то, конечно, пользуйтесь своими вариантами, для автора всегда свой вариант лучше!


p.s. кстати, если есть желание, могу свой вариант пояснить в нём непонятные Вам места...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.11.2010, 14:49   #23
s4shk4
Пользователь
 
Аватар для s4shk4
 
Регистрация: 24.10.2010
Сообщений: 29
По умолчанию

Цитата:
если есть желание, могу свой вариант пояснить в нём непонятные Вам места...
Такое желание есть) Я уже спросил:
Цитата:
Indx[K] := 0; почему именно 0?
Любопытства ради подставлял другие числа - и все работало так же.

p.s. Наконец принялся за уровни сложности вопросов.

Почти все готово. Делюсь: http://rghost.ru/3237881

Только иногда все дико виснет. Не знаю в чем дело. Может что-то с циклами while перемудрил..

...

Убрал всю эту белиберду. Теперь все работает, но блин, вопросы идут в одном и том же порядке опять.

Разобрался (просто забыл поставить Randomize)

Теперь работаю над добавлением новых вопросов в базу данных.

Код:
 part1:=('INSERT INTO Questions (Question, TrueAsk, FalseAsk1, FalseAsk2, FalseAsk3, Level) VALUES (');
 part2:=(QuotedStr(EQuestion)+', '+QuotedStr(ETrue)+', '+QuotedStr(EFalse1)+', '+QuotedStr(EFalse2)+', '+QuotedStr(EFalse3)+', '+(EditLevel.Text)+');');
 ololo:=(part1+part2);
 QueryQuestion.SQL.add(ololo);
 QueryQuestion.execSQL;
Пишет, что в запросе синтаксическая ошибка. Что я опять не так сделал?

Опять нужна помощь.
Почему вопросы выводятся в определенном порядке?

Код:
QueryQuestion.SQL.Text := 'SELECT * FROM Questions ORDER BY RND(id);';
 QueryQuestion.Open;
 while (not QueryQuestion.eof) and (QueryQuestion.FieldByName('lvl').AsInteger <> 1) do
  begin
   QueryQuestion.Next;
   if QueryQuestion.eof then Application.MessageBox('Ошибка! Закончились вопросы данного уровня сложности', 'Ошибка', MB_ICONSTOP or MB_OK);
  end;
Заранее благодарю.

Последний раз редактировалось Stilet; 22.11.2010 в 16:01.
s4shk4 вне форума Ответить с цитированием
Старый 22.11.2010, 19:45   #24
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

1) выложите текущую версию программы

2) код, который Вы указали, мне КАТЕГОРИЧЕСКИ не нравится..
Если Вам нужны вопросы определённого уровня сложности, так и укажите этот уровень сложности в запросе!
и, кстати, не вижу, где код, который защищает от того, чтобы вопрос не повторялся?..

Цитата:
Почему вопросы выводятся в определенном порядке?
не могу сказать.. надо пощупать проект...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.11.2010, 07:37   #25
s4shk4
Пользователь
 
Аватар для s4shk4
 
Регистрация: 24.10.2010
Сообщений: 29
По умолчанию

Цитата:
код, который Вы указали, мне КАТЕГОРИЧЕСКИ не нравится..
Пишу не так, как лучше, а так, как понятно мне)
Я совсем безнадежен?

Цитата:
выложите текущую версию программы
Вот
s4shk4 вне форума Ответить с цитированием
Старый 23.11.2010, 12:47   #26
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Скачал проект по последней ссылке, скомпилировал, запустил и ... Объясните, где вопросы и ответы?

Жми кнопку "Верный ответ" и через шесть ходов станешь миллионером.
Почемуто упорно не хочет загружаться скрин на форум. Посмотреть скрин можно по ссылке : http://http://s58.radikal.ru/i159/10...1f0ad660a0.jpg
И не сомневайся даже ... отдых - кайф, работа - лажа!

Последний раз редактировалось DeKot; 23.11.2010 в 13:12.
DeKot вне форума Ответить с цитированием
Старый 04.02.2011, 12:37   #27
Vadja-Son
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 40
По умолчанию

[/CODE]

p.s. А ещё Вам пора задуматься над тем, как сделать, чтобы выпавшие вопросы больше не выпадали.. банальный order by RND() Вам уже не поможет!

Всем привет, очень затронула эта тема, решил сам попробовать сделать игру Кто Хочет Стать Миллионером (КХСМ) и получилось, за исключением этого интедента... Я знаю как это сделать теоретически, но не знаю как это сделать физически! Вообсчем нужно создать массив, в который будут сохронятся все пройденые вопросы... Но как этот массив сделать, я безпонятния, т.к. В Дэлфи я новичок, и знаю только теорию и простые задачки!
Vadja-Son вне форума Ответить с цитированием
Старый 04.02.2011, 12:52   #28
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Считай в массив все вопросы и при выпадении вопроса удаляй его
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 04.02.2011, 15:06   #29
Vadja-Son
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 40
По умолчанию

Так в том то и дело что я незнаю как это сделать, как прописать массив и какие команды в нём использовать. Я есчо ооочень наченаюсчий Делфи'ст
Vadja-Son вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На Delphi 7 сделать игру кто хочет стать миллионером в delphi 7 666dart666 Помощь студентам 11 04.11.2010 17:57
Стать миллионером Kapitann Свободное общение 30 21.10.2010 19:46
Кто хочет стать миллионером? на СИ Andre101 Помощь студентам 0 25.05.2010 08:01
программа Кто хочет стать миллионером 666dart666 Помощь студентам 1 18.04.2009 11:38
Тем, кто хочет стать дипломированным программистом бесплатно vasek123 Свободное общение 7 11.04.2009 17:50