Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » исключения повторения (разные карты)
исключения повторения
novichokДата: Вт, 29 Ноября 2011, 17:17 | Сообщение # 1
Приколист
вот мой мозг уже почти на врыве подскажите как зделать,кому не лень, help
Прикрепления: 1000.rar(346.5 Kb)
 
Сообщениевот мой мозг уже почти на врыве подскажите как зделать,кому не лень, help

Автор - novichok
Дата добавления - 29 Ноября 2011 в 17:17
DEMBELДата: Вт, 29 Ноября 2011, 17:41 | Сообщение # 2
Наш дизайнер

Random "4" "[mast]"
If "[mast]" "=" "0"
GotoLine "3"


чтобы не проверять на 0 почему бы не включить 0 в число мастей, 0,1,2,3 ?

вместо Gotoline которые все сломаются и не заметишь после добавления кода используй такой прием:


:razdacha
Random "4" "[mast]"
Random "6" "[karta]"

Loop "1" "8" "[i]"

While "[mast]" "=" "0"
Random "4" "[mast]"
endwhile

While "[karta]" "=" "0"
Random "6" "[karta]"
endwhile


делаешь рандом перед блоками цикла, если окажется потом что там 0, будет цикл While который прервется когда random выдаст число>0 (условие While [x] = 0 нарушится). Далее исправлять не стал т.к. сломались все Gotoline и код стал нечитаем. Используй Gotoline только при крайней нужде.

Добавлено (29 Ноябрь 2011, 17:41)
---------------------------------------------

Quote (novichok)
подскажите как зделать,кому не лень

подскажем, тут мозголомство но думаю можно сделать. А как ты потом собираешься проверять старшинство карт при игре, по именам файлов где цифры больше?
короче, пока задача сводится к уникальной сортировке кучи картинок по группам, а вот чем дальше в лес тем дров будет больше.


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщение
Random "4" "[mast]"
If "[mast]" "=" "0"
GotoLine "3"


чтобы не проверять на 0 почему бы не включить 0 в число мастей, 0,1,2,3 ?

вместо Gotoline которые все сломаются и не заметишь после добавления кода используй такой прием:


:razdacha
Random "4" "[mast]"
Random "6" "[karta]"

Loop "1" "8" "[i]"

While "[mast]" "=" "0"
Random "4" "[mast]"
endwhile

While "[karta]" "=" "0"
Random "6" "[karta]"
endwhile


делаешь рандом перед блоками цикла, если окажется потом что там 0, будет цикл While который прервется когда random выдаст число>0 (условие While [x] = 0 нарушится). Далее исправлять не стал т.к. сломались все Gotoline и код стал нечитаем. Используй Gotoline только при крайней нужде.

Добавлено (29 Ноябрь 2011, 17:41)
---------------------------------------------

Quote (novichok)
подскажите как зделать,кому не лень

подскажем, тут мозголомство но думаю можно сделать. А как ты потом собираешься проверять старшинство карт при игре, по именам файлов где цифры больше?
короче, пока задача сводится к уникальной сортировке кучи картинок по группам, а вот чем дальше в лес тем дров будет больше.

Автор - DEMBEL
Дата добавления - 29 Ноября 2011 в 17:41
novichokДата: Вт, 29 Ноября 2011, 17:58 | Сообщение # 3
Приколист
точно как я не догодался,буду ещё голову ломать,спасибо bravo

Добавлено (29 Ноябрь 2011, 17:45)
---------------------------------------------

Quote (DEMBEL)
А как ты потом собираешься проверять старшинство карт при игре, по именам файлов где цифры больше?

ну думал о бэтом-,1-1 маленькая 1-6 взрослая,както так

Добавлено (29 Ноябрь 2011, 17:46)
---------------------------------------------
поэтому и хочу мозг поломать,все-таки интерестная программа!!!!! thumbs_up

Добавлено (29 Ноябрь 2011, 17:58)
---------------------------------------------
блин все ровно одинаковые карты вылазют
:razdacha
Loop "1" "8" "[i]"
Random "4" "[mast]"
Random "6" "[karta]"
While "[mast]" "=" "0"
Random "4" "[mast]"
endwhile

While "[karta]" "=" "0"
Random "6" "[karta]"
endwhile
If "[lev-igrok[i]]" "=" "0"
If "[mast]_[karta]" "<>" "1"
SetVar "[kar[i]]" "[put-karta]\[mast]\[mast]_[karta].png"
SetVar "[lev-igrok[i]]" "1"
SetVar "[mast]_[karta]" "1"
EndIf
Else
GotoLine "3"
EndIf
endloop

Loop "9" "15" "[i]"
Random "4" "[mast]"
Random "6" "[karta]"
While "[mast]" "=" "0"
Random "4" "[mast]"
endwhile

While "[karta]" "=" "0"
Random "6" "[karta]"
endwhile
If "[ya-igrok[i]]" "=" "0"
If "[mast]_[karta]" "<>" ""
SetVar "[kar[i]]" "[put-karta]\[mast]\[mast]_[karta].png"
SetVar "[ya-igrok[i]]" "1"
SetVar "[mast]_[karta]" "1"
EndIf
Else
GotoLine "23"
EndIf
endloop

Loop "16" "23" "[i]"
Random "4" "[mast]"
Random "6" "[karta]"
While "[mast]" "=" "0"
Random "4" "[mast]"
endwhile

While "[karta]" "=" "0"
Random "6" "[karta]"
endwhile
If "[prav-igrok[i]]" "=" "0"
If "[mast]_[karta]" "<>" "1"
SetVar "[kar[i]]" "[put-karta]\[mast]\[mast]_[karta].png"
SetVar "[prav-igrok[i]]" "1"
SetVar "[mast]_[karta]" "1"
EndIf
Else
GotoLine "42"
EndIf
endloop
Return

 
Сообщениеточно как я не догодался,буду ещё голову ломать,спасибо bravo

Добавлено (29 Ноябрь 2011, 17:45)
---------------------------------------------

Quote (DEMBEL)
А как ты потом собираешься проверять старшинство карт при игре, по именам файлов где цифры больше?

ну думал о бэтом-,1-1 маленькая 1-6 взрослая,както так

Добавлено (29 Ноябрь 2011, 17:46)
---------------------------------------------
поэтому и хочу мозг поломать,все-таки интерестная программа!!!!! thumbs_up

Добавлено (29 Ноябрь 2011, 17:58)
---------------------------------------------
блин все ровно одинаковые карты вылазют
:razdacha
Loop "1" "8" "[i]"
Random "4" "[mast]"
Random "6" "[karta]"
While "[mast]" "=" "0"
Random "4" "[mast]"
endwhile

While "[karta]" "=" "0"
Random "6" "[karta]"
endwhile
If "[lev-igrok[i]]" "=" "0"
If "[mast]_[karta]" "<>" "1"
SetVar "[kar[i]]" "[put-karta]\[mast]\[mast]_[karta].png"
SetVar "[lev-igrok[i]]" "1"
SetVar "[mast]_[karta]" "1"
EndIf
Else
GotoLine "3"
EndIf
endloop

Loop "9" "15" "[i]"
Random "4" "[mast]"
Random "6" "[karta]"
While "[mast]" "=" "0"
Random "4" "[mast]"
endwhile

While "[karta]" "=" "0"
Random "6" "[karta]"
endwhile
If "[ya-igrok[i]]" "=" "0"
If "[mast]_[karta]" "<>" ""
SetVar "[kar[i]]" "[put-karta]\[mast]\[mast]_[karta].png"
SetVar "[ya-igrok[i]]" "1"
SetVar "[mast]_[karta]" "1"
EndIf
Else
GotoLine "23"
EndIf
endloop

Loop "16" "23" "[i]"
Random "4" "[mast]"
Random "6" "[karta]"
While "[mast]" "=" "0"
Random "4" "[mast]"
endwhile

While "[karta]" "=" "0"
Random "6" "[karta]"
endwhile
If "[prav-igrok[i]]" "=" "0"
If "[mast]_[karta]" "<>" "1"
SetVar "[kar[i]]" "[put-karta]\[mast]\[mast]_[karta].png"
SetVar "[prav-igrok[i]]" "1"
SetVar "[mast]_[karta]" "1"
EndIf
Else
GotoLine "42"
EndIf
endloop
Return


Автор - novichok
Дата добавления - 29 Ноября 2011 в 17:58
DEMBELДата: Вт, 29 Ноября 2011, 18:17 | Сообщение # 4
Наш дизайнер
Quote (novichok)
блин все ровно одинаковые карты вылазют

да погоди, я тебе просто показал как лучше код писать... подумаем еще, что можно сделать.

Добавлено (29 Ноябрь 2011, 18:17)
---------------------------------------------
а почему не все GotoLine исправил? они же сломанные теперь. для [lev-igrok[i]] и прочих тоже исправь проверки на 0


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщение
Quote (novichok)
блин все ровно одинаковые карты вылазют

да погоди, я тебе просто показал как лучше код писать... подумаем еще, что можно сделать.

Добавлено (29 Ноябрь 2011, 18:17)
---------------------------------------------
а почему не все GotoLine исправил? они же сломанные теперь. для [lev-igrok[i]] и прочих тоже исправь проверки на 0


Автор - DEMBEL
Дата добавления - 29 Ноября 2011 в 18:17
novichokДата: Вт, 29 Ноября 2011, 18:23 | Сообщение # 5
Приколист
Quote (novichok)
If "[prav-igrok[i]]" "=" "0"

так loop же перечесляет[lev-igrok[i]] какая карта уже открыта а какая ешо пустая,и как зделать через While мне чесно-не понятно
 
Сообщение
Quote (novichok)
If "[prav-igrok[i]]" "=" "0"

так loop же перечесляет[lev-igrok[i]] какая карта уже открыта а какая ешо пустая,и как зделать через While мне чесно-не понятно

Автор - novichok
Дата добавления - 29 Ноября 2011 в 18:23
DEMBELДата: Вт, 29 Ноября 2011, 18:37 | Сообщение # 6
Наш дизайнер
аа... ну, посмотрим что еще посоветуют.

Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениеаа... ну, посмотрим что еще посоветуют.

Автор - DEMBEL
Дата добавления - 29 Ноября 2011 в 18:37
PeterДата: Вт, 29 Ноября 2011, 18:50 | Сообщение # 7
Админ NeoBook
Quote (novichok)
блин все ровно одинаковые карты вылазют

Одинаковые карты вылезают потому-что нет учета того, что уже роздано, и того, что осталось.
Создай список карт (через ListBox), вычеркивай (удаляй) уже розданные, а раздачу продолжай из того, что осталось.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (novichok)
блин все ровно одинаковые карты вылазют

Одинаковые карты вылезают потому-что нет учета того, что уже роздано, и того, что осталось.
Создай список карт (через ListBox), вычеркивай (удаляй) уже розданные, а раздачу продолжай из того, что осталось.

Автор - Peter
Дата добавления - 29 Ноября 2011 в 18:50
DEMBELДата: Вт, 29 Ноября 2011, 18:53 | Сообщение # 8
Наш дизайнер
где то был пример в теме про генерацию неповторяющихся случайных чисел

Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениегде то был пример в теме про генерацию неповторяющихся случайных чисел

Автор - DEMBEL
Дата добавления - 29 Ноября 2011 в 18:53
wikslДата: Вт, 29 Ноября 2011, 18:53 | Сообщение # 9
Участник
Вот здесь рассматривался вопрос о случайной сортировке
http://neobooker.ru/forum/22-2586-1


Вик
 
СообщениеВот здесь рассматривался вопрос о случайной сортировке
http://neobooker.ru/forum/22-2586-1

Автор - wiksl
Дата добавления - 29 Ноября 2011 в 18:53
PeterДата: Вт, 29 Ноября 2011, 19:36 | Сообщение # 10
Админ NeoBook
Кстати, забыл сказать...
Можно все сделать ещё проще (как в классической живой игре): заполнить список карт (ListBox) в случайном порядке (перемашать колоду), а затем раздавать, например, по-одной карте либо "сверху", либо "снизу".


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеКстати, забыл сказать...
Можно все сделать ещё проще (как в классической живой игре): заполнить список карт (ListBox) в случайном порядке (перемашать колоду), а затем раздавать, например, по-одной карте либо "сверху", либо "снизу".

Автор - Peter
Дата добавления - 29 Ноября 2011 в 19:36
novichokДата: Чт, 01 Декабря 2011, 12:32 | Сообщение # 11
Приколист
Всем спасибо,попробую через лист
 
СообщениеВсем спасибо,попробую через лист

Автор - novichok
Дата добавления - 01 Декабря 2011 в 12:32
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » исключения повторения (разные карты)
  • Страница 1 из 1
  • 1
Поиск: