GM8 Логика генетики.
|
|
Cannabisquit | Дата: Вторник, 26 Января 2016, 20:29 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Допустим я создаю два объекта,один из них красный другой чёрный(их цвета допустим записаны в ген,не знаю как осуществить вот и спрашиваю),красный имеет доминантный ген,чёрный рецессивный,как сделать так,чтобы при клике создаётся скрещеный объект и в нём сохраняется информация о предках,тоесть смесь их генов,при повторном клике появившийся объект смешивает свои гены с случайным(красным или чёрным) и снова появляется мутант имеющий гены предков,так же от соотношения генов зависит цвет. Сам алгоритм я понимаю и могу описать,но как это сделать GM8 не понял.Прошу помочь мне написать скрипт
WorldSim3D,VB,blitz3d,JS.
Сообщение отредактировал Cannabisquit - Вторник, 26 Января 2016, 20:30 |
|
| |
Quad69 | Дата: Вторник, 26 Января 2016, 20:41 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| Я ничего не понял... Тебе надо что бы создавался объект с случайным цветом?
|
|
| |
StelSMaN_82 | Дата: Вторник, 26 Января 2016, 21:05 | Сообщение # 3 |
Master Of Game maker
Сейчас нет на сайте
| Ну смотри: В ребенке ты создаешь в Create какую-нибудь переменную, например, gen = -1. В родителях при нажатии на что-то ты пишешь: child = instance_create(x,y,o_child) child.gen = 1 (если доминантн.) или 0 (если рецессивный) или что-то вроде этого...
Помог - плюс в репу!
Сообщение отредактировал StelSMaN_82 - Вторник, 26 Января 2016, 21:06 |
|
| |
Cannabisquit | Дата: Вторник, 26 Января 2016, 21:09 | Сообщение # 4 |
был не раз
Сейчас нет на сайте
| Цитата StelSMaN_82 ( ) Ну смотри: В ребенке ты создаешь в Create какую-нибудь переменную, например, gen = -1. В родителях при нажатии на что-то ты пишешь: child = instance_create(x,y,o_child) child.gen = 1 (если доминантн.) или 0 (если рецессивный) или что-то вроде этого... Не сильно понял,но если допустим будет много разных видов(например зелёный,рыжий) то для каждого нужно будет создавать переменную и отдельно просчитывать?
WorldSim3D,VB,blitz3d,JS.
|
|
| |
StelSMaN_82 | Дата: Вторник, 26 Января 2016, 21:12 | Сообщение # 5 |
Master Of Game maker
Сейчас нет на сайте
| Ну... Ты можешь создать не переменную, а массив. Я не совсем понимаю, чего ты хочешь.
Помог - плюс в репу!
Сообщение отредактировал StelSMaN_82 - Вторник, 26 Января 2016, 21:12 |
|
| |
Cannabisquit | Дата: Вторник, 26 Января 2016, 21:23 | Сообщение # 6 |
был не раз
Сейчас нет на сайте
| Объясню так,есть 2 особи(рыжая(Д) чёрная(Р) белка),при их скрещивании мы получим особь с генами первой и второй,но при с доминантными признаки,но ежели дитё снова скрестят с чёрным(Р) то дитё сможет снова стать чёрным.Сложно как то,ладно подумаю сам как легче осуществить,если кто понял,что либо напишите)
WorldSim3D,VB,blitz3d,JS.
|
|
| |
|
Cannabisquit | Дата: Вторник, 26 Января 2016, 21:39 | Сообщение # 8 |
был не раз
Сейчас нет на сайте
| О списки,забыл о них,но логика всё равно ещё сложна)
WorldSim3D,VB,blitz3d,JS.
|
|
| |
BrightSpot | Дата: Четверг, 28 Января 2016, 21:06 | Сообщение # 9 |
заслуженный участник
Сейчас нет на сайте
| можешь попробовать так: в обьекте:
Код gen_r=10; gen_g=5; gen_b=0; if (gen_r>gen_g && gen_r>gen_b){ gen = "red"; } else if (gen_g>gen_b){ gen = "green"; } else{ gen = "blue" } дальше при скрещивании:
Код //_p1 - id 1-го родителя, _p2 - 2-го; _ch=instance_create(x,y,o_child) _ch.gen_r = (_p1.gen_r + _p2.gen_r)/2; _ch.gen_g = (_p1.gen_g + _p2.gen_g)/2; _ch.gen_b = (_p1.gen_b + _p2.gen_b)/2; по поводу доминантных характеристик можно проверку на уровень гена подогнать...
Более мощный компьютер глючит быстрее и точнее.
Сообщение отредактировал BrightSpot - Четверг, 28 Января 2016, 21:10 |
|
| |
|