Aide pour une application

boussettamongi - 2 déc. 2012 à 13:34
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 12 déc. 2012 à 12:02
Salut, je suis besoin de cette application en delphi et je sais pas comment fait parce que je suis un débutant , j'éspère de trouver qui m'aider.

Objectif : simuler le déplacement et le dépassement de 2 voitures sur une route à 2 voies





Légendes : sh : Shape, sp : SpinEdit, im : Image
Le composant timer n'apparaît pas dans la copie d'écran.
Le fond de imRoute ne sera blanc que quand on fera quelque chose dedans (voir §2).

1 - Animation de la voiture rouge
Programmez la réaction au clic sur le bouton Départ :
• Mettre en route le timer.

Programmez le rôle du timer :
• Il suffit d'augmenter la valeur de la propriété Left de sh2. Pour l'instant, on peut fixer cette augmentation.
Après avoir enregistré l'unité et le projet, testez ce début de programme. Si la voiture part toute seule, c'est que le timer est en marche par défaut. Il faut l'inhiber dans l'inspecteur d'objet.

2- Préparations
Programmez la réaction à la création de la fiche :
• Donner des valeurs initiales aux deux vitesses (variables Vx1 et Vx2)
• Tracer la route dans le Canvas de imRoute :
• deux lignes en traits pleins,
• une ligne en traits discontinus (imRoute.Pen.Style:=psDash)
• Placer les deux voitures sur la file de droite (celle du bas sur l'écran), la rouge à gauche de la jaune
Dans la démo, la propriété Align de imRoute vaut alTop et elle fait 80 de haut. Les voitures font 20 de haut. Le bord haut de la route est à 10, le bord bas à 70 et la ligne discontinue à 40.
3 - Animation de la voiture jaune
Dans la procédure qui définit le rôle du timer, il suffit d'augmenter aussi la valeur de la propriété Left de sh1. La voiture jaune avancera vers la droite.
Si la voiture rouge va plus vite que la jaune, la rouge passe sur la jaune !

4 - Dépassement
Pour éviter les chocs, on peut faire changer la voiture rouge de file pour qu'elle dépasse la jaune avant qu'il ne soit trop tard. On la remettra dans la file normale dès qu'elle aura dépassé la jaune.
Pour cela il faut comparer la position de la voiture jaune après l'avoir déplacée avec la position qu'aura la rouge quand on l'aura déplacée :
Si l'avant de la voiture rouge + sa vitesse est supérieur ou égal à l'arrière de la jaune
et si l'arrière de la rouge est inférieur ou égal à l'avant de la jaune :
on place la rouge dans la file de gauche
Sinon
on place la rouge dans la file de droite.



5 - Marche/Arrêt
Pour éviter d'avoir trop de boutons, on peut donner à un même bouton les rôles Marche ou Arrêt alternativement. Ceci empêchera de cliquer sur Marche alors qu'on est déjà en marche ou inversement.

Au début ce bouton a comme Caption Arrêt et il est inhibé.
Il est rendu utilisable quand on clique sur Départ (pensez à ajouter ce rôle dans la réaction au clic sur Départ).
Quand on clique dessus sur le bouton Marche/Arrêt :
• Si Caption vaut Arrêt :
• on remplace Arrêt par Marche et on inhibe le timer,
• Sinon
• on remplace Marche par Arrêt et on autorise le timer.

6 - Départ
Pour replacer les voitures comme au début, on peut ajouter à la réaction au clic sur le bouton Départ :
• Placer les deux voitures sur la file de droite (celle du bas), la rouge à gauche de la jaune (on peut recopier ce qui est déjà dans FormCreate),
• Mettre Arrêt comme Caption du bouton Marche/Arrêt,

7 - Réglages des vitesses
Pour que l'utilisateur puisse changer les deux vitesses, il faut programmer la réaction au changement (événement OnChange) de chacun des 2 SpinEdit :
• La vitesse de la voiture correspondante (Vx1 ou Vx2) reçoit la propriété Value de spVx1 ou spVx2.

Il est plus facile de créer une procédure de réaction pour chaque SpinEdit.
On pourrait aussi changer la vitesse de l'animation en modifiant l'intervalle du timer.

14 réponses

dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
2 déc. 2012 à 18:15
çà ressemble bougrement à un devoir !
on peut quand même pas faire le boulot à ta place


Dubois77
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
2 déc. 2012 à 19:13
Tu as tout ce qu'il faut pour faire le programme, tu n'as plus qu'a étudier.

________________________________________________________
besoin de câbles audio, vidèo, informatique pas cher ?
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
3 déc. 2012 à 10:05
Ouais, franchement, avec un "Cahier des charges" comme ça, le dev ça va être de la rigolade !!!
Commence quelque chose et pose des questions sur des points précis !!!
Aides toi et Codes Sources t'aidera !

Simon
0
korgis Messages postés 420 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 6 mai 2019 17
4 déc. 2012 à 14:58
Moi, perso, pour tracer la route, je trouve que les bandes blanches sur fond noir, c'est plus réaliste.
De même, on peut tripler l'épaisseur de la ligne discontinue, l'effet est intéressant.
Le problème, c'est que "Pen.Style :<gras>psDash" n'est utilisable que si " Pen.Width</gras> 1 ".
On peut tourner la difficulté en la traçant 3 fois et en décalant verticalement, comme ceci :

with imRoute.Canvas do
begin
  Pen.Width : = 1;
  Pen.Style := psDash;
  for i := -1 to 1 do
  begin
    MoveTo(0, imRoute.Height div 2 + i);
    LineTo(imRoute.Width, imRoute.Height div 2 + i);
  end;
end;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
5 déc. 2012 à 14:04
moi pour "tracer la route", je "prend la tangente".

________________________________________________________
besoin de câbles audio, vidèo, informatique pas cher ?
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
5 déc. 2012 à 14:23
Moi, je fournis la photo pour l'except du Try...except :
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
6 déc. 2012 à 13:33
on EConnarQuiPile do Constat(tcAmiable);

________________________________________________________
besoin de câbles audio, vidèo, informatique pas cher ?
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
6 déc. 2012 à 14:13
Simon
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
7 déc. 2012 à 22:18
évite de distraire dubois77,
il a déjà du pain sur la planche avec son HTML...


cantador
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
8 déc. 2012 à 23:46
CASQUES EEG ET JEUX VIDÉO

Plus récemment, des sociétés d'électronique ont commencé à fabriquer des casques EEG bon marché, conçus pour commander des jeux vidéo sur un PC ordinaire. Plusieurs modèles sont en vente libre sur Internet. Le plus simple, produit par la société américaine NeuroSky, fonctionne avec une seule électrode et coûte 120 dollars (92 euros). Plus sophistiqué, le casque Epoc, de la société australienne Emotiv, comporte 14 électrodes, afin de capter une large gamme de signaux cérébraux. Pour 300 dollars, Emotiv livre son casque accompagné de plusieurs jeux vidéo pour PC sous Windows conçus ou modifiés pour être commandés par son casque. A ce jour, il s'agit de jeux de combat assez simples ou de jeux de construction. Emotiv fournit aussi un logiciel permettant de remplacer le clavier de l'ordinateur par des commandes cérébrales. Des modèles adaptés aux consoles de jeux sont en préparation.

Actuellement, les interfaces cerveau-ordinateur ne permettent d'envoyer qu'une commande à la fois. Les concepteurs de jeux devront imaginer des systèmes hybrides - par exemple, pour une course de voitures, la trajectoire sera commandée par un joystick et la vitesse par le casque, ou l'inverse. Les grands éditeurs de jeux vidéo ne se sont pas encore lancés dans ce secteur, mais ils s'en rapprochent, en dotant leurs consoles de capteurs sensoriels permettant d'évaluer l'état émotionnel du joueur : pouls, mouvements du visage et des yeux, inflexions de la voix...

jouer aux petites voitures ça peut mener loin..

à condition de bien faire ses devoirs

cantador
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
9 déc. 2012 à 00:17
Il dit qu'il a mal au genou...
;)

Simon
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
9 déc. 2012 à 14:14
A propos des interfaces cerveau-ordinateur :

En 2014, lors de la coupe du monde
de football, des milliards de téléspectateurs
assisteront peut-être à un
événement inédit : le coup d'envoi du
match d'ouverture donné par un adolescent
paralysé, revêtu d'un « costume »
robotique. Ce costume ? ou exosquelette ?
enveloppera ses jambes et sera commandé
par des signaux électriques provenant
de son cerveau (voir l'encadré page 93). Ils
seront transmis sans fil à un petit ordinateur
(placé dans un sac à dos), qui les traduira
en commandes motrices.
À l'entrée sur le terrain, l'exosquelette
stabilisera le corps du tireur, puis
coordonnera les mouvements des jambes
robotiques. Lorsqu'il sera correctement
placé, le tireur devra penser à son pied
tapant le ballon. Trois cents millisecondes
plus tard, des signaux cérébraux donneront
au pied robotique de l'exosquelette l'ordre
de frapper la sphère de cuir.

Source: Pour la Science - n° 422 - Décembre 2012


ça fait rêver, non ?
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
11 déc. 2012 à 23:52
Excellent ...

________________________________________________________
besoin de câbles audio, vidèo, informatique pas cher ?
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
12 déc. 2012 à 12:02
@f0xi:

il vient de marquer un but ou il râle parce qu'il s'est pris une canette de bière..


cantador
0
Rejoignez-nous