![]() |
выборка с рэндома и ограничения на рэндом
И так, делаю сейчас блэк джек, нужна ваша помощь :)
Что б сильно не нагружать вас подробностями спрашу только детали. В общем есть у меня мувик, в нём 52 карты (без джокеров), я на первом кадре установил gotoAndPlay(random(52)); но допустим у меня там сто кадров, как делать выборку из рендома, то есть задавать кадры или первый и последний кадр рендома из которых он будет выбирать ? Вопрос второй, у меня появляется мувик с именем Z1, потом такой же с именем Z2, Z3, Z4, Z5. а теперь главная проблема, раз это колода карт, и используется для неё 1 мувик, как задать, что бы в каждом новом мувике была проверка что-то по типу _currentframe нового мувика не должен быть таким же как у предыдущих при выборке рендомом из 52 карт...? А то запарился уже, буду знать это сделаю блэк джек :( |
Сделай по аналогии:
Код:
arrayA = new Array ("A", "B", "C", "D", "E", "F", "G"); |
Цитата:
Цитата:
|
Да, совсем забыл, вот ещё третий вопрос, я создал мувик, типа выскакивание карты из колоды, но так как последующие карты появляются со сдвигом вправо, то и анимация сдвигается, делать кучу мувиков не хочется разных, вот и хочу узнать, можно ли первую точку моушн твина сделать фиксированной относительно позиции _x и _y по руту, то есть координатам главного мувика, тогда где бы мувик не находился карта всегда вылетала бы из колоды.
Заранее благодарен ! |
iNils, расскажи подробнее про это, распиши пожалуйста, а то я не силён в этих вещах, по ходу это массив ? как он работает, принцип, как его привязать к моему мувику ?
>>Ну сделай например массив, из которого будут удалятся выбрнные ранее карты расскажи подробно как это делать и как массив обнулять для каждой новой сдачи, распиши подробнее, а то я не очень силён в скрипте... у меня большая часть игры построена на логике... |
Цитата:
|
В твоем случаи:
Код:
arrayB = new Array (); |
Цитата:
в руте находится мувик 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 при рендомном выборе ? |
дай исходик.
|
Исходник дать не могу, извени, просто примета плохая показывать незаконченную работу, да и вообще... столько работы проделано уже...
В общем вот скрипт мне предложили для моей ситуации, оцени плиз: 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; } } } |
закинул этот скрипт в первый фрэйм, в рут, потом по идее всё работает так, нажимаю кнопку и она играет мувик CARDS1, снимая его с паузы и запуская появление первой карты, после проигрывания анимации появляется мувик Z1 на тайм лайне, нажимаю опять кнопку "Ещё", идёт анимация появления карты и на тайм лайне в CARDS1 появляется карта с инстансом Z2, и так нажимая кнопку "Ещё" мы доходим до карты Z5, в общем как на зло выпадало то 2 десятки червовые, то ещё что :(
з.ы. напомню, что каждый из этих Z - это мувик в 52 карты, в начале которого скрипт gotoAndPlay (random(52)); и в каждом кадре стоит пауза :( |
Вложений: 1
ВОТ ИСХОДНИК СТРУКТУРЫ =)
нужно чтоб массив отслеживал все значения Z в обоих мувиках и записывал их _currentframe в массив |
Вложений: 1
вот...
|
Вложений: 1
во тебе ещё....
|
Цитата:
|
Цитата:
|
поменяй _global на _root
|
Цитата:
|
Совсем забыл спросить, всё-таки скрипт есть, но хотелось бы разобраться как работает это чудо, ведь он ссылается на _root.razdacha но мувика и instance такого нет, как я понял это переменная, и при этом в самом скрипте не указаны ни мувики _root.CARDZ1 _root.CARDZ2 и так же нигде нет ссылок на Z+i, не понимаю как ты добился того чтоб скрипт обрабатывал именно данные Z-ов в мувиках _root.CARDZ1 и _root.CARDZ2
|
_global = Object.prototype
глобал оставь, допиши вначале |
Цитата:
|
угу..
ток я те соврал Object.prototype._global = Object.prototype http://proto.layer51.com/d.aspx?f=512 |
Цитата:
слушай, а можешь скачать poker.zip с предыдущей страницы и сказать как iNils написал скрипт который отлично работает и при этом не ссылается на мои мувики, я лазил по исходнику, вроде кроме самого добавления скрипта он ничего не менял, не понимаю в упор =) Да и ещё какую функцию нужно задать кнопке чтоб обнулять этот массив для последующей раздачи карт ? |
Я внутри мувика с картами в первый кадр поставил код:
this.gotoAndStop (_global.razdacha ()); Для обнуления массива надо вызвать _global.init(); |
Цитата:
|
| Часовой пояс GMT +4, время: 00:14. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.