Forum du serveur Computercraft FR
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-34%
Le deal à ne pas rater :
-34% LG OLED55B3 – TV OLED 4K 55″ 2023 – 100Hz HDR 10+, ...
919 € 1399 €
Voir le deal

ActionLog - Faire faire à vos ordinateurs/turtle leur travail sans vous en soucier

3 participants

Aller en bas

ActionLog - Faire faire à vos ordinateurs/turtle leur travail sans vous en soucier Empty ActionLog - Faire faire à vos ordinateurs/turtle leur travail sans vous en soucier

Message par Christophedlr34 Ven 8 Avr - 22:35

Bonsoir à tous,

Une idée que j'ai depuis longtemps dans ma petite caboche pleine d'idées de progs lol, et que je viens de commencer à développer.
On connaît tous le principe du GPS : connaître la position de l'ordinateur ou de la turtle, utile pour orienter les turtle et les faire revenir à leur point de départ.

Je propose bien mieux et plus pratique dans la mise en place : ActionLog, une simple API.

Prenons par exemple ma turtle qui s'occupe de cuire les minerais (et autres) que je met dans un coffre (oui j'ai automatisé un four lol).
Mettons que je met à cuire 64 patates, j'en cuit 4 puis je me tire. Le chunk n'étant plus chargé, le travail ne se fait pas et quand je reviens la turtle ne fait rien.
Dans mon exemple, j'ai la turtle qui attends que la cuisson soit finie, puis elle prend les patates, les met dans un autre coffre, vérifie que le four n'a pas besoin de charbon, et regarde s'il y a encore des items à cuire si c'est le cas, elle met a cuire, patiente et ainsi de suite.

Mais voilà, 4 patates sont cuites, pas les autres ; quand je reviens, le four continue son boulot, nickel. Mais la turtle elle, elle ne peut plus faire son boulot, au mieux elle va chercher à mettre des items dans le four c'est tout.

Le principe d'ActionLog, est d'enregistrer dans un fichier texte, toutes les actions que doit effectuer la turtle (ou l'ordinateur), chaque action est détaillée suivant une syntaxe que je dois encore mettre au point (lol).

Le log permet donc de savoir ce qui est fait et n'est pas fait, comme une liste de tâches quoi. Dans mon exemple, la turtle attend 10 secondes (temps de cuisson d'un item dans un four) multiplié par le nombre d'items qu'elle a mis, donc elle a déjà patienté 40 secondes pour la cuisson des 4 items.
Sur 64, il en reste 60 donc 600 secondes sur un total de 640 secondes.

Ben le log indique un temps d'attente de 600 secondes restant, ainsi quand je reviens dans le chunk, il se charge, la turtle qui avait le programme en startup, commence les vérifications. Elle constate une attente encore de 600 secondes, elle va attendre 600 secondes. Une fois les 600 secondes passées, elle continue son programme : récupération, placement dans le bon coffre et ainsi de suite.


Le but étant donc très facilement, de pouvoir reprendre le travail même si ce dernier a été coupé au milieu.
Comme chaque action est enregistré (c'est une API je vous rappel, donc à vous de lui faire enregistrer les actions que vous souhaitez), le programme dispose de son propre système de coordonnée prenant comme référence 0;0 l'emplacement de la turtle avant son premier appel à ActionLog (si vous vous en servez pour gérer les déplacements, c'est juste avant ou juste après le premier déplacement ; chaque enregistrement se fait avant/après un seul déplacement), permettant donc à la turtle de toujours revenir à son point de départ si c'est ce que vous désirez.

Le principe est donc le suivant : permettre à l'ordinateur ou la turtle, de continuer son travail sans aucun soucis, suffit que quelqu'un/quelque chose active le chunk, et le boulot sera fait sans aucune intervention et conformément à vos souhaits.


L'idée n'est pas nouvelle chez moi, mais j'ai pas encore réfléchis à la syntaxe du fichier. Je pense pas tout coder d'un coup non plus, ainsi la première chose qui sera géré sera les déplacements : avant/arrière, gauche/droite, tourner à gauche/droite et les temps d'attentes.

Cela devrait déjà couvrir une très grande partie des besoins habituels.
Pour ce que j'ai réfléchis sur l'API, ce sera pas compliqué : open pour ouvrir l'accès (écriture, lecture ou ajout) au fichier ActionLog (liberté du choix du nom et emplacement du fichier), write avec comme paramètre, l'ordre, read pour lire (un ordre par ligne) et close pour fermer le descripteur de fichier.


Comme je l'ai dis, j'en commence à peine son développement. Ce topic est là pour vous informer sur ce que sera cette API et expliqué un peut son principe.

Christophedlr34

Messages : 69
Date d'inscription : 30/03/2016

Revenir en haut Aller en bas

ActionLog - Faire faire à vos ordinateurs/turtle leur travail sans vous en soucier Empty Re: ActionLog - Faire faire à vos ordinateurs/turtle leur travail sans vous en soucier

Message par mickdev Sam 9 Avr - 1:51

C'est génial.

Tu peux demander a richier333 sur youtube il a déjà faite dans le 1 feed the Patrick.

ca pourrait t'aider.
mickdev
mickdev

Messages : 13
Date d'inscription : 06/04/2016
Localisation : ?

Revenir en haut Aller en bas

ActionLog - Faire faire à vos ordinateurs/turtle leur travail sans vous en soucier Empty Re: ActionLog - Faire faire à vos ordinateurs/turtle leur travail sans vous en soucier

Message par Pyeroh Sam 9 Avr - 2:03

Pas mal comme idée !
Pour l'API de déplacement/actions, je te conseille act qui est très pratique pour planifier des actions en tout genre, de manière très simple.
Pyeroh
Pyeroh

Messages : 33
Date d'inscription : 29/03/2016
Age : 29
Localisation : Nouvelle-Calédonie

https://github.com/Pyeroh

Revenir en haut Aller en bas

ActionLog - Faire faire à vos ordinateurs/turtle leur travail sans vous en soucier Empty Re: ActionLog - Faire faire à vos ordinateurs/turtle leur travail sans vous en soucier

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum