Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
RetroX инвентарь бонусов
kop9000Дата: Ср, 23 Ноября 2016, 18:25 | Сообщение # 1
Ветеран форума
Вообщем вот что мне надо.

Хочу сделать инвентарь бонусов м изображениями. тоесть в этом инвентаре будет по разным боксам различные бонусы. Появятся они будут в случайном боксе. если этот бокс будет содержать другой бонус то он будет размещён где-то в другом месте. если этот бокс будет содержать тот же бонус то он будет прибавлен количеству этому ещё одному бонус тоесть 1+1. При нажатия на этот бокс бонусом он будет делать команду принадлежащию этому бонусу каким образом можно это сделать

Я вроде что-то сделал но он что-то не хочет прибавлять к существующему бонусу ещё один такой же

Delay "2000"

Random "5" "[bs]"

генерирую случайное изображение (случайный бонус)

While "[bs]" "=" "0"
Random "5" "[bs]"
EndWhile

Random "12" "[bs2]"

Генерирую бокс куда будет этот бонус вставлен

While "[bs2]" "=" "0"
Random "12" "[bs2]"
EndWhile

If "[ins[bs]]" "=" "[st]"
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"
EndIf

Эта команда используется позже когда [ins[bs] будет известна

If "[ins[bs]]" "<>" "[st]"
While "[inv[bs2]]" "<>" ""
Random "12" "[bs2]"
While "[bs2]" "=" "0"
Random "12" "[bs2]"
EndWhile
EndWhile
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"
SetVar "[inv[bs2]]" "[ins[bs]]"
SetVar "[st]" "[ins[bs2]]"
EndIf
EndIf

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

Код
If "[ins[bs]]" "=" "[st]"
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"
EndIf
Прикрепления: inv.zip (209.1 Kb)


Сообщение отредактировано
kop9000 - Ср, 23 Ноября 2016, 18:28
 
СообщениеВообщем вот что мне надо.

Хочу сделать инвентарь бонусов м изображениями. тоесть в этом инвентаре будет по разным боксам различные бонусы. Появятся они будут в случайном боксе. если этот бокс будет содержать другой бонус то он будет размещён где-то в другом месте. если этот бокс будет содержать тот же бонус то он будет прибавлен количеству этому ещё одному бонус тоесть 1+1. При нажатия на этот бокс бонусом он будет делать команду принадлежащию этому бонусу каким образом можно это сделать

Я вроде что-то сделал но он что-то не хочет прибавлять к существующему бонусу ещё один такой же

Delay "2000"

Random "5" "[bs]"

генерирую случайное изображение (случайный бонус)

While "[bs]" "=" "0"
Random "5" "[bs]"
EndWhile

Random "12" "[bs2]"

Генерирую бокс куда будет этот бонус вставлен

While "[bs2]" "=" "0"
Random "12" "[bs2]"
EndWhile

If "[ins[bs]]" "=" "[st]"
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"
EndIf

Эта команда используется позже когда [ins[bs] будет известна

If "[ins[bs]]" "<>" "[st]"
While "[inv[bs2]]" "<>" ""
Random "12" "[bs2]"
While "[bs2]" "=" "0"
Random "12" "[bs2]"
EndWhile
EndWhile
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"
SetVar "[inv[bs2]]" "[ins[bs]]"
SetVar "[st]" "[ins[bs2]]"
EndIf
EndIf

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

Код
If "[ins[bs]]" "=" "[st]"
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"
EndIf

Автор - kop9000
Дата добавления - 23 Ноября 2016 в 18:25
kop9000Дата: Ср, 23 Ноября 2016, 19:20 | Сообщение # 2
Ветеран форума
Вроде как и получилось. У меня бывает что мозг перестаёт работать без причины. и логика тоже. просто иногда что-то мешает. Уж простите меня.

вот работающий код

Код
Delay "2000"

Random "5" "[bs]"

While "[bs]" "=" "0"
Random "5" "[bs]"
EndWhile

Random "12" "[bs2]"

While "[bs2]" "=" "0"
Random "12" "[bs2]"
EndWhile

If "[inv[bs2]]" "=" ""
While "[inv[bs2]]" "<>" ""
Random "12" "[bs2]"
While "[bs2]" "=" "0"
Random "12" "[bs2]"
EndWhile
EndWhile
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"
SetVar "[inv[bs2]]" "[ins[bs]]"
else
If "[ins[bs2]]" "=" "[st]"
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"
else
While "[ins[bs2]]" "=" "[st]"
Random "12" "[bs2]"
EndWhile
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"
EndIf

SetVar "[st]" "[ins[bs2]]"


Может кто знает вариант получше?
Прикрепления: 5618837.zip (209.3 Kb)


Сообщение отредактировано
kop9000 - Ср, 23 Ноября 2016, 19:21
 
СообщениеВроде как и получилось. У меня бывает что мозг перестаёт работать без причины. и логика тоже. просто иногда что-то мешает. Уж простите меня.

вот работающий код

Код
Delay "2000"

Random "5" "[bs]"

While "[bs]" "=" "0"
Random "5" "[bs]"
EndWhile

Random "12" "[bs2]"

While "[bs2]" "=" "0"
Random "12" "[bs2]"
EndWhile

If "[inv[bs2]]" "=" ""
While "[inv[bs2]]" "<>" ""
Random "12" "[bs2]"
While "[bs2]" "=" "0"
Random "12" "[bs2]"
EndWhile
EndWhile
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"
SetVar "[inv[bs2]]" "[ins[bs]]"
else
If "[ins[bs2]]" "=" "[st]"
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"
else
While "[ins[bs2]]" "=" "[st]"
Random "12" "[bs2]"
EndWhile
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"
EndIf

SetVar "[st]" "[ins[bs2]]"


Может кто знает вариант получше?

Автор - kop9000
Дата добавления - 23 Ноября 2016 в 19:20
kop9000Дата: Чт, 24 Ноября 2016, 15:57 | Сообщение # 3
Ветеран форума
Вот ещё есть вариант

Код
Delay "2000"

Random "5" "[bs]"

While "[bs]" "=" "0"
Random "5" "[bs]"
EndWhile

:inv_start

Random "12" "[bs2]"

While "[bs2]" "=" "0"
Random "12" "[bs2]"
EndWhile

SetVar "[st1]" "[ins[bs]]"
SetVar "[st2]" "[bs2]"

If "[inv[bs2]]" "=" ""
SetVar "[inv[bs2]]" "[ins[bs]]"
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"
else
If "[inv[bs2]]" "=" "[st1]"
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"
else
GotoLine ":inv_start"
EndIf
EndIf
Прикрепления: 4500800.zip (241.8 Kb)


Сообщение отредактировано
kop9000 - Чт, 24 Ноября 2016, 16:00
 
СообщениеВот ещё есть вариант

Код
Delay "2000"

Random "5" "[bs]"

While "[bs]" "=" "0"
Random "5" "[bs]"
EndWhile

:inv_start

Random "12" "[bs2]"

While "[bs2]" "=" "0"
Random "12" "[bs2]"
EndWhile

SetVar "[st1]" "[ins[bs]]"
SetVar "[st2]" "[bs2]"

If "[inv[bs2]]" "=" ""
SetVar "[inv[bs2]]" "[ins[bs]]"
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"
else
If "[inv[bs2]]" "=" "[st1]"
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"
else
GotoLine ":inv_start"
EndIf
EndIf

Автор - kop9000
Дата добавления - 24 Ноября 2016 в 15:57
PeterДата: Чт, 24 Ноября 2016, 19:37 | Сообщение # 4
Админ NeoBook
Цитата kop9000 ()
Вроде как и получилось.

Ну, вот и славно!
:)
kop9000, я частенько не могу понять что именно тебе нужно?
Ты говоришь, к примеру, "Оптимизируйте мне код".
Каждый код "оптимизируется" исходя из условий конкретной задачи, которую нужно четко представлять.
Да, есть общие правила построения "разумного" кода, но они не являются догмой.
В твоем коде есть косяки, но ведь работает же!
:)
Ты сам научишься оптимизировать код, когда станешь думать над каждой строчкой.
Вот например, это:
Цитата kop9000 ()
If "[inv[bs2]]" "=" ""
While "[inv[bs2]]" "<>" ""
Random "12" "[bs2]"
While "[bs2]" "=" "0"
Random "12" "[bs2]"
EndWhile
EndWhile

никогда не будет работать.

Попробуй сам разобраться почему?
;)


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата kop9000 ()
Вроде как и получилось.

Ну, вот и славно!
:)
kop9000, я частенько не могу понять что именно тебе нужно?
Ты говоришь, к примеру, "Оптимизируйте мне код".
Каждый код "оптимизируется" исходя из условий конкретной задачи, которую нужно четко представлять.
Да, есть общие правила построения "разумного" кода, но они не являются догмой.
В твоем коде есть косяки, но ведь работает же!
:)
Ты сам научишься оптимизировать код, когда станешь думать над каждой строчкой.
Вот например, это:
Цитата kop9000 ()
If "[inv[bs2]]" "=" ""
While "[inv[bs2]]" "<>" ""
Random "12" "[bs2]"
While "[bs2]" "=" "0"
Random "12" "[bs2]"
EndWhile
EndWhile

никогда не будет работать.

Попробуй сам разобраться почему?
;)

Автор - Peter
Дата добавления - 24 Ноября 2016 в 19:37
kop9000Дата: Чт, 24 Ноября 2016, 20:09 | Сообщение # 5
Ветеран форума
Цитата Peter ()
Попробуй сам разобраться почему?


потому что в конце кода нету конца условия if если ты просто проверяешь мои знания

стоп

я понял о чём ты. ну давай разберёмся

If "[inv[bs2]]" "=" ""

начала условия если ячейка пустав

While "[inv[bs2]]" "<>" ""
Random "12" "[bs2]"
While "[bs2]" "=" "0"
Random "12" "[bs2]"
EndWhile
EndWhile


А ну это понятно. это просто я не удали. оно проверяет ячейку если не пуста он будет заново генерировать другую ячейку но так как у меня условие стоит уже а именно If "[inv[bs2]]" "=" "" то этот код не нужен


Сообщение отредактировано
kop9000 - Чт, 24 Ноября 2016, 20:16
 
Сообщение
Цитата Peter ()
Попробуй сам разобраться почему?


потому что в конце кода нету конца условия if если ты просто проверяешь мои знания

стоп

я понял о чём ты. ну давай разберёмся

If "[inv[bs2]]" "=" ""

начала условия если ячейка пустав

While "[inv[bs2]]" "<>" ""
Random "12" "[bs2]"
While "[bs2]" "=" "0"
Random "12" "[bs2]"
EndWhile
EndWhile


А ну это понятно. это просто я не удали. оно проверяет ячейку если не пуста он будет заново генерировать другую ячейку но так как у меня условие стоит уже а именно If "[inv[bs2]]" "=" "" то этот код не нужен

Автор - kop9000
Дата добавления - 24 Ноября 2016 в 20:09
PeterДата: Пт, 25 Ноября 2016, 00:11 | Сообщение # 6
Админ NeoBook
Цитата kop9000 ()
это просто я не удали

Вот от таких "не удалил" (забыл и т.п.) и идут непонятки.
:)
Потому я и говорю, что надо понимать КАЖДУЮ строку кода, иначе будет "казнить нельзя помиловать".

В принципе, ведь сам же можешь уже разобраться "что-к-чему" - надо просто быть внимательнее.
К тому же, эта "внимательность" может сэкономить кучу времени, потраченного на вопросы на форумах.
Но, почему-то всегда нужно "дать пинка"
:)

Ну, и в качестве "домашнего задания" проанализируй "на оптимизацию" свой последний код (в сообщении 3).
;)


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата kop9000 ()
это просто я не удали

Вот от таких "не удалил" (забыл и т.п.) и идут непонятки.
:)
Потому я и говорю, что надо понимать КАЖДУЮ строку кода, иначе будет "казнить нельзя помиловать".

В принципе, ведь сам же можешь уже разобраться "что-к-чему" - надо просто быть внимательнее.
К тому же, эта "внимательность" может сэкономить кучу времени, потраченного на вопросы на форумах.
Но, почему-то всегда нужно "дать пинка"
:)

Ну, и в качестве "домашнего задания" проанализируй "на оптимизацию" свой последний код (в сообщении 3).
;)

Автор - Peter
Дата добавления - 25 Ноября 2016 в 00:11
kop9000Дата: Пт, 25 Ноября 2016, 00:19 | Сообщение # 7
Ветеран форума
Delay "2000"

это надо чтобы было не сразу

Random "5" "[bs]"

While "[bs]" "=" "0"
Random "5" "[bs]"
EndWhile


генерация случайного бонуса

:inv_start

используется позже

Random "12" "[bs2]"

While "[bs2]" "=" "0"
Random "12" "[bs2]"
EndWhile


генерация ячейки

SetVar "[st1]" "[ins[bs]]"
SetVar "[st2]" "[bs2]"


сохранения данных ячейки и бонуса в отдельные переменные для дальнйшего сравнения

If "[inv[bs2]]" "=" ""
SetVar "[inv[bs2]]" "[ins[bs]]"
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"


условия если ячейка пуста в противном случае

else
If "[inv[bs2]]" "=" "[st1]"
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"


если ячейка с бонусом равняется тем же то просто прибавляется количество штук бонуса в противном случае

else
GotoLine ":inv_start"
EndIf
EndIf


всё начинается заново
 
СообщениеDelay "2000"

это надо чтобы было не сразу

Random "5" "[bs]"

While "[bs]" "=" "0"
Random "5" "[bs]"
EndWhile


генерация случайного бонуса

:inv_start

используется позже

Random "12" "[bs2]"

While "[bs2]" "=" "0"
Random "12" "[bs2]"
EndWhile


генерация ячейки

SetVar "[st1]" "[ins[bs]]"
SetVar "[st2]" "[bs2]"


сохранения данных ячейки и бонуса в отдельные переменные для дальнйшего сравнения

If "[inv[bs2]]" "=" ""
SetVar "[inv[bs2]]" "[ins[bs]]"
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"


условия если ячейка пуста в противном случае

else
If "[inv[bs2]]" "=" "[st1]"
Math "[nt[bs2]]+1" "0" "[nt[bs2]]"


если ячейка с бонусом равняется тем же то просто прибавляется количество штук бонуса в противном случае

else
GotoLine ":inv_start"
EndIf
EndIf


всё начинается заново

Автор - kop9000
Дата добавления - 25 Ноября 2016 в 00:19
PeterДата: Пт, 25 Ноября 2016, 01:47 | Сообщение # 8
Админ NeoBook

Цитата kop9000 ()
Random "5" "[bs]"

While "[bs]" "=" "0"
Random "5" "[bs]"
EndWhile

Проще так:
Код
Random "4" "[bs]"
Math "[bs] +1" "0" "[bs]"

Но, если ты так сильно полюбил циклы, то дело твое.

Цитата kop9000 ()
SetVar "[st1]" "[ins[bs]]"
SetVar "[st2]" "[bs2]"

сохранения данных ячейки и бонуса в отдельные переменные для дальнйшего сравнения

Для какого такого "дальнейшего сравнения"?


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение

Цитата kop9000 ()
Random "5" "[bs]"

While "[bs]" "=" "0"
Random "5" "[bs]"
EndWhile

Проще так:
Код
Random "4" "[bs]"
Math "[bs] +1" "0" "[bs]"

Но, если ты так сильно полюбил циклы, то дело твое.

Цитата kop9000 ()
SetVar "[st1]" "[ins[bs]]"
SetVar "[st2]" "[bs2]"

сохранения данных ячейки и бонуса в отдельные переменные для дальнйшего сравнения

Для какого такого "дальнейшего сравнения"?

Автор - Peter
Дата добавления - 25 Ноября 2016 в 01:47
kop9000Дата: Пт, 25 Ноября 2016, 02:14 | Сообщение # 9
Ветеран форума
Цитата Peter ()
Для какого такого "дальнейшего сравнения"?


SetVar "[st1]" "[ins[bs]]"

немного не правильно. правильно вот так

SetVar "[st1]" "[inv[bs]]"

а вот

SetVar "[st2]" "[bs2]"

надо убрать.

SetVar "[st1]" "[inv[bs]]" нужна для того чтобы когда он генирует в следующий раз [bs] то он сравнивает с предыдущей генерации. и если они одинаковы то просто количество этого бонуса прибавляется
 
Сообщение
Цитата Peter ()
Для какого такого "дальнейшего сравнения"?


SetVar "[st1]" "[ins[bs]]"

немного не правильно. правильно вот так

SetVar "[st1]" "[inv[bs]]"

а вот

SetVar "[st2]" "[bs2]"

надо убрать.

SetVar "[st1]" "[inv[bs]]" нужна для того чтобы когда он генирует в следующий раз [bs] то он сравнивает с предыдущей генерации. и если они одинаковы то просто количество этого бонуса прибавляется

Автор - kop9000
Дата добавления - 25 Ноября 2016 в 02:14
PeterДата: Пт, 25 Ноября 2016, 17:21 | Сообщение # 10
Админ NeoBook
Цитата kop9000 ()
немного не правильно

:)
Человек может так сказать, а компутер (точнее - программа)- нет, т.к. у него только либо- правильно, либо - неправильно, и третьего не дано

Цитата kop9000 ()
надо убрать.

Уже прогресс.
:)

Цитата Peter ()
надо просто быть внимательнее.
К тому же, эта "внимательность" может сэкономить кучу времени, потраченного на вопросы на форумах.

И не забывать про отладчик!
;)


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата kop9000 ()
немного не правильно

:)
Человек может так сказать, а компутер (точнее - программа)- нет, т.к. у него только либо- правильно, либо - неправильно, и третьего не дано

Цитата kop9000 ()
надо убрать.

Уже прогресс.
:)

Цитата Peter ()
надо просто быть внимательнее.
К тому же, эта "внимательность" может сэкономить кучу времени, потраченного на вопросы на форумах.

И не забывать про отладчик!
;)

Автор - Peter
Дата добавления - 25 Ноября 2016 в 17:21
kop9000Дата: Пт, 25 Ноября 2016, 17:37 | Сообщение # 11
Ветеран форума
Цитата Peter ()
И не забывать про отладчик!


ну это понятно. но он сильно не помогает. только помогает категория переменные в отладчике


Сообщение отредактировано
kop9000 - Пт, 25 Ноября 2016, 17:41
 
Сообщение
Цитата Peter ()
И не забывать про отладчик!


ну это понятно. но он сильно не помогает. только помогает категория переменные в отладчике

Автор - kop9000
Дата добавления - 25 Ноября 2016 в 17:37
  • Страница 1 из 1
  • 1
Поиск: