Sujet n°12909
Posté par TouzaxA le 8 Juil - 13:42 (2013)
Titre : Trainer IA
Bonjour,
Je n'ai pas de problème technique à proprement parler, mais je le suis toujours posé la question par rapport au script gérant l'intelligence artificielle lors des combats.
Est-ce que quelqu'un pourrait avoir la gentillesse de m'expliquer la présence de codes divers et leur utilité ?
Merci beaucoup.

Posté par Zohran le 8 Juil - 13:45 (2013)
Oulà, là, je n'ai pas le niveau pour t'expliquer le fonctionnement, c'est trop complexe pour moi, je ne peux malheureusement pas t'aider à ce sujet, je n'oserais même pas essayer de toucher à ce script lol...Je vais demander à Yuri si elle peut te répondre Clin d'œil foireux

Posté par TouzaxA le 8 Juil - 13:47 (2013)
C'est par curiosité et j'aimerais faire quelques ajustements. ^^

Posté par Zohran le 8 Juil - 13:47 (2013)
Oui, ne t'inquiète pas, j'ai MP Yuri, il n'y a plus qu'à attendre qu'elle se connecte ! Soumission

Posté par TouzaxA le 8 Juil - 13:48 (2013)
Je ne m'inquiétais pas. ^^"

Posté par Nuri Yuri le 8 Juil - 14:37 (2013)
Le trainner IA est une coquille vide... Le script regarde juste les effets d'une attaque puis augment ou diminue les taux de lancer celle-ci en fonction des informations des deux pokémons sur le terrain. Si ce taux est supérieur aux trois autres et surtout à 200 alors l'attaque ayant ce taux sera lancée.
Pour résumer c'est un gros Case When When...

Posté par Zohran le 8 Juil - 14:46 (2013)
...D'accord, je comprend mieux moi aussi, et dis moi, comment je peux apprendre à utiliser ce language:
when 0x1D

(je profite du topique pour me parfaire Imbécile heureux )

Autre chose, est-ce dans ce script par exemple que l'on pourrait définir une condition pour que le dresseur échange son pokémon envoyé avec un autre?

Posté par Pαlвσlѕку le 8 Juil - 14:56 (2013)
0x1D c'est de l'hexadécimal.

Pour convertir en décimal, soit tu sais le faire toi-même et dans ce cas ta tête suffit. Imbécile heureux
Ou alors, la calculatrice Windows le fait très bien en mode programmation.

0x1D = 29 en décimal. Imbécile heureux

Posté par Zohran le 8 Juil - 15:12 (2013)
D'accord merci. Si j'avais envie de le faire avec ma tête, où puis-je apprendre ça? Clin d'œil foireux

Posté par TouzaxA le 8 Juil - 15:32 (2013)
C'est simple, tout est ici: http://fr.wikipedia.org/wiki/Système_hexadécimal
Sinon, pourquoi utiliser l'hexadecimal ?

Posté par Girakoth le 8 Juil - 15:57 (2013)

Édit SSA : Chut faut conserver le secret NINJA POWA !

Posté par TouzaxA le 8 Juil - 15:59 (2013)
J'avais même pas vu. XD
A la vanne ! C'est screenné !!!!

Posté par Nuri Yuri le 8 Juil - 17:45 (2013)
Pour faire des flags mais Krosk s'en sert comme des identifiants donc en effet c'est pas très utile dans ce cas mais voici un cas où c'est utile :
Code:
char* rby_string_value_ptr(RString* str)
{
   if(((int)str&0xe)==0xe || ((int)str&0x1) || !str || (int)str==2 || (int)str==4 || (int)str==6)
   {
      rb_notimplement();
   }
   return str->as.heap.ptr;
}

Posté par TouzaxA le 8 Juil - 18:00 (2013)
Je sais ce que sont les flags, mais j'ai quelques questions:
- Qu'est-ce que RString ?
- A quoi sert la condition ?
- Qu'est-ce que ça retourne ?

Posté par Nuri Yuri le 8 Juil - 18:08 (2013)
C'est du C++ là x)
RString c'est un String Ruby tel qu'il est en mémoire, la condition sert à vérifier si l'objet en question est ni un symbol, ni un fixnum, ni false, ni true, ni nil, ni undef.

Posté par TouzaxA le 8 Juil - 18:21 (2013)
Yuri a écrit:
C'est du C++ là x)
RString c'est un String Ruby tel qu'il est en mémoire, la condition sert à vérifier si l'objet en question est ni un symbol, ni un fixnum, ni false, ni true, ni nil, ni undef.

Non, sans blagues ? XD
Tiens, t'avais envie de mettre des accolades, un type char, etc...

Bien sur que j'avais vu que c'était du C++.

Étant donné que je n'ai jamais utilisé ce genre de fonctions en C++ (bien que j'ai plus ou moins la théorie), c'était un peu flou tout de même.
Après, ces valeurs, je ne les connais pas. C'est du trop bas niveau. (Je suis sur que m'initier un peu à l'assembleur ne me ferait pas de mal)

Bon, et bien merci beaucoup pour ton aide, et ta leçon de programmation. Par contre, j'avais une question, tu as fait une école, ou tu es autodidacte ?

Posté par Nuri Yuri le 8 Juil - 18:30 (2013)
C'est des valeurs du ruby, seul ruby comprend que 2 c'est true et 4 nil x) (Sauf ceux qui s'intéresse à ça bien entendu :b)
Sinon, je suis autodidacte.

Posté par TouzaxA le 8 Juil - 18:35 (2013)
OK.
C'est vrai que Ruby est loin d'être mon langage de prédilection. ^^
Et tu as des sites particuliers où tu apprends ça, ou c'est en fouillant dans les sources de programmes ou de bibliothèques.

Posté par Nuri Yuri le 8 Juil - 18:44 (2013)
Aucuns sites, j'apprends en touchant à la chose. Il y a un site qui contenais des choses vraiment intéressantes mais il est en japonais donc pour ceux qui ne comprennent déjà pas le ruby ça va être dur de comprendre le reste x)
http://www.rubylife.jp/ini/
J'y ai vu certaines subtilité avec les modules dessus il me semble.

Posté par TouzaxA le 8 Juil - 19:15 (2013)
C'est sans doute très bien, mais c'est pas totalement de l'Hiragana. Sinon, il aurait fallu que je m'y mette un peu plus, et ça aurait été une bonne raison pour me mettre sérieusement au japonais.
On verra lorsque je serais moins flemmard. XD

Posté par Ezio le 8 Juil - 19:43 (2013)
TouzaxA a écrit:
OK.
C'est vrai que Ruby est loin d'être mon langage de prédilection. ^^
Et tu as des sites particuliers où tu apprends ça, ou c'est en fouillant dans les sources de programmes ou de bibliothèques.


Au pire il reste le bon vieux site du zero mais je suppose que tu as déjà regardé^^

Posté par TouzaxA le 8 Juil - 19:46 (2013)
Ouaip.
J'y ait un compte, et pas mal de messages à mon actif (pas loin de 800 XD), mais je n'aime pas la nouvelle direction du site, les admins sont devenus pour certains de vrais pourris, et ne parlons même pas de M. Nebra.
Alors, c'est une bonne idée au départ, mais à part certaines personnes sympas dans le staff, c'est zero. De toute façon, tout a basculé dès le départ de Calizero. Pleurnicheur

Posté par raph59790 le 19 Juil - 00:33 (2013)
Il y a n'y a pas moyen de contrôler l'IA via les commandes d'événements. Parce que j'aimerai que certains pokémon quand ils arrivent en jeu, utilise une attaque précise. Merci de votre aide car je suis une sous-quiche en programmation.

Posté par TouzaxA le 20 Juil - 20:19 (2013)
Se sont des bases de RMXP, ça.

Posté par Pαlвσlѕку le 21 Juil - 00:30 (2013)
Je crois surtout que c'est dans le manuel. Imbécile heureux