Bonjour a tous,
Dans ce tuto (qui rejoint un peu celui de l'avant programmation de xangelx) je vais essayer de vous faire comprendre le plus simplement possible l'algorithmique.
I] Tout d'abord c'est quoi "algorithmique" ?
L'algorithmique c'est l'essence de la programmation, elle est accessible a tous mais faire un bon algorithme est très difficile et peut parfois (et même très souvent) faire appel a des connaissances mathématique plus ou moins avancées. Toutefois la compétence nécessaire pour faire un algorithme est la logique.
Un algorithme bien fait représente 75% du travail d'un programmateur, il ne lui reste ensuite plus qu'a coder (le code c'est quasiment uniquement un travail de mémoire pour se souvenir des fonctions et tout)
:!: Plus généralement, un algorithme, c'est le fait de décortiquer une action en plusieurs étapes.
II] Faire un algorithme de manière générale :
Pour moi faire un l'algorithmique se décompose en deux parties distinctes :
(pour vous expliquer je vais prendre l'exemple d'une balle a laquelle on veut appliquer un mouvement)
1- Le cahier des charges
2- L'algorithme pur
1- Le cahier des charges :
C'est le plus simple, dans le cahier des charge on décrit de manière la plus synthétique possible, ce qu'on veut faire.
En l'occurrence dans le cas de ma balle : Je veux que ma balle se déplace de 5cm.
Voila j'ai fait le cahier des charges. En général ça ne prends que quelques lignes ^^.
2- L'algorithme pur :
On va décrire une par une les choses a faire pour que la tache que l'on veut réaliser se réalise sans problèmes.
Pour cela on fait une liste dans l'ordre des action a réaliser, puis on expose les problèmes posés puis on y réponds :
Je veux que ma balle se déplace donc je la pousse.
:?: Mais comment être sur quelle se déplace de 5 cm a chaque fois ?
:idea: Je peux, par exemple poser une cale a 5cm du point de départ de la balle.
Bon la c'est super simpliste mais ça permet de comprendre un peu le fonctionnement, du moins je pense.
III] L'algorithme appliqué a la programmation :
Appliqué a la programmation, faire un algorithme est "nettement" plus simple. Car il y a beaucoup moins de paramètres a prendre en compte (par exemple dans le cas de la "balle du II" la cale ne résout le problème que pour une direction, si je pousse la balle en arrière il n'y a plus de cale, de plus pour parcourir 5 cm il faut quelle suive une ligne droite de 5 cm si elle fait des zig-zag jusqu'à la cale elle peut faire un kilomètre avant de la toucher xD)
Bon pour expliquer rien de mieux qu'un exemple alors je vais faire l'algorithme d'un bot de récolte simple(pour do-fus bien-sur)
1- Cahier des charges :
Le bot doit pouvoir s'adapter a toutes les ressources, il doit gérer les reconnections et les montées de niveaux.
2- L'algorithme :
- Tout d'abord, on demande a l'utilisateur d'enregistrer son nom de compte et son mot de passe.
- Ensuite, le bot demande a l'utilisateur de saisir un pixel (celui de la ressource désirée).
- Pixelsearch sur le pixel choisi, un clic, et un autre 10 pixels plus bas pour choisir faucher.
:?: Comment gérer la montée de niveau ?
:idea: On pourrait a la fin de chaque fauchage le faire appuyer sur entrée pour fermer la fenêtre de montée de niveau
:?: Comment savoir si do-fus est encore connecté ?
:idea: Pour cela, si le pixelsearch de la ressource ne donne aucun résultat, il y a plusieurs solutions :
- Soit la ressource n'est plus présente sur la map
- Soit on est déco
- Soit on s'est fait aggro (mais la ca ne concerne pas le bot xD)
- Et encore d'autre possibilités qui ne concernent pas ce bot car il n'a pas beaucoup de fonctions ^^
Donc pour vérifier si on est déco ou pas, on peut essayer un pixelsearch sur un téléporteur ou quelque chose dont on est sur de la présence sur la map.
Si la recherche ne donne aucun résultat on est déco, donc le bot peut se positionner sur les barres de connexion et saisir nos identifiants.
- Et on retourne au début.
:!: Bien sur je n'ai pas fait ca pour un bot compliqué qui gère échange, aggro , déplacement a la banque, spam, follow et cafetière pour ne pas faire un truc trop complexe et répétitif, ca reste un exemple hun
Voila c'est la fin, j'espère que ça vous a plu ^.^
Et pis si ça vous a pas plu je vous ai pas obligé a le lire hun xD
Sur ce bonne soirée, Avest007
Par avest007