szachownica

0

witam to moja szachownica.

uses crt,graph;
var
x,y,z,w,ster,tryb:integer;
begin
initgraph (ster,tryb,'c:\bp\bgi');
line(50,0,50,400);
line(100,0,100,400);
line(150,0,150,400);
line(200,0,200,400);
line(250,0,250,400);
line(300,0,300,400);
line(350,0,350,400);
line(400,0,400,400);
line(0,50,400,50);
line(0,100,400,100);
line(0,150,400,150);
line(0,200,400,200);
line(0,250,400,250);
line(0,300,400,300);
line(0,350,400,350);
line(0,400,400,400);
outtextxy(410,25,'A');{litery}
outtextxy(410,75,'B');
outtextxy(410,125,'C');
outtextxy(410,175,'D');
outtextxy(410,225,'E');
outtextxy(410,275,'F');
outtextxy(410,325,'G');
outtextxy(410,375,'H');
outtextxy(25,410,'1');{liczby}
outtextxy(75,410,'2');
outtextxy(125,410,'3');
outtextxy(175,410,'4');
outtextxy(225,410,'5');
outtextxy(275,410,'6');
outtextxy(325,410,'7');
outtextxy(375,410,'8');
rectangle(0,0,400,400);
repeat until keypressed;
closegraph;

end.

mam pytanko jak pokolorowac kwadraty na zmiane. (pomalowac pala na czarne i biale);

0

troche zmodyfikowalem ta szachownice i wyglada teraz :

uses crt,graph;
var
x,y,z,w,ster,tryb:integer;
begin
initgraph (ster,tryb,'c:\bp\bgi');
x:=0;
y:=0;
for z:=1 to 9 do
begin
moveto(20,y+20);
lineto(180,y+20);
y:=y+20;
end;
for w:=1 to 9 do
begin
moveto(x+20,20);
lineto(x+20,180);
x:=x+20;
end;
outtextxy(182,25,'A');
outtextxy(182,45,'B');
outtextxy(182,65,'C');
outtextxy(182,85,'D');
outtextxy(182,105,'E');
outtextxy(182,125,'F');
outtextxy(182,145,'G');
outtextxy(182,165,'H');
outtextxy(25,182,'1');
outtextxy(45,182,'2');
outtextxy(65,182,'3');
outtextxy(85,182,'4');
outtextxy(105,182,'5');
outtextxy(125,182,'6');
outtextxy(145,182,'7');
outtextxy(165,182,'8');
repeat until keypressed;
closegraph;

end.

prosze o pomoc w pomalowaniu pol na biale i czarne.

0

zamiast move to i line to, uzyj funkcji rectangle

0

o ile mnie pamiec nie myli to:
floodfill + f1
przyda sie tez setfillstyle (czy cus takiego) i troche matmy

albo od razu zastosuj "bar" (F1) bedzie dzialal tak jak rectangle z tym ze wypelni zawartosc w srodku

0

A te szachownice to na marginesie da się zrobić na szybkiego w pętli zagnieżdżonej a cały kodzik pewnie nie zajmie wiecej niż 10 linijek.

0
uses graph;

procedure szach(x,y,dx,dy,cx,cy,ac_col,inac_col:integer);
var i,j,c:integer;
begin
  for j:=0 to cy-1 do
    begin
      c:=(ac_col*byte(j and 1=1))+(inac_col*byte(j and 1=0));
      for i:=0 to cx-1 do
        begin
          setfillstyle(solidfill,c);
          c:=c xor ac_col xor inac_col;
          bar(x+i*dx,y+j*dy,x+(i+1)*dx-1,y+(j+1)*dy-1)
        end
    end
end;

var i,j:integer;
begin
  i:=0;
  initgraph(i,j,'');
  szach(0,0,30,20,10,10,14,1);
  asm
    xor ah,ah
    int 16h
  end;
  closegraph;
end.

// obie petle dokladnie 10 linijek ;]

1 użytkowników online, w tym zalogowanych: 0, gości: 1