помогите решить!!! есть программа, которая выводит на весь экран точки произвольного цвета. Необходимо, чтобы вместо точек выводило латинские буквы в произвольном порядке
Program L;
uses graph;
var
i,x,y,c:integer;
begin
DetectGraph(x,y);
InitGraph(x,y,'c:\tp7\BGI\');
for i:=1 to 5000 do
begin
x:=Random(640);
y:=Random(480);
c:=Random(15);
PutPixel(x,y,c);
end;
readln;
end.
Сonst
{Коды, допустимые для текста и фона}
Black =0; {Черный}
Blue =1; {Синий
Green =2; {Зеленый}
Cyan =3; {Голубой}
Red =4; {Красный}
Maganta =5; {Пурпурный}
Brown =6; {Коричневый}
LightGray =7; {Серый}
{Коды, допустимые только для текста}
DarkGray =8; {Темно-серый}
LightBlue =9; {Ярко-синий}
LightGreen =10; {Ярко-зеленый}
LightCyan =11; {Ярко-голубой}
LightRed =12; {Ярко-красный}
LightMaganta =13; {Ярко-пурпурный}
Yellow =14; {Ярко-желтый}
White =15; {Белый}
спасибо !!! а не подскажешь еще как сделать, чтобы 'текст' это были разнообразные латинские буквы
function getRandLet():char;
var i:integer;
begin
i:=integer(random(52));
if i<26 then i:=i+65 else i:=i+71;
getRandLet:=chr(i);
end;
OutTexyXY(X, Y, chr(random(26) + 65));
СПАСИБО!!! работает! только я не поняла, что значят цифры 26 и 65....... может кто-нибудь сказать
только буквы теперь опять не цветные
в графическом режиме
Так?
uses graph;
var
gd, gm: integer;
i, rnd: integer;
begin
initgraph(gd, gm, '');
for i := 1 to 20 do begin
setcolor(random(15) + 1);
rnd := random(52);
outtextxy(random(getmaxx), random(getmaxy),
chr(rnd + 65 + byte(rnd > 26) * 6));
end;
readln;
closegraph;
end.
Большое тебе спасибо! я не дописала до конца и мучаюсь "почему не работает?!"
Так это получилась программа для графического режима, а как сделать, чтобы теперь она работала для текстового режима. И как вывести в текстовом режиме буквы; что используется вместо OutTextXY(random(getmaxx),random(getmaxy),chr(c+65+byte(c>26)*6));
Так это получилась программа для графического режима, а как сделать, чтобы теперь она работала для текстового режима. И как вывести в текстовом режиме буквы; что используется вместо OutTextXY(random(getmaxx),random(getmaxy),chr(c+65+byte(c>26)*6));
Ну, например, так:
uses crt;
var
i, rnd: integer;
begin
for i := 1 to 20 do begin
textcolor(random(15) + 1);
rnd := random(52);
gotoxy(random(80) + 1, random(25) + 1);
write(chr(rnd + 65 + byte(rnd > 26) * 6));
end;
readln;
textcolor(lightgray); { <--- Восстанавливаем цвет по умолчанию }
end.