De Scratch Wiki en français


Créer une Intelligence Artificielle


Introduction

Les IA (Intelligence Artificielle) sont des programmes conçus pour simuler des êtres vivants, des robots, d’autres faux joueurs...

Les IA sont également interactives, par exemple, elles peuvent suivre le joueur, lui tirer dessus dans un jeu de tir, s'enfuir lors d'un combat...

Création d'une IA avec des déplacements aléatoire

Une IA de base peut simplement être un sprite qui se déplace de manière aléatoire, sans tenir compte du joueur ou des autres IA.

Pour cela, on va d'abord calculer l'endroit ou l'IA devra se rendre :

(nombre aléatoire entre (240) et (-240)) // coordonnée x
(nombre aléatoire entre (180) et (-180)) // coordonnée y

Il faut ensuite dire à l'IA d'y aller :

… // Attention, ceci n'est pas un vrai bloc.
glisser en (1) secondes à x:(nombre aléatoire entre (240) et (-240)) y:(nombre aléatoire entre (180) et (-180))
… // Là non plus.

Il ne reste plus qu'à boucler la boucle avec un répéter indéfiniment :

… //script avant
répéter indéfiniment
  glisser en (1) secondes à x:(nombre aléatoire entre (240) et (-240)) y:(nombre aléatoire entre (180) et (-180))

Ce système reste néanmoins perfectible, par exemple en lissant les changements d'angle...

Une IA qui suit le joueur

Une IA peut avoir pour but de suivre un sprite qui incarne le "joueur". Pour que cette IA suive le sprite, on pourrait utiliser ce script :

répéter indéfiniment
aller à (joueur v)
end

Mais si vous essayez... vous verrez que ce n'est sans doute pas ce que vous voulez. Il existe une autre méthode, plus complexe peut-être, elle permet, elle aussi, d'avoir une IA derrière le joueur :

répéter indéfiniment
s'orienter vers (joueur v) // et non "aller à"
avancer de (5) pas
si <(distance de (joueur v)) < (100)> alors // si l'IA est trop proche du joueur, elle recule
avancer de (-5) pas
end
end
Cet article fait partie de la catégorie des tutos
Tous les articles de cette catégorie :
Les cookies nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation des cookies.