Tracer une ligne entre deux point en mode console - C++ - Programmation
Marsh Posté le 08-09-2003 à 16:50:57
déjà je t'arrêtes direct: faire un system("cls" ) entre chaque image va faire que ça va être vraiement très pourri.
je te conseillerai déjà de plustôt effacer l'ancienne position d'un objet pour ensuite traçer la nouvelle...
ensuite ton pong, les raquettes sont verticales non ?
Marsh Posté le 08-09-2003 à 17:02:20
BJOne a écrit : déjà je t'arrêtes direct: faire un system("cls" ) entre chaque image va faire que ça va être vraiement très pourri. |
- ok pour le system("cls" ) je vais essayer
pour delter un char c \b ?
- oui les raquette sont verticale, mais je penssai reutiliser la classe ligne.
Marsh Posté le 08-09-2003 à 19:57:35
oulà...
tu veux vraiment traçer en mode texte via le bios (enfin le dos aussi ) ?
remarque vu la puissance des machines, y'a ptet moyen de faire des trucs qui tournent via un appel dos->bios par pixel (heu patate)
Marsh Posté le 08-09-2003 à 20:28:33
BJOne a écrit : oulà... |
Je lis bien mes vidéo en mode texte grace à la combo mplayer + aalib
Marsh Posté le 09-09-2003 à 02:29:18
BJOne a écrit : oué mais c'est de l'écriture direct en ram vidéo ? |
Je ne pense pas mais c'est bien du temps réel en tout cas. Même sur mon vieux K6-2 300 MHz ça passait bien
Marsh Posté le 09-09-2003 à 05:48:39
heuuu direct en ram video ??
non c est juste la console qui sert de mode "vga"
en 50*80 svp
pour le cls ok j ai resolu avec une fonctio erase
c est vrai qu i lny a plus les clignotement.
masi le pb (je me repete )
50*80
point a(1,1)
point b(50,80)
je beus tracer un ligne comment je peus faire ?
1. calcule (y2-y1) / (x2-x1)
ex si (y2-y1) =(x2-x1)
je trace un point (i++, j++) pour la longueur (x2-x1)
humm je vais voir ca
Marsh Posté le 09-09-2003 à 06:28:13
(i++,j++) c'est pas tres bien...
a part pour aller de (1,1) a (50,50) [NB: je prends 50, mais j'aurais pu prendre n'importe quel autre nombre)
mais de (1,1) a (50,80), t'es mal barre
Marsh Posté le 09-09-2003 à 07:04:48
Deja tu pourras aps designer comme ca dans la console.
Utilise Allegro c plus simple.
Pour ta ligne, ben cherche des algos tout fait ca existe mais c pas trivial.
Marsh Posté le 09-09-2003 à 07:40:10
deja je commencerai par distinguer deux cas dans l'algo:
coefficient directeur <1 et l'autre >1 (si = 1, c'est facile)
s'il est superieur a 1, ta "droite" sera constituee de plusieurs segments verticaux, sinon, les segments seront horizontaux.
a partir de la, c'est pas trop dur de tracer les differents segments....heureusement que c'est une droite
mais bon, y a d'autres methodes, sans s'embeter avec le coef directeur bien sur...mais c'est peut etre moins facile
Marsh Posté le 09-09-2003 à 07:47:40
souk a écrit : deja je commencerai par distinguer deux cas dans l'algo: |
voila c est a ce que je pensai en gros, je vais essayer ca et poster le code ici
sinon pour allegro, justement je viens decouvrir ca, je lai downlaoder il me demande d utiliser "djgg" ou un truc comme ca pour compiler, bref j ai pas reussi a men servir avec devc++
(mailing list )
Marsh Posté le 09-09-2003 à 08:26:17
Code :
|
Code :
|
bon la diagonale ca marche
Marsh Posté le 08-09-2003 à 16:00:15
Je vasi essayer de develloper un petit jeu genre pong and cie, en c++.
mais au lieu d utiliser un mode vga, j utilise une combinaison de system("cls" ) et gotoxy(int x, inty) (conio.c)
cette methode marche bien ,
j ai voulu recreer les bases
c a d class point, class ligne ect...
et j en viens au probleme suivant, comment tracer une ligne d un point a a un point b ?
verticale, horizontal ok mais diagonale ?
en utilisant des gotoxy(x,y) pour chaque point ?