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

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

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

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

Ответ
 
Опции темы
Старый 03.10.2009, 13:10   #1
KeipL
Нуждающийся
 
Аватар для KeipL
 
Регистрация: 07.07.2008
Адрес: Zp-UA
Сообщений: 58
Написано 4 полезных сообщений
(для 11 пользователей)
Перетасовка колоды(код готов, есть проблемы)

Доброго времени суток!
В данный момент пишу пасьянс Медичи на МП.
Столкнулся с тем, что не знаю алгоритма перемешивания(!), а действительно зачам перемешивать если всю жизнь решал задачки на сортировку?..

Полазив в интернете таи нашел плодотворную статью.
{На данном этапе задача программы - только сортировать колоду}

Вот код.

Program Medichy;
var
	i,z:integer;
	s,o:string;
	k:array[1..37] of string;
Begin
randomize;
//наполнение массива
k[1]:='6 пик';
k[2]:='7 пик';
k[3]:='8 пик';
k[4]:='9 пик';
k[5]:='10 пик';
k[6]:='валет пик';
k[7]:='дама пик';
k[8]:='король пик';
k[9]:='туз пик';

k[10]:='6 треф';
k[11]:='7 треф';
k[12]:='8 треф';
k[13]:='9 треф';
k[14]:='10 треф';
k[15]:='валет треф';
k[16]:='дама треф';
k[17]:='король треф';
k[18]:='туз треф';

k[19]:='6 бубен';
k[20]:='7 бубен';
k[21]:='8 бубен';
k[22]:='9 бубен';
k[23]:='10 бубен';
k[24]:='валет бубен';
k[25]:='дама бубен';
k[26]:='король бубен';
k[27]:='туз бубен';

k[28]:='6 червей';
k[29]:='7 червей';
k[30]:='8 червей';
k[31]:='9 червей';
k[32]:='10 червей';
k[33]:='валет червей';
k[34]:='дама червей';
k[35]:='король червей';
k[36]:='туз червей';
//проверка
Showcanvas;
	setcolor(15,99,10);
	drawtext('ccc', 10, 10);
	Repaint;
//"сортировка"	
for i:=1 to 36 do 
begin
	z:=random(36);
	o:=k[i];
	k[i]:=k[z];
	k[z]:=o;
end;
//вывод
for i:=1 to 36 do 
begin
	setcolor(00,00,00);
	drawtext(k[i], 10, i*10);
end;

Repaint;
 Delay(5000);
End.
Код рабочий.
Проблема:
в 1 из 10 запусков мидлета - просто белый экран
в 3 из 10 запусков мидлета -белый экран и надпись "ссс"
остальное - работающие правильно случаи.
Внимание вопрос:
Почему мидлет так выкаблучивается? И как его отучить?).
__________________
Счастья. Для всех. Даром. И пусть никто не уйдет обиженным... (с) Стругацкие "Пикник на обочине"

2++ + 2 = 5 не все так просто в этом мире
2b || !2b вот в чем вопрос...
(Offline)
 
Ответить с цитированием
Старый 03.10.2009, 13:24   #2
Dj_Alex
ПроЭктировщик
 
Аватар для Dj_Alex
 
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений
(для 45 пользователей)
Ответ: Перетасовка колоды(код готов, есть проблемы)

random(36) выдает случайные значения от 0 до 35, т.к. 0 элемента в массиве нет, то мидлет виснет.
правильнее будет random(36)+1
__________________
(Offline)
 
Ответить с цитированием
Старый 03.10.2009, 13:36   #3
KeipL
Нуждающийся
 
Аватар для KeipL
 
Регистрация: 07.07.2008
Адрес: Zp-UA
Сообщений: 58
Написано 4 полезных сообщений
(для 11 пользователей)
Ответ: Перетасовка колоды(код готов, есть проблемы)

Благодарю, совсем уже в Универе с С++ замотался, паскаль подзабываю уже...
__________________
Счастья. Для всех. Даром. И пусть никто не уйдет обиженным... (с) Стругацкие "Пикник на обочине"

2++ + 2 = 5 не все так просто в этом мире
2b || !2b вот в чем вопрос...
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с комодом impersonalis Болтовня 1 03.09.2010 11:56
Проблемы с MaxGui devolonter 2D-программирование 21 25.11.2009 21:14
Проблемы с real Winner Основной форум 12 24.10.2009 00:41
Проблемы с RPG mr.DIMAS 3D-программирование 5 06.02.2007 01:48
Расстановка ботов smaller 3D-программирование 1 18.12.2006 19:36


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


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