Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 17.12.2008, 21:53   #1
temned
Знающий
 
Аватар для temned
 
Регистрация: 29.07.2008
Адрес: Россия,Саратов
Сообщений: 206
Написано 22 полезных сообщений
(для 33 пользователей)
проблем с массивами

Я делаю игру миллионер. В начале икода я описываю 20вопросов. Потом в процедуре игры, в начале делаю цмкл отбора из этих 20 случайных 10:
for i:=1 to 10 do begin
k:=random(20)+1;
vopros[i]:=v[k];
end;

КАк мне сделать так, чтобы была проверка, если такой вопрос уже есть, то выбираем другой, ЭТО чтобы в моем мидлете вопросы не повторялись за игру.
я думал, может как-то так:
for i:=1 to 10 do begin
k:=random(20)+1;
for r:=1 to i do begin
if vopros[i]=vopros[r] then begin // если вопрос i равен ранним вопросам, то
vopros[i]:=v[k+1]; // вопрос i равен
end;
end
vopros[i]:=v[k];
end;
ПОМОГИТЕ:::
(Offline)
 
Ответить с цитированием
Старый 18.12.2008, 01:13   #2
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: проблем с массивами

сделай массив булеевских переменных, обнули. при выборе вопроса пиши в ту же позицию true , когда следующий вопрос смотри чтоб соответствующий элемент был false
(Offline)
 
Ответить с цитированием
Старый 18.12.2008, 18:57   #3
Romanzes
Разработчик
 
Аватар для Romanzes
 
Регистрация: 06.04.2008
Сообщений: 541
Написано 196 полезных сообщений
(для 637 пользователей)
Ответ: проблем с массивами

Обнулять не надо, МП сам все обнулит.
(Offline)
 
Ответить с цитированием
Старый 18.12.2008, 19:56   #4
temned
Знающий
 
Аватар для temned
 
Регистрация: 29.07.2008
Адрес: Россия,Саратов
Сообщений: 206
Написано 22 полезных сообщений
(для 33 пользователей)
Ответ: проблем с массивами

если мона напиши конкретный пример, мне надо чтобы при выборе 10вопросв из 20, вопросы не повторялись. Например vopros[1]:=v[r], где v[1..20]- все вопросы, vopros[1..10]-вопросы игры, их 10, r-random. Мне надо сделать так, чтобы vopros не совпадал с другими vopros, короче чтоб не было других вопросов
(Offline)
 
Ответить с цитированием
Старый 18.12.2008, 20:13   #5
beZ_probleM
ПроЭктировщик
 
Регистрация: 31.03.2008
Сообщений: 134
Написано 8 полезных сообщений
(для 8 пользователей)
Ответ: проблем с массивами

var check:array[1..20of boolean;

for 
i:=1 to 20 do
begin
 repeat
   k
:=random(20)+1;
 
until check[k]=false;
 
vopros[i]:=v[k];
 
check[k]:=true;
end
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
temned (18.12.2008)
Старый 19.12.2008, 12:35   #6
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: проблем с массивами

если игра в один проход и выключили, то можно обойтись и без bool-массива, просто обнуляй строки с текстом, и ищи пока не пустая строка
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CArray - класс для работы с динамическими массивами haedim C++ 12 23.04.2011 00:54
Литл проблем magpro Болтовня 0 07.09.2009 19:20
У МЕНЯ НЕСКОЛЬКО ПРОБЛЕМ! Santeem Основной форум 1 01.07.2007 22:00
Проблем... трабл... капут ZeFiR Основной форум 0 18.02.2006 21:46


Часовой пояс GMT +4, время: 01:42.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com