CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[NXC]Lecture code?priorités?robot.

expert]hydra
expert]hydra
Niveau 10
06 octobre 2013 à 16:03:14

Bonjour tout le monde, voilà je code en .nxc pour un robot de type lego mindstorm, et bref j'ai un nouveau type de problème qui apparait(je débute !) :

En fait j'ai un robot qui va toujours vers l'endroit le plus lumineux (tourne puis avance pour cela) cependant j'ai envie qu'il soit capable de faire cela tout en évitant les obstacles.

et comment le code fonctionne en fait ? est-il possible de lancer plusieurs taches en meme temps ?

Parce que j'ai fais(juste pour chercher lumière, et en gros, et ces ont 2 fonctions crées bien entendu) :
task main()
{
while(1)
{
tournerpourlumiere();
avancerverslumiere();
}
}

Cependant j'aimerais qu'il soit capable d'avoir des priorités en fait tout simplement, c'est à dire faire ces 2 fonctions tant que y a aucun problème, mais dès que le capteur détecte un objet trop proche, il stoppe tout et fait la fonction "evitement de l'objet", et après qu'il reprend le boulot qu'il fait habituellement.

J'imagine qu'il y a des astuces ou information ou autre que j'ai raté (parce que je pense que c'est pas compliqué, juste un truc que je sais pas), mais voila...

(je crois avoir entendu dire qu'un robot pouvait faire plusieurs fonctions en même temps, vois pas comment...car moi les fonctions il les fais une par une à la suite quoi, et normal c'est ce qui est demandé mais bon...)
Bref, voila le problème...

Merci d'avance pour l'aide et au revoir ! : p

expert]hydra
expert]hydra
Niveau 10
06 octobre 2013 à 16:05:49

Et désolé complètement oublié mais il va de soi que la tache "chercher la lumière" et celle "eviter obstacle" se marche dessus, impossible de faire les 2 en même temps (l'un va utiliser le moteur pour faire tel action, l'autre tache l'utilisera pour tel autre action...), bref . ><

expert]hydra
expert]hydra
Niveau 10
07 octobre 2013 à 12:52:53

Bon après recherche sur internet, et demandé sur un forum, en fait dans le taskmain il faut mettre un Startask(nomdunetask); afin d'en lancer d'autres tout simplement.

Par contre attention, le gros problème que j'avais rencontré était que je n'avais pas réalisé qu'une fois la task main terminé, cela fermait toutes les autres tasks (résultat je comprenais rien à ce qui se passait). Donc il faut faire en sorte que task main ne se finisse jamais (le plus facile est de faire un while(1) avec un wait dedans et hop résolu.

Bref, merci quand même. ^^

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment