Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4095 connectés 

 


Dernière réponse
Sujet : [Gros newbie en C] Pkoi ca clignote en mode 13h?
leboss thx youdon't care!
Adieu dos ... snif
en plus je vais pouvoir installé win xp lol chuis resté sous 98 pour le dos :D

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
leboss thx youdon't care!
Adieu dos ... snif
en plus je vais pouvoir installé win xp lol chuis resté sous 98 pour le dos :D
youdontcare memcpy(). ça peut être char tab[320][200] ou char tab[64000]. justement en ogl / directx / gdi (windows) y'a tout de prévu.
 
des bons sites ? cherche sur le forum, y'a déjà eu des tonnes de questions similaires.
 
et SURTOUT : www.google.com , tu trouveras _tout_ ce que tu veux là-dessus.
leboss pour l'ecran virtuel c un tableau à 2dimension c ca?
mais pour le copier dans la memoire fais comment? point par point (putpixel) ou en bloc avec memset(je sais po trop comment vais faire ca)
leboss

youdontcare a écrit a écrit :

ça me fait marrer parce que j'ai commencer quasi pareil, mais y'a 6 ans :D ... à l'époque en turbo pascal 6 avec de l'inline asm. aujourd'hui, y'a quand même de quoi faire des trucs un peu plus clean ... c'est vrai que ça doit être costaud de commencer par ogl, mais de mon point de vue de maintenant c'est quand même plus simple.
 
bref. la vbl c'est la vertical blanking, le signal qui indique la montée et descente du canon à électron. en pratique il faut attendre qu'elle remonte puis qu'elle descende, afin de faire l'update de l'écran pendant le temps où il n'est pas balayé.
 
un truc comme
mov dx, 3dah
@@1: in al, dx
or al, al
jz @@1
@@2 : in al, dx
or al, al
jnz @@2
 
ou l'inverse, je sais plus.
 
et pour les gros trucs, il faut avoir un écran virtuel dans lequel tu fais toutes tes opérations, puis que tu recopies dans l'écran.



comment on fait ca plize... euh sinon bah la vous m'avez convaicu vous connaissez po de bon sites pour commencer en prog direct draw, d3d ou opengl... et pis je sais po trop si borland c++ est bien pôur la prog win, j reste dessus ou je migre vers visual c++...
Arf merde g 6 ans de retard :D

youdontcare ça me fait marrer parce que j'ai commencer quasi pareil, mais y'a 6 ans :D ... à l'époque en turbo pascal 6 avec de l'inline asm. aujourd'hui, y'a quand même de quoi faire des trucs un peu plus clean ... c'est vrai que ça doit être costaud de commencer par ogl, mais de mon point de vue de maintenant c'est quand même plus simple.
 
bref. la vbl c'est la vertical blanking, le signal qui indique la montée et descente du canon à électron. en pratique il faut attendre qu'elle remonte puis qu'elle descende, afin de faire l'update de l'écran pendant le temps où il n'est pas balayé.
 
un truc comme
mov dx, 3dah
@@1: in al, dx
or al, al
jz @@1
@@2 : in al, dx
or al, al
jnz @@2
 
ou l'inverse, je sais plus.
 
et pour les gros trucs, il faut avoir un écran virtuel dans lequel tu fais toutes tes opérations, puis que tu recopies dans l'écran.
verdoux La prog graphique DOS, c'est quand même pas trop utile.
Surtout si tu veux attaquer par la suite DX ou OpenGL.
leboss euh c koi la vbl?
leboss ouiiiiiiiiin comprend rien :D
youdontcare : bah en fait g essayé de voir un peun des tutorial dx ou opengl bah... j'arrive meme po a creer une fenetre windows... sous borland c++... alors je me susi dis ke j'allais bien maitriser la prog graphique dos puis je m'aventurerais vers opengl!
personne peut compiler ca et voir ce ke ca donne?
Mr tonio t serieux? lol si c vrai bah ca me fait chaud au coeur paske g t degouté de voir ke j'arrivais a rien foutre thx
MrTonio Balaise pour un débutant :eek2:
youdontcare parce que tu n'attends nulle part la vbl ...
 
si tu veux tout comprendre, y'a plein de tutoriaux qui datent de 5/6 ans dispo un peu partout. sinon tu peux faire ça sous dx ou ogl (bieen) parce que le 13h, ... hum.
leboss Voila c un prog tt simple ( je debute)
en fait c pour faire defiler des etoiles de gauche a droite de l'ecran avec des couleurs aleatoirse voila...
Mais le bleme c ke mes etoiles ki se situent en haut de l'ecran clignotent alors ke celles d'en bas non!!
Bon voila le code zsource (l'est po long) vs pouvez me dire oun est l'erreur merci!!
ca m'aidera a fond pour continuer paske bloker des le debut... snif ca decourage un max thx
 
#include <conio.h>
#include <stdlib.h>
#include <mem.h>
#define nbretoiles 50
 
char *ecran =  (char *) (0xA0000000L);
int etoilex[nbretoiles];
int etoiley[nbretoiles];
int couleur[nbretoiles];
int i = 0;
 
void setmode(unsigned int mode){
asm{
MOV AX, mode
INT 0x10
}
}
 
void putpixel(int x, int y, unsigned char coul){
    ecran[(y*320)+x] = coul;
}
 
void cls(unsigned char coul){
memset (ecran,coul,64000);
}
 
void initialisation(){
for (i=0;i<nbretoiles;i++){
etoilex[i]=random(320);
etoiley[i]=random(200);
couleur[i]=random(255);
}
}
void affichage(){
cls(0);
for(i=0;i<nbretoiles;i++){
putpixel(etoilex[i],etoiley[i],couleur[i]);
putpixel(etoilex[i]+1,etoiley[i],couleur[i]);
putpixel(etoilex[i],etoiley[i]+1,couleur[i]);
putpixel(etoilex[i],etoiley[i]-1,couleur[i]);
putpixel(etoilex[i]-1,etoiley[i],couleur[i]-1);
putpixel(etoilex[i]-2,etoiley[i],couleur[i]-2);
}
}
 
void incrementation(){
for (i=0;i<nbretoiles;i++)
etoilex[i]++;
}
 
void infini(){
for(i=0;i<nbretoiles;i++)
if (etoilex[i]==319){
etoilex[i]=0;
etoiley[i]=random(200);
}
}
 
 
void main(){
setmode(0x13);
initialisation();
do{
affichage();
incrementation();
infini();
}while (!kbhit());
}

 

[edtdd]--Message édité par leboss--[/edtdd]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)