Leek Wars
5 participants
Page 1 sur 1
Leek Wars
Salut à tous, j'ai récemment découvert Leek Wars, un jeu sur navigateur auquel vous faites combattre une IA que vous avez codé juste avant.
Le langage de programmation est extrêmement simple, les boucles / conditions sont les mêmes qu'en C, et les commandes ajoutées sont très explicite, de plus, une documentation en français est disponible.
Rien que le code de base qu'on a au début du jeu est facile à comprendre (en même temps il est commenté) :
On fait des combats pour monter en niveau, monter en niveau pour avoir accès à de nouvelles commandes, et de nouvelles armes et sorts (puces).
Voilà, si vous êtes intéressés pour créer des IAs, ce jeu peut vous plaire
Et aussi : on peut créer des équipes, si jamais une équipe "PTC" vous intéresse...
Le langage de programmation est extrêmement simple, les boucles / conditions sont les mêmes qu'en C, et les commandes ajoutées sont très explicite, de plus, une documentation en français est disponible.
Rien que le code de base qu'on a au début du jeu est facile à comprendre (en même temps il est commenté) :
On fait des combats pour monter en niveau, monter en niveau pour avoir accès à de nouvelles commandes, et de nouvelles armes et sorts (puces).
Voilà, si vous êtes intéressés pour créer des IAs, ce jeu peut vous plaire
Et aussi : on peut créer des équipes, si jamais une équipe "PTC" vous intéresse...
Re: Leek Wars
Punaise ça à 'air trop bien je vais essayer tout de suite en plus ça tombe bien je m'ennuyait un peu
Re: Leek Wars
de rien et j'ai un bug mon code marche pas (ps mon Nom Adriendu92 mon nom de poireau Poireaudu92)
- Code:
var leek = getNearestEnemy();
if (canUseWeapon(Nombre leek)) : Booléen canUse = true {
setWeapon(WEAPON_PISTOL);
}
var enemy = getNearestEnemy();
moveToward(enemy);
useWeapon(enemy);
Re: Leek Wars
- Code:
if (canUseWeapon(leek)) {
Dernière édition par RayTro le Ven 18 Juil - 13:25, édité 1 fois
Re: Leek Wars
le ": Booléen canUse" c'est ce que renvoie la fonction canUseWeapon
ça indique que ça renvoi un nombre booléen (soit 0 soit 1)
tu peux aussi faire
un petit joke : http://leekwars.com/fight/1050559
ça indique que ça renvoi un nombre booléen (soit 0 soit 1)
tu peux aussi faire
- Code:
var résultat = canUseWeapon(leek)
un petit joke : http://leekwars.com/fight/1050559
Re: Leek Wars
Bah c'est plutôt rapide en fait, quand tu as découvert que tu pouvais tiirer deux fois de suite tu gagnes plein de combats d'affilée ^^
L'IA inutile :
EDIT : http://leekwars.com/fight/1056731
mon IA de combat actuel à l'action
j'aime bien la phrase de fin
L'IA inutile :
- Code:
var enemy = getNearestEnemy();
var ENom = getName(enemy);
var arme = 0;
var dist1 = getCell();
var dist2 = getCell(enemy);
var dist = getCellDistance(dist1,dist2);
if (getWeapon() == -1) {
setWeapon(WEAPON_PISTOL);
say ("Bonne chance, " + ENom + " !");
arme = 1;
moveToward(enemy);
}
//--------------------------DISCUSS-----------------------------------
if (arme == 1) {
say ("Batterie à plat, mode veille prolongée activé.");
} else {
}
EDIT : http://leekwars.com/fight/1056731
mon IA de combat actuel à l'action
j'aime bien la phrase de fin
Re: Leek Wars
Moi qui suis plutôt long pour coder, pas sûr que j'ai le temps de m'y investir dessus, même si ça à l'air sympa.
Re: Leek Wars
Plutôt long pour coder ?
Faut aussi savoir que le pathfinding est préfabriqué, si tu veux créer le tiens par contre...
Faut aussi savoir que le pathfinding est préfabriqué, si tu veux créer le tiens par contre...
Re: Leek Wars
Quand je dis long, c'est au niveau réflexion de ce que je veux faire. (Déjà rien que pour écrire un message ici je peux y passer une demi heure )
Re: Leek Wars
Mayday
- Code:
var portee = 7;
var moi = getLeek();
var vie = getLife(moi);
var enemy = getNearestEnemy();
var Enom = getName(enemy);
var cell=getCell();
var Ecell=getCell(enemy);
var distance=getCellDistance(cell,Ecell);
if (getWeapon() == -1) {
setWeapon(WEAPON_PISTOL);
say ("Ca va barder !!");
}
if (distance > portée) {
var d2=distance-portée ;
moveToward(enemy,d2);
}
useWeapon(enemy);
useWeapon(enemy);
useChip(CHIP_PEBBLE,enemy);
var Evie = (getLife(enemy));
if (Evie== 0) {
say ("Bye Bye "+Enom+" !!");
}
if (distance < portee ) {
var d2 = portée-distance;
moveAwayFrom(enemy,d2);
}
Re: Leek Wars
Adrien : Oui à priori y'a rien de faux...
But, j'ai testé et j'ai finalement vu que à plusieurs reprises tu utilises "portée" avec un accent.
Donc déjà la variable n'existe pas, mais aussi je te déconseille d'utiliser des accents, ça a l'air mal géré sur ce site (cf un programme que j'avais nommé Première qui s'est transformé en codes HTML).
Par ailleurs tu as des parenthèses inutiles ligne 23.
Et je te recommande d'utiliser directement les tabulations plutôt que des espaces.
But, j'ai testé et j'ai finalement vu que à plusieurs reprises tu utilises "portée" avec un accent.
Donc déjà la variable n'existe pas, mais aussi je te déconseille d'utiliser des accents, ça a l'air mal géré sur ce site (cf un programme que j'avais nommé Première qui s'est transformé en codes HTML).
Par ailleurs tu as des parenthèses inutiles ligne 23.
Et je te recommande d'utiliser directement les tabulations plutôt que des espaces.
Re: Leek Wars
Ah mais d'accord en fait ce jeu est seulement une histoire de poireaux XD
J'ai commencé à modifier un peu l'IA mais comme tout débutant il y a son lot d'erreur de formulation :
//--------------------------------
//------- Code de base -----------
//--------------------------------
// On prend le pistolet
setWeapon(WEAPON_PISTOL); // Attention : coûte 1 PT
// On récupère l'ennemi le plus proche
var enemy = getNearestEnemy();
// On récupère le mouvement possible
var move = getAgility();
// On avance vers l'ennemi si possible
if (move > 3) {moveToward(enemy)} ;
// On essaye de lui tirer dessus
useWeapon(enemy);
useWeapon(enemy);
l'erreur est : une fin d'instruction était attendue ici. Pourtant j'ai les accolades fermées et le point virgule a la fin de la ligne
J'ai commencé à modifier un peu l'IA mais comme tout débutant il y a son lot d'erreur de formulation :
//--------------------------------
//------- Code de base -----------
//--------------------------------
// On prend le pistolet
setWeapon(WEAPON_PISTOL); // Attention : coûte 1 PT
// On récupère l'ennemi le plus proche
var enemy = getNearestEnemy();
// On récupère le mouvement possible
var move = getAgility();
// On avance vers l'ennemi si possible
if (move > 3) {moveToward(enemy)} ;
// On essaye de lui tirer dessus
useWeapon(enemy);
useWeapon(enemy);
l'erreur est : une fin d'instruction était attendue ici. Pourtant j'ai les accolades fermées et le point virgule a la fin de la ligne
Re: Leek Wars
thx (même si j'ai laissé tombé cet IA )
Au fait je suis pas mal intéressé par l'idée d'une team PTC
Au fait je suis pas mal intéressé par l'idée d'une team PTC
Re: Leek Wars
Autre erreur et là je ne comprends pas du tout...
// variables
var me = getLeek()
if (getWeapon() == -1) {
setWeapon(WEAPON_MACHINE_GUN);
say ("Go go poireaux rangers !");
}
// On récupère l'ennemi le plus proche
var enemy = getNearestEnemy();
// On avance vers l'ennemi
moveToward(enemy);
// On essaye de lui tirer dessus
if isOnSameLine(me,enemy) {useWeapon(enemy);
useWeapon(enemy);
}
useChip(CHIP_PEBBLE,enemy);
pareil... fin d'instruction attendue.
Blague : je voulais acheter le machine gun qui coute 3080 habs mais j'ai déjà fait mes 20 combats solo et j'ai 3079 habs T_T
// variables
var me = getLeek()
if (getWeapon() == -1) {
setWeapon(WEAPON_MACHINE_GUN);
say ("Go go poireaux rangers !");
}
// On récupère l'ennemi le plus proche
var enemy = getNearestEnemy();
// On avance vers l'ennemi
moveToward(enemy);
// On essaye de lui tirer dessus
if isOnSameLine(me,enemy) {useWeapon(enemy);
useWeapon(enemy);
}
useChip(CHIP_PEBBLE,enemy);
pareil... fin d'instruction attendue.
Blague : je voulais acheter le machine gun qui coute 3080 habs mais j'ai déjà fait mes 20 combats solo et j'ai 3079 habs T_T
Re: Leek Wars
Pour rejoindre la team => http://leekwars.com/team/1290
temporairement ouvert, en t'attendant.
var me = getLeek();
temporairement ouvert, en t'attendant.
var me = getLeek();
Re: Leek Wars
Oui rejoins la team ! Je pense faut attendre qu'on soit level 15 pour profiter des fonctions de team avant de débuter...
RayTro go chat !
RayTro go chat !
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum