Kommunauty
Connexion
Inscription

Amélioration bot


Kido94 Messages : 10

Bonjour !

Voilà je suis partie du code que Homer avait fait et je compte le modifier pour l'amélioré.

Voilà ce que j'ai déjà ajouté :

- Un niveau pour le bot qui permet de générer différente flotte en fonction de celui-ci. ( Fonctionnelle )

- La probabilité d'attaquer dépend du niveau du bot. ( Fonctionnelle )

- J'ai rajouter une mission au bot pour que lorsque une mission est lancer il y a 50% de chance que le bot envoi sa flotte stationner sur la planète 1 du bot ( Le bot regroupe sa flotte. ). ( non fonctionnelle )

Voilà ce que je voudrais ajouté :

Au niveau de la gestion des bots :

- Dans la partie admin, dans créateur, ajouter une page pour la création automatique du bot, l'admin n'aura besoin d'entrée uniquement le nom du bot et son niveau.

- Rajouter un code qui permet de récupérer l'id du bot et les différent ID de ces planète. Pour sa j'ai rajouter un champs de la table user, qui s'appel bot, si il est = 1 c'est un bot, si il est = 0 c'est un joueur. Ce champs est null par défaut. Il faudrait que lors de la création automatique du bot ce champs soit égale automatiquement égal à 1.

- Alléger le code en utilisant des boucles, je vois pas trop comment faire pour l'instant..

Au niveau de la construction :

- Rajouter la possibilité au bot de construire des bâtiments avec un pourcentage de chance ( comme pour la flotte ) en fonction de ce qu'il a débloquer. Que le bot ne lance pas la production d'un nouveau bâtiment si la construction précédemment lancer n'est pas fini. Que le bot ne puisse pas lancer le batiment si il n'a pas assez de ressource pour sa production. Et enfin que si le batiment est lancer son cout soit retirer des ressources présente sur la planète.

- Rajouter la possibilité au bot de construire une technologie avec un pourcentage de chance ( comme pour la flotte ) en fonction de ce qu'il a débloquer et a condition que le laboratoire soit à un niveau suffisant. Que le bot ne lance pas la production d'une nouvelle technologie si la technologie précédemment lancer n'est pas fini. Que le bot ne puisse pas lancer le technologie si il n'a pas assez de ressource pour sa production. Et enfin que si la technologie est lancer son cout soit retirer des ressources présente sur la planète.

- Rajouter la possibilité au bot de construire des défense avec un pourcentage de chance ( comme pour la flotte ) en fonction de ce qu'il a débloquer et a condition que le chantier spatial soit à un niveau suffisant. Que le bot ne puisse pas lancer de défense si il n'a pas assez de ressource pour sa production. Et enfin que si la défense est lancer son cout soit retirer des ressources présente sur la planète.

- Modifier le code qui génère la flotte pour que le joueur ne puisse construire que les vaisseau qui sont débloquer et a condition que le chantier spatial soit à un niveau suffisant. Que le bot ne puisse pas lancer de défense si il n'a pas assez de ressource pour sa production. Et enfin que si la défense est lancer son cout soit retirer des ressources présente sur la planète.

Au niveau des Missions ( chacune aura un pourcentage de chance de ce réaliser ) :

- Modifier l'attaque pour que la génération de la flotte ce fasse de manière indépendante ( dans le pourcentage de chance de construire de la flotte ) et que l'attaque récupère la flotte présente sur la planète.

- Ajouter une mission stationner/regrouper flotte qui récupère la flotte de la planète et l'envoie stationner sur la planète " mère " du bot.

- Ajouter une mission stationner/mise en vol de flotte qui récupère la flotte sur la planète et l'envoie stationner sur une des colonies à vitesse 50%.

- Ajouter une mission détruire lune si la flotte possède au moins 1 EDLM.

- Pour les missions attaquer et détruire ( uniquement pour certain niveau de bot ) simuler l'attaque et la lancer uniquement si c'est rentable.

- Ajouter une mission recycler, si la flotte à simuler et que l'attaque est lancer.

- Ajouter une mission coloniser qui est lancer uniquement si le nombre de planète maximum de planète n'est pas atteind.

Oui oui c'est très ambitieux, mais bon je suis pas présser, je compte bien me creuser le meninge mais j'aurais cependant besoin d'aide car je code pour le plaisir et donc je ne sais pas tout faire.

Voila j'attend vos piste / aide pour le différente partie, je sais pas vraiment par ou commencer au vue du travail qui m'attend..

Il faudrait que je commence par la page de génération de bot dans admin, et la gestion automatique des bot et de leur planète mais comme sa manipule la BDD et que c'est pas la que je suis le meilleur, j'aurai vraiment besoin de vous pour cette partie.

Je vais donc commencer parce qui suit en attendant de trouver quelqu'un pour m'aider pour ce que j'ai expliquer ci dessus.

J'aurai besoin de votre aide pour rajouter un code ( la ou j'ai mis ce commentaire : // Il faut un code ici pour récuperer la flotte sur la planète ) pour que l'on récupère la flotte présente sur la planète et qu'on y ajoute la flotte généré avant de lancer l'attaque.

Et dans le cas de la mission stationner ( lorsque le bot regroupe sa flotte ) la même chose que l'on récupère la flotte présente sur la planète.

Et c'est la que j'ai besoin de vous car je ne sais pas très bien manipuler la base de donnée...

Voila j'espere que je trouverai des personne pour m'aider sur ce projet et les en remercie d'avance.

Bonne journée

Cordialement Kido

jeudi 14 janvier 2016 (Dernière édition jeudi 14 janvier 2016)

Kido94 Messages : 10

Première partie du code :

Fichier : Class.template.php

Clique pour afficher le code
Fermer ce cadre


// -----------------------------------------------------------------------------------------------------------------------------------------------------------

// - Bot 1 : Stan

// -----------------------------------------------------------------------------------------------------------------------------------------------------------

if (TIMESTAMP >= ($CONF['stat_last_update'] + (60 * $CONF['stat_update_time'])))
{
$IdBot = 3; // ID du bot.
$Niveau_bot = 1;         // Niveau du bot.

$IdPlaneteBot1 = 7; // ID de la planete 1 du bot
$IdPlaneteBot2 = 13; // ID de la planete 2 du bot

if($Niveau_bot = 1) // Si le bot est de niveau 1
{
$Pourcent_mission = 25; // Pourcentage de chance de lancer une mission
}

elseif($Niveau_bot = 2) // Si le bot est de niveau 2
{
$Pourcent_mission = 20; // Pourcentage de chance de lancer une mission
}

elseif($Niveau_bot = 3) // Si le bot est de niveau 3
{
$Pourcent_mission = 15; // Pourcentage de chance de lancer une mission
}

elseif($Niveau_bot = 4) // Si le bot est de niveau 4
{
$Pourcent_mission = 10; // Pourcentage de chance de lancer une mission
}

elseif($Niveau_bot = 5) // Si le bot est de niveau 5
{
$Pourcent_mission = 5; // Pourcentage de chance de lancer une mission
}

elseif($Niveau_bot = 6) // Si le bot est de niveau 6
{
$Pourcent_mission = 2.5; // Pourcentage de chance de lancer une mission
}

//-----------------------------------------
// Planète du bot 1
//-----------------------------------------

$Chance = mt_rand(0,100);

if($Chance<$Pourcent_mission)
{
//Choix aléatoire de la mission
$Mission_bot = mt_rand(1,2);

jeudi 14 janvier 2016 (Dernière édition jeudi 14 janvier 2016)

Kido94 Messages : 10

Suite du code, mission attaquer :

Clique pour afficher le code
Fermer ce cadre


                                        if($Mission_bot = 1) // Attaquer
{

if ($Niveau_bot = 1) // Si le bot est de niveau 1
{
// Génération de la flotte d'attaque
$V204 = mt_rand(1,25);
$V205 = mt_rand(1,10);
//$V206 = mt_rand(1,25);
//$V207 = mt_rand(1,40);
//$V211 = mt_rand(1,30);
//$V213 = mt_rand(1,20);
//$V214 = mt_rand(1,10);
}

elseif ($Niveau_bot = 2) // Si le bot est de niveau 2
{
// Génération de la flotte d'attaque
$V204 = mt_rand(1,50);
$V205 = mt_rand(1,25);
$V206 = mt_rand(1,10);
//$V207 = mt_rand(1,40);
//$V211 = mt_rand(1,30);
//$V213 = mt_rand(1,20);
//$V214 = mt_rand(1,10);
}

elseif ($Niveau_bot = 3) // Si le bot est de niveau 3
{
// Génération de la flotte d'attaque
$V204 = mt_rand(1,100);
$V205 = mt_rand(1,50);
$V206 = mt_rand(1,25);
$V207 = mt_rand(1,10);
//$V211 = mt_rand(1,30);
//$V213 = mt_rand(1,20);
//$V214 = mt_rand(1,10);
}

elseif ($Niveau_bot = 4) // Si le bot est de niveau 4
{
// Génération de la flotte d'attaque
$V204 = mt_rand(1,250);
$V205 = mt_rand(1,100);
$V206 = mt_rand(1,50);
$V207 = mt_rand(1,25);
$V211 = mt_rand(1,10);
//$V213 = mt_rand(1,20);
//$V214 = mt_rand(1,10);
}

elseif ($Niveau_bot = 5) // Si le bot est de niveau 5
{
// Génération de la flotte d'attaque
$V204 = mt_rand(1,500);
$V205 = mt_rand(1,250);
$V206 = mt_rand(1,100);
$V207 = mt_rand(1,50);
$V211 = mt_rand(1,25);
$V213 = mt_rand(1,10);
//$V214 = mt_rand(1,15);
}

elseif ($Niveau_bot = 6) // Si le bot est de niveau 6
{
// Génération de la flotte d'attaque
$V204 = mt_rand(1,1000);
$V205 = mt_rand(1,500);
$V206 = mt_rand(1,250);
$V207 = mt_rand(1,100);
$V211 = mt_rand(1,50);
$V213 = mt_rand(1,25);
$V214 = mt_rand(1,5);
}

$FleetCount = $V204+$V205+$V206+$V207+$V211+$V213+$V214;
$FleetArray = "204,$V204;205,$V205;206,$V206;207,$V207;211,$V211;213,$V213;214,$V214;";

// Il faut un code ici pour récuperer la flotte sur la planète et l'ajouter à la flotte généré.

C'est ici que j'ai besoin d'aide :/

En gros le code qui manque doit aller chercher dans la bdd la flotte présente sur la planète et y ajouter la flotte générées.

jeudi 14 janvier 2016 (Dernière édition jeudi 14 janvier 2016)

Kido94 Messages : 10

Je sais que le multipost c'est pas bien mais c'était trop gros je pouvais pas poster tout d'un coup...

Je ne sais pas comment faire pour poster le reste du code, sa ne marche pas la, quand je met le reste du code  :

Soit sa créé une erreur sa m'ouvre une page blanche avec écrit : Erreur 406 et je peu pas poster le reste..

Soit sa charge dans le vide et rien ne ce passse ...

De plus, ce n'est pas tout a fait le code de Homer, j'avais apporter une modification pour que sa ne sélectionne pas une planète du bot.

Et la mission stationner.

Si vous pouvez m'aidez pour trouver une solution et que je puisse poster le code entier sa serait cool ..

jeudi 14 janvier 2016 (Dernière édition jeudi 14 janvier 2016)

Répondre Pour répondre, tu dois d'abord t'inscrire rapidement sur Kommunauty. Rejoins-nous vite !