Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2018, 17:47   #1
fhudhf
Новичок
Джуниор
 
Регистрация: 10.11.2018
Сообщений: 1
Печаль помогите пожулуста ,как вывести картинки на экран В графическом режиме pascal abc ,спасибо заранее

овен.gif
например если ваш знак овен ,вывести эту картину
Код:
uses graphABC; 
const kol=1000;
      cl:array[0..3]of Color=(clBlue,clWhite,clYellow,clSkyBlue);
type mas=array[1..kol] of point;      
procedure zvezdy(a:mas); //звездное небо
var c:byte;
begin
for var i:=1 to kol do
 begin
  c:=random(3);
  setpixel(a[i].X,a[i].Y,cl[c]);
 end;
end;
procedure pois(year,m,d:integer;var s1,s2:string);
var n:integer;
begin
setfontsize(14);
setfontcolor(clBlue );
SetFontStyle (fsItalic);
s1:='Ваш знак ';
s2:='Вы родились в Год ';
case m of
1: if d<20 then n:=12 else n:=1;
2: if d<19 then n:=1  else n:=2;
3: if d<21 then n:=2  else n:=3;
4: if d<20 then n:=3  else n:=4;
5: if d<21 then n:=4  else n:=5;
6: if d<22 then n:=5  else n:=6;
7: if d<23 then n:=6  else n:=7;
8: if d<23 then n:=7  else n:=8;
9: if d<23 then n:=8  else n:=9;
10:if d<23 then n:=9  else n:=10;
11:if d<23 then n:=10 else n:=11;
12:if d<22 then n:=11 else n:=12    
end;
case n of
1:s1:=s1+'Водолей';
2:s1:=s1+'Рыбы';
3:s1:=s1+'Овен';
4:s1:=s1+'Телец';
5:s1:=s1+'Близнецы';
6:s1:=s1+'Рак';
7:s1:=s1+'Лев';
8:s1:=s1+'Дева';
9:s1:=s1+'Весы';
10:s1:=s1+'Скорпион. Натура крайностей и противоречий. Безжалостная и страстная.';
11:s1:=s1+'Стрелец';
12:s1:=s1+'Козерог';
end;
 
case year mod 12 of
0:s2:=s2+'обезьяны';
1:s2:=s2+'петуха';
2:s2:=s2+'собаки';
3:s2:=s2+'свиньи';
4:s2:=s2+'крысы';
5:s2:=s2+'коровы';
6:s2:=s2+'тигра';
7:s2:=s2+'зайца';
8:s2:=s2+'дракона';
9:s2:=s2+'змеи';
10:s2:=s2+'лошади';
11:s2:=s2+'овцы';
end;
end;
//високосный ли год
function vis(g:integer):boolean;
begin
vis:=((g mod 4=0)and(g mod 100<>0))//если кратно 4 и не кратно 100
or((g mod 4=0)and(g mod 400=0))//или кратно 4 и кратно 400
end;
var a:mas;
    d,m,y:integer;
    s1,s2:string;
begin
randomize;
repeat
writeln('Введите год рождения от 1900 до 2018 ');
readln(y);
until(y>=1900)and(y<=2018);
repeat
writeln('Введите месяц от  до 12 ');
readln(m);
until m in [1..12];
repeat
writeln('Введите день рождения  ');
readln(d); 
until((m in [1,3,5,7,8,10,12])and(d in [1..31]))
   or((m in [4,6,9,11])and(d in [1..30]))
   or((m=2)and vis(y)and(d in [1..29]))
   or((m=2)and not vis(y)and(d in [1..28]));
for var i:=1 to kol do
 begin
 MaximizeWindow; 
  a[i].X:=1+random(windowwidth-1);
  a[i].Y:=1+random(windowheight-1);
 end;
clearwindow(clBlack);
pois(y,m,d,s1,s2);
repeat
zvezdy(a);
setbrushstyle(bsClear);
 
textout(windowwidth div 2-textwidth(s1)div 2,windowheight div 2-50,s1);
textout(windowwidth div 2-textwidth(s2)div 2,windowheight div 2+20,s2);
sleep(100);
redraw;
until false
end.
Пожалуйста, оформляйте Ваш код согласно правилам.

Последний раз редактировалось Вадим Мошев; 10.11.2018 в 18:29.
fhudhf вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести символ на экран в графическом режиме 0x13 Viriat Общие вопросы C/C++ 2 30.12.2009 17:22
как вывести текст на экран в графическом режиме. alex(21) Паскаль, Turbo Pascal, PascalABC.NET 3 24.07.2009 15:56
Как в графическом режиме вывести на экран переменную String Doholyan Паскаль, Turbo Pascal, PascalABC.NET 3 09.07.2009 19:29