CLS Membro
Sexo : Mensagens : 115
| Assunto: [Tutorial]I.A. do Inimigo(para jogos de plataforma). Sáb Dez 11, 2010 8:45 pm | |
| Autor: Thiago_o_programador Hoje vou ensinar a criar uma inteligência artificial simples. No CREATE, vamos criar algumas variáveis: - Código:
-
image_speed=0.3 parado=true correndo=false cor=0 pulando=false abaixando=false bloqueando=false hit=false per=0 morrendo=false perdendo=false atack1=false atack2=false no_chao=true direita=false vida=100 max_vida=vida alarm[0]=5+round(random(15)) No STEP, coloque: - Código:
-
if place_free(x,y+1) {gravity=0.5}else{gravity=0} if vspeed>12 {vspeed=12} if parado=true {sprite_index=spr_parado hspeed=0 correndo=false cor=0} if correndo=true {sprite_index=spr_correndo parado=false if hspeed>0 {direita=true}else{direita=false}} if pulando=true and atack1=false and atack2=false {sprite_index=spr_pulando if vspeed>0 {image_index=1}else{image_index=0}} if abaixando=true {sprite_index=spr_abaixado} if bloqueando=true {sprite_index=spr_bloqueando} if hit=true {sprite_index=spr_hit image_index=0} if per>4 {perdendo=true} if perdendo=true {sprite_index=spr_perdendo parado=false correndo=false} if morrendo=true {sprite_index=spr_morrendo image_index=3} if atack1=true {sprite_index=spr_atck1 parado=false correndo=false} if atack2=true {sprite_index=spr_atck2 parado=false correndo=false} if direita=true {image_xscale=1}else{image_xscale=-1} if distance_to_object(obj_block)<1 and vspeed>0 {move_contact_solid(direction,12) vspeed=0 pulando=false parado=true no_chao=true} if correndo=false and pulando=false {hspeed=0 cor=0} if cor=1 {hspeed=8}if cor=2 {hspeed=-8} if vida=0 or vida<0 {morrendo=true atack=0} No ALARM[0], coloque: - Código:
-
alarm[1]=10+round(random(20)) alarm[2]=13+round(random(23)) alarm[6]=25+round(random(35)) alarm[3]=17+round(random(27)) alarm[4]=30+round(random(45)) No ALARM[1], coloque: - Código:
-
if atack=0 and morrendo=false {parado=false correndo=true if obj_player_basico.no_chao=false {cor=1+round(random(2))} else{if obj_player_basico.x<x {hspeed=-10}else{hspeed=10}}} alarm[0]=5+round(random(15)) No ALARM[2], coloque: - Código:
-
if atack=0 and morrendo=false {parado=true correndo=false} alarm[0]=5+round(random(15))
No ALARM[3], coloque: - Código:
-
if atack=0 and hit=false and morrendo=false and parado=true {atack1=true parado=false correndo=false} alarm[0]=5+round(random(15)) No ALARM[4], coloque: - Código:
-
if atack=0 and hit=false and morrendo=false and parado=true {atack2=true parado=false correndo=false} alarm[0]=5+round(random(15)) No ALARM[5], coloque: - Código:
-
hit=false alarm[0]=5+round(random(15)) No OUTSIDE ROOM, coloque: - Código:
-
if hspeed=10 {hspeed=-10}if hspeed=-10 {hspeed=10} if cor=1 {cor=2}if cor=2 {cor=1} No ANIMATION END, coloque: - Código:
-
atack=0 if atack1=true {instance_create(x,y,obj_atack1_ini) atack1=false parado=true} if atack2=true {instance_create(x,y,obj_atack2_ini) atack2=false parado=true} if perdendo=true {per=0 perdendo=false parado=true} | |
|