Пятница, 19 Апреля 2024, 07:49

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » GM8 Логика генетики.
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.
FargostДата: Вторник, 26 Января 2016, 21:26 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Создавай списки и по мере поступления нового гена, добавляй его в список.

А для дочерней особи выбирай случайный элемент списка, вот и все


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
FargostДата: Четверг, 28 Января 2016, 21:29 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
Cannabisquit, а что там сложного. Все элементарно до безобразия!!

Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » GM8 Логика генетики.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг