|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.10.2009, 14:23 | #1 |
Новичок
Джуниор
Регистрация: 21.10.2009
Сообщений: 2
|
неполучаеться закрасить квадрат
Код:
Последний раз редактировалось Stilet; 21.10.2009 в 14:33. |
21.10.2009, 19:02 | #2 |
Новичок
Джуниор
Регистрация: 21.10.2009
Сообщений: 2
|
я переделал программу,но как сделать чтобы квадрат hide тоже останавливался у границ экрана?
Uses Crt, Graph; Type Location=object x,y:integer; procedure Init(x1,y1:integer); function Getx:integer; function Gety:integer; end; Square=object(Location) A:integer; procedure Init(x1,y1,A1:integer); function GetA:integer; procedure Show; procedure Hide; procedure Shift(x1,y1:integer); end; Procedure Location.Init(x1,y1:integer); Begin x:=x1; y:=y1; end; Function Location.Getx:integer; Begin Getx:=x; end; Function Location.Gety:integer; Begin Gety:=y; end; Procedure Square.Init(x1,y1,A1:integer); Begin Location.Init(x1,y1); A:=A1; end; Function Square.GetA:integer; Begin GetA:=A; end; Procedure Square.Show; Begin setfillstyle(1,blue); Rectangle(x,y,x+50,y +50); floodfill(x+5,y+1,blue); end; Procedure Square.Hide; Var color:word; Begin color:=GetColor; setfillstyle(1,black); Rectangle(x,y,x+50,y+50); floodfill(x+5,y+1,black); SetColor(color); end; Procedure Square.Shift(x1,y1:integer); Begin Hide; Init(x1,y1,A); if x1>589 then x:=589 else if x1<0 then x:=0 else x:=x1; if y1>429 then y:=429 else if y1<0 then y:=0 else y:=y1; show; end; Var Gd, Gm : Integer; A,h : integer; mySquare:Square; x,y:integer; c:char; Begin h:=100; Gd:=Detect; InitGraph(Gd, Gm, ''); Randomize; A:=50; x:=Random(640-A)+(A div 2); y:=480-h-(A div 2)-1; setColor(blue); mySquare.Init(x,y,A); mySquare.Show; Repeat if KeyPressed then begin c:=ReadKey; if c=#75 then begin x:=x-3; mySquare.Shift(x,y); end; if c=#77 then begin x:=x+3; mySquare.Shift(x,y); end; if c=#72 then begin y:=y-3; mySquare.Shift(x,y); end; if c=#80 then begin y:=y+3; mySquare.Shift(x,y); end; end; Until c=#32; CloseGraph; End. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Народ помогите нужно решить 2 задачки а у самого нечего неполучаеться | Spectr | Помощь студентам | 14 | 03.07.2009 16:53 |
vba закрасить все циклы синим цветом | Berckyt | Помощь студентам | 0 | 19.04.2009 14:21 |
Магический квадрат | Anarx | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 18.12.2008 13:07 |
Закрасить кнопку | artemavd | Общие вопросы Delphi | 9 | 12.07.2008 15:37 |
хочу закрасить розовым цветом(си) | Барби | Помощь студентам | 1 | 25.05.2008 13:58 |