bonjour tout le monde. J'ai essayé de refaire un truc qui correspondrait à demopal.pas d'haypo, mais je n'arrive pas à afficher sur l'écran 2 gammes différentes de couleur. Qd je change la couleur, toutes les couleurs se changent en même temps, ce qui est embêtant si j'ai envie, plus tard de faire un dégradé avec 3 couleurs.
Pour l'instant, voila ce que j'ai : 8)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
uses crt;
 
var  x,y,c,coeffr,coeffg,coeffb,ra,ga,ba,rouge,vert,bleu:integer;
 
 
procedure SetColor(col,r,g,b:byte);
begin
  port[$3c8]:=col;
  port[$3c9]:=r;
  port[$3c9]:=g;
  port[$3c9]:=b;
end;
 
procedure nouvellecouleur;
var i:integer;
begin
if ra >2 THEN ra:=0;
if ga >2 THEN ga:=0;
if ba >2 THEN ba:=0;
ra:=ra+1;
ba:=ba+1;
ga:=ga+1;
coeffr:=4-ra;
coeffg:=4-ga;
coeffb:=4-ba;
if coeffr>1 THEN coeffr:=0;
if coeffg>1 THEN coeffg:=0;
if coeffb>1 THEN coeffb:=0;
 
end;
 
 
begin
asm
mov ax, 13h
int 10h
end;
ba:=1;
ga:=2;
ra:=3;
repeat
if x=319 THEN
begin
x:=0;
y:=y+1;
end;
x:=x+1;
if y=200 THEN y:=0;
MEM[$a000:x+Y*320]:=X;
if c= 62 THEN nouvellecouleur;
c:=c+1;
bleu:=c*coeffb;
rouge:=c*coeffr;
vert:=c*coeffg;
SetColor(x,rouge,vert,bleu);
until keypressed;
readln;
end.
Merci d'avance