Bonjour a tous, je suis sur un exercice qui me demande de déplacer ,deux lettres dans une zone , plus ou moins aléatoire de les faires rebondir lorsqu'elles atteignent les bords et d'afficher un message lorsqu'elles se rencontrent.
dans le code je fais déplacer A de gauche a droite et B du haut vers le bas mais chacun leur tour , comment faire pour qu'elles se déplacent simultanément et éventuellement se croisées???merci
le plus ou moins aléatoire signifie t-il qu'elles se déplacent dans tous les sens de la zone??
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>
#include<Windows.h>
void gotoxy(int x, int y) {
COORD c;
c.X = x;
c.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), c);
}
int main() {
const int TX = 50;
const int TY = 20;
int Ax, Ay, Bx, By;
int fin = 0, top = 0, res;
srand((unsigned)time(NULL));
while (!fin) {
Ax = rand() % TX;
Ay = rand() % TY;
Bx = rand() % TX;
By = rand() % TY;
while (Ax <= TX ) {
if (clock() > top + 50) {
top = clock();
gotoxy(Ax, Ay);
putchar(' ');
Ax++;
if (Ax > 0) {
gotoxy(Ax, Ay);
putchar('A');
}
}
}
while (Ax > 0 ) {
if (clock() > top + 50) {
top = clock();
gotoxy(Ax, Ay);
putchar(' ');
Ax--;
if (Ax < TX ) {
gotoxy(Ax, Ay);
putchar('A');
}
}
}
while (By <= TY ) {
if (clock() > top + 50) {
top = clock();
gotoxy(Bx, By);
putchar(' ');
By++;
if (By > 0 ) {
gotoxy(Bx, By);
putchar('B');
}
}
}
while (By > 0 ) {
if (clock() > top + 50) {
top = clock();
gotoxy(Bx, By);
putchar(' ');
By--;
if (By < TY ) {
gotoxy(Bx, By);
putchar('B');
}
}
}
if (_kbhit()) {
res = _getch();
if (res)
fin = 1;
}
}
return 0;
}
j'avais insérer un bloc qui teste l'égalité entre position de A et B mais non fonctionnelle avant l'entrée utilisateur
Tu pourrais faire en sorte que les 2 lettres se déplace dans la même boucle d'un pas à tour de rôle. (pas positif ou négatif selon le sens du déplacement).
StephaneBadet2 a écrit:
le plus ou moins aléatoire signifie t-il qu'elles se déplacent dans tous les sens de la zone??
Ça tu dois le savoir mieux que nous ?! (on ne connait pas l’énoncé de ton exercice).
...
Déplacer le curseur
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.