SlideShare uma empresa Scribd logo
1 de 6
Uses GraphABC;
Procedure Paint1;
Var
i,j:integer;
begin
for i:=1 to 4 do
for j:=1 to 4 do
Floodfill(41*i,21+40*(j-1),clBrown);
end;
Procedure Paint2 ;
Var
i,j:integer;
begin
for i:=1 to 4 do
for j:=1 to 4 do
FloodFill(41*i-20,41+40*(j-1),clBrown);
end;
Var
i:integer;
Begin
for i:=1 to 9 do
begin
Line(20,20*i,180,20*i);
Line(20*i,20,20*i,180);
end;
Paint1;
Paint2;
end.

Вначале в цикле проводим все необходимые
линии, затем с помощью процедур закрашиваем
необходимые клетки
uses GraphABC;
Var
i,j,k:integer;
begin
for i:=0 to 640 do
for j:=1 to 400 do
begin
k:=i+j;
case k of
0..100: setpixel(i,j,clRed);
101..200: setpixel(i,j,clOrange);
201..300: setpixel(i,j,clYellow);
301..400: setpixel(i,j,clGreen);
401..500: setpixel(i,j,clSkyBlue);
501..600: setpixel(i,j,clBlue);
601..700: setpixel(i,j,clViolet);
end;
end;
end.

Просто в зависимости от значения переменной k
закрашиваем пиксели в определенные цвета. Т.к. i и j
– целые числа, то и k – целое число, и его не надо
округлять
uses GraphABC;
Var
i,j,k:integer;
begin
for i:=0 to 640 do
for j:=1 to 400 do
begin
k:=trunc((sqr(i)+sqr(j))/20);
case k of
0..100: setpixel(i,j,clRed);
101..200: setpixel(i,j,clOrange);
201..300: setpixel(i,j,clYellow);
301..400: setpixel(i,j,clGreen);
401..500: setpixel(i,j,clSkyBlue);
501..600: setpixel(i,j,clBlue);
601..700: setpixel(i,j,clViolet);
end;
end;
end.

В зависимости от значения переменной k закрашиваем
пиксели в определенные цвета. i и j – целые числа, но
значение k – не целое число, т.к. при делении в Pascal мы
получаем не целые числа. Поэтому его надо округлить, ведь
оператор множественного выбора case работает только с
переменными порядкового типа,
uses GraphABC;
Var
i,j,K:integer;
begin
for i:=0 to 640 do
for j:=1 to 400 do
begin
k:=i*j;
case k of
0..200: setpixel(i,j,clRed);
201..400: setpixel(i,j,clOrange);
401..600: setpixel(i,j,clYellow);
601..800: setpixel(i,j,clGreen);
801..1000: setpixel(i,j,clSkyBlue);
1001..1200: setpixel(i,j,clBlue);
1201..1400: setpixel(i,j,clViolet);
end;
end;
for i:=0 to 640 do
for j:=1 to 400 do
begin
k:=i*j;
case k of
0..200: setpixel(640-i,400-j,clRed);
201..400: setpixel(640-i,400-j,clOrange);
401..600: setpixel(640-i,400-j,clYellow);
601..800: setpixel(640-i,400-j,clGreen);
801..1000: setpixel(640-i,400-j,clSkyBlue);
1001..1200: setpixel(640-i,400-j,clBlue);
1201..1400: setpixel(640-i,400-j,clViolet);
end;
end;
end.

Просто закрашиваем пиксели в зависимости от
значения k
uses GraphABC;
Var
i,j:integer;
begin
for i:=1 to 640 do
for j:=1 to 400 do
setpixel(i,j,i*j*10000000);
end.

Просто закрашиваем по очереди каждый пиксель рабочего поля. В каждом пикселе с координатами
(i,j) цвет пикселя задается как i*j*10000000(ВАЖНО: эта программа работает только в тех версиях
PascalABC.Net, в которых цвет можно задавать ЧИСЛОМ. Иначе ничего не работает). При
различных значениях коэффициента( в данном случае коэффициент – 10000000) рисунок будет
разным.

Mais conteúdo relacionado

Destaque

Анимация в PascalABC
Анимация в PascalABCАнимация в PascalABC
Анимация в PascalABCValiaKuba
 
графические возможности паскаль
графические возможности паскальграфические возможности паскаль
графические возможности паскальIrina Trofimovich
 
«Анимация в PascalABC»
«Анимация в PascalABC»«Анимация в PascalABC»
«Анимация в PascalABC»ValiaKuba
 
Графика в Паскаль
Графика в ПаскальГрафика в Паскаль
Графика в Паскальstarsboy
 
бомба для графики в паскаль
бомба для графики в паскальбомба для графики в паскаль
бомба для графики в паскальИРИНА НЕЧАЕВА
 
графические возможности паскаль
графические возможности паскальграфические возможности паскаль
графические возможности паскальIrina Trofimovich
 

Destaque (7)

Анимация в PascalABC
Анимация в PascalABCАнимация в PascalABC
Анимация в PascalABC
 
графические возможности паскаль
графические возможности паскальграфические возможности паскаль
графические возможности паскаль
 
графика Pascal ABC
графика Pascal ABCграфика Pascal ABC
графика Pascal ABC
 
«Анимация в PascalABC»
«Анимация в PascalABC»«Анимация в PascalABC»
«Анимация в PascalABC»
 
Графика в Паскаль
Графика в ПаскальГрафика в Паскаль
Графика в Паскаль
 
бомба для графики в паскаль
бомба для графики в паскальбомба для графики в паскаль
бомба для графики в паскаль
 
графические возможности паскаль
графические возможности паскальграфические возможности паскаль
графические возможности паскаль
 

Графика PascalABC.NET

  • 1.
  • 2. Uses GraphABC; Procedure Paint1; Var i,j:integer; begin for i:=1 to 4 do for j:=1 to 4 do Floodfill(41*i,21+40*(j-1),clBrown); end; Procedure Paint2 ; Var i,j:integer; begin for i:=1 to 4 do for j:=1 to 4 do FloodFill(41*i-20,41+40*(j-1),clBrown); end; Var i:integer; Begin for i:=1 to 9 do begin Line(20,20*i,180,20*i); Line(20*i,20,20*i,180); end; Paint1; Paint2; end. Вначале в цикле проводим все необходимые линии, затем с помощью процедур закрашиваем необходимые клетки
  • 3. uses GraphABC; Var i,j,k:integer; begin for i:=0 to 640 do for j:=1 to 400 do begin k:=i+j; case k of 0..100: setpixel(i,j,clRed); 101..200: setpixel(i,j,clOrange); 201..300: setpixel(i,j,clYellow); 301..400: setpixel(i,j,clGreen); 401..500: setpixel(i,j,clSkyBlue); 501..600: setpixel(i,j,clBlue); 601..700: setpixel(i,j,clViolet); end; end; end. Просто в зависимости от значения переменной k закрашиваем пиксели в определенные цвета. Т.к. i и j – целые числа, то и k – целое число, и его не надо округлять
  • 4. uses GraphABC; Var i,j,k:integer; begin for i:=0 to 640 do for j:=1 to 400 do begin k:=trunc((sqr(i)+sqr(j))/20); case k of 0..100: setpixel(i,j,clRed); 101..200: setpixel(i,j,clOrange); 201..300: setpixel(i,j,clYellow); 301..400: setpixel(i,j,clGreen); 401..500: setpixel(i,j,clSkyBlue); 501..600: setpixel(i,j,clBlue); 601..700: setpixel(i,j,clViolet); end; end; end. В зависимости от значения переменной k закрашиваем пиксели в определенные цвета. i и j – целые числа, но значение k – не целое число, т.к. при делении в Pascal мы получаем не целые числа. Поэтому его надо округлить, ведь оператор множественного выбора case работает только с переменными порядкового типа,
  • 5. uses GraphABC; Var i,j,K:integer; begin for i:=0 to 640 do for j:=1 to 400 do begin k:=i*j; case k of 0..200: setpixel(i,j,clRed); 201..400: setpixel(i,j,clOrange); 401..600: setpixel(i,j,clYellow); 601..800: setpixel(i,j,clGreen); 801..1000: setpixel(i,j,clSkyBlue); 1001..1200: setpixel(i,j,clBlue); 1201..1400: setpixel(i,j,clViolet); end; end; for i:=0 to 640 do for j:=1 to 400 do begin k:=i*j; case k of 0..200: setpixel(640-i,400-j,clRed); 201..400: setpixel(640-i,400-j,clOrange); 401..600: setpixel(640-i,400-j,clYellow); 601..800: setpixel(640-i,400-j,clGreen); 801..1000: setpixel(640-i,400-j,clSkyBlue); 1001..1200: setpixel(640-i,400-j,clBlue); 1201..1400: setpixel(640-i,400-j,clViolet); end; end; end. Просто закрашиваем пиксели в зависимости от значения k
  • 6. uses GraphABC; Var i,j:integer; begin for i:=1 to 640 do for j:=1 to 400 do setpixel(i,j,i*j*10000000); end. Просто закрашиваем по очереди каждый пиксель рабочего поля. В каждом пикселе с координатами (i,j) цвет пикселя задается как i*j*10000000(ВАЖНО: эта программа работает только в тех версиях PascalABC.Net, в которых цвет можно задавать ЧИСЛОМ. Иначе ничего не работает). При различных значениях коэффициента( в данном случае коэффициент – 10000000) рисунок будет разным.