Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.08.2005, 22:59
DJ_Baton вне форума Посмотреть профиль Отправить личное сообщение для DJ_Baton Найти все сообщения от DJ_Baton
  № 1  
Ответить с цитированием
DJ_Baton

Регистрация: Aug 2003
Сообщений: 204
Flame выборка с рэндома и ограничения на рэндом

И так, делаю сейчас блэк джек, нужна ваша помощь
Что б сильно не нагружать вас подробностями спрашу только детали. В общем есть у меня мувик, в нём 52 карты (без джокеров), я на первом кадре установил gotoAndPlay(random(52)); но допустим у меня там сто кадров, как делать выборку из рендома, то есть задавать кадры или первый и последний кадр рендома из которых он будет выбирать ?

Вопрос второй, у меня появляется мувик с именем Z1, потом такой же с именем Z2, Z3, Z4, Z5. а теперь главная проблема, раз это колода карт, и используется для неё 1 мувик, как задать, что бы в каждом новом мувике была проверка что-то по типу _currentframe нового мувика не должен быть таким же как у предыдущих при выборке рендомом из 52 карт...? А то запарился уже, буду знать это сделаю блэк джек

Старый 02.08.2005, 23:21
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Сделай по аналогии:
Код:
arrayA = new Array ("A", "B", "C", "D", "E", "F", "G");
arrayB = new Array (0, 1, 2, 3, 4, 5, 6);
for (i = 0; i < arrayA.length; i++) {
	rnd = Math.floor (Math.random () * arrayB.length);
	del = arrayB.splice (rnd, 1);
	value = arrayA[del];
	trace (value);
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 02.08.2005, 23:24
Takato вне форума Посмотреть профиль Отправить личное сообщение для Takato Посетить домашнюю страницу Takato Найти все сообщения от Takato
  № 3  
Ответить с цитированием
Takato
 
Аватар для Takato

Регистрация: Aug 2005
Адрес: не дом и не улица
Сообщений: 1,204
Цитата:
В общем есть у меня мувик, в нём 52 карты (без джокеров), я на первом кадре установил gotoAndPlay(random(52)); но допустим у меня там сто кадров, как делать выборку из рендома, то есть задавать кадры или первый и последний кадр рендома из которых он будет выбирать ?
gotoAndPlay(random(52)) + номер "первого" кадра (из выборки).

Цитата:
Вопрос второй, у меня появляется мувик с именем Z1, потом такой же с именем Z2, Z3, Z4, Z5. а теперь главная проблема, раз это колода карт, и используется для неё 1 мувик, как задать, что бы в каждом новом мувике была проверка что-то по типу _currentframe нового мувика не должен быть таким же как у предыдущих при выборке рендомом из 52 карт...?
Ну сделай например массив, из которого будут удалятся выбрнные ранее карты
__________________
Давайте нанесем по ним ядерный удар!

Старый 02.08.2005, 23:29
DJ_Baton вне форума Посмотреть профиль Отправить личное сообщение для DJ_Baton Найти все сообщения от DJ_Baton
  № 4  
Ответить с цитированием
DJ_Baton

Регистрация: Aug 2003
Сообщений: 204
Да, совсем забыл, вот ещё третий вопрос, я создал мувик, типа выскакивание карты из колоды, но так как последующие карты появляются со сдвигом вправо, то и анимация сдвигается, делать кучу мувиков не хочется разных, вот и хочу узнать, можно ли первую точку моушн твина сделать фиксированной относительно позиции _x и _y по руту, то есть координатам главного мувика, тогда где бы мувик не находился карта всегда вылетала бы из колоды.
Заранее благодарен !

Старый 02.08.2005, 23:37
DJ_Baton вне форума Посмотреть профиль Отправить личное сообщение для DJ_Baton Найти все сообщения от DJ_Baton
  № 5  
Ответить с цитированием
DJ_Baton

Регистрация: Aug 2003
Сообщений: 204
iNils, расскажи подробнее про это, распиши пожалуйста, а то я не силён в этих вещах, по ходу это массив ? как он работает, принцип, как его привязать к моему мувику ?

>>Ну сделай например массив, из которого будут удалятся выбрнные ранее карты

расскажи подробно как это делать и как массив обнулять для каждой новой сдачи, распиши подробнее, а то я не очень силён в скрипте... у меня большая часть игры построена на логике...

Старый 02.08.2005, 23:46
Takato вне форума Посмотреть профиль Отправить личное сообщение для Takato Посетить домашнюю страницу Takato Найти все сообщения от Takato
  № 6  
Ответить с цитированием
Takato
 
Аватар для Takato

Регистрация: Aug 2005
Адрес: не дом и не улица
Сообщений: 1,204
Цитата:
Сообщение от DJ_Baton
расскажи подробно как это делать и как массив обнулять для каждой новой сдачи, распиши подробнее, а то я не очень силён в скрипте... у меня большая часть игры построена на логике...
Хм... Открой в помощи словарь и посмотри "Array" (массив) - там куча про него написано. Сюда это будет слишком долго всё расписывать
__________________
Давайте нанесем по ним ядерный удар!

Старый 03.08.2005, 00:01
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
В твоем случаи:
Код:
arrayB = new Array ();
num = 52;
for (i = 0; i < num; i++) {
	arrayB[i] = i + 1;
}
for (i = 0; i < num; i++) {
	rnd = Math.floor (Math.random () * arrayB.length);
	// данное значение это номер кадра с картой
	value = arrayB[rnd];
	del = arrayB.splice (rnd, 1);
	trace (value);
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 03.08.2005, 01:05
DJ_Baton вне форума Посмотреть профиль Отправить личное сообщение для DJ_Baton Найти все сообщения от DJ_Baton
  № 8  
Ответить с цитированием
DJ_Baton

Регистрация: Aug 2003
Сообщений: 204
Цитата:
Сообщение от iNils
В твоем случаи:
Код:
arrayB = new Array ();
num = 52;
for (i = 0; i < num; i++) {
	arrayB[i] = i + 1;
}
for (i = 0; i < num; i++) {
	rnd = Math.floor (Math.random () * arrayB.length);
	// данное значение это номер кадра с картой
	value = arrayB[rnd];
	del = arrayB.splice (rnd, 1);
	trace (value);
}
Огромное спасибо за готовый скрипт, если можешь напиши как его использовать в случае который опишу ниже.
в руте находится мувик CARDS1, содержащий раздачу в 5 карт для меня и второй мувик CARDS2 содержащий раздачу в 5 карт для крупье, структура у них одинаковая.
Структура мувиков CARDS:
в начале 1 пустой кадр со стопом, потом твин вылета первой карты из колоды, stop();, второй и стоп, третьей и так далее на стопе стоит наш мувик с рендомным выбором одной из 52 карт, который я буду копи пастить в CARDS1 и CARDS2 меняя Instance name, Z1, Z2 и т.д. то есть я их даже генерить не буду, просто вставлю пять таких мувиков в CARDS1 и 5 в CARDS2, может просто можно прописать для постоянной обработки, с обнулением в конце каждой партии -

onClipEvent(enterFrame){
//тут както перечислить все мои инстансы
_root.CARDS1.Z1
_root.CARDS1.Z2
_root.CARDS1.Z3
_root.CARDS1.Z4
_root.CARDS1.Z5
_root.CARDS2.Z6
_root.CARDS2.Z7
_root.CARDS2.Z8
_root.CARDS2.Z9
_root.CARDS2.Z10
}

и как-то привязать к ним функцию, чтоб у этих Z-ов не было одинаковых _currentframe при рендомном выборе ?

Старый 03.08.2005, 02:19
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 9  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
дай исходик.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 03.08.2005, 03:10
DJ_Baton вне форума Посмотреть профиль Отправить личное сообщение для DJ_Baton Найти все сообщения от DJ_Baton
  № 10  
Ответить с цитированием
DJ_Baton

Регистрация: Aug 2003
Сообщений: 204
Исходник дать не могу, извени, просто примета плохая показывать незаконченную работу, да и вообще... столько работы проделано уже...
В общем вот скрипт мне предложили для моей ситуации, оцени плиз:
var RandNums;
var i;
var goodrand;
var num;
var nameCard;
RandNums = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
for (i=1; i<11; i++) {
goodrand = 0;
while (goodrand == 0) {
num = (random(52))+1;
if ((num != RandNums[0]) && (num != RandNums[1]) && (num != RandNums[2]) && (num != RandNums[3]) && (num != RandNums[4]) && (num != RandNums[5]) && (num != RandNums[6]) && (num != RandNums[7]) && (num != RandNums[8]) && (num != RandNums[9])) {
if (i<6) {
nameCard = eval("_root.CARDS1.Z"+i);
} else {
nameCard = eval("_root.CARDS2.Z"+i);
}
nameCard.gotoAndStop(num);
goodrand = 1;
} else {
goodrand = 0;
}
}
}

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.