![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 03.04.2011
Сообщений: 19
|
![]()
Люди помогите пожалуйста
нужно понять какие в программе ошибки.. мне нужно чтобы точка случайно генерировалась на экране и когда мы нажимали стрелочки точка двигалась но ее не было видно с шагом от 3 до 5 по нажатию enter точку было видно, а посередине круг нужно чтобы попадая туда точка сама останавливалась!!!помоги скоро сдавать uses crt, graph; const l=400; r=25; dr=2; c1=Brown; c2=Blue; c3=Yellow; c4=Red; function Rnd: Integer; var r: Integer; begin r:=Random(2*r)+l div 2-2*r-dr; if Random(2)=0 then Rnd:=r else Rnd:=-r; end; procedure Cir(x, y, r: Integer; c: Word); begin SetColor(c); SetFillStyle(SolidFill, c); FillEllipse(GetMaxX div 2+x, GetMaxY div 2-y, r, r); end; function CheckMax(x: Integer): Integer; var r: Integer; begin if Abs(x)>l div 2 - dr then begin r:=l div 2 - dr; if x<0 then r:=-r; end else r:=x; CheckMax:=r; end; function Check(x, y: Integer): Boolean; begin if (Abs(x)>r+dr) or (Abs(y)>r+dr) then Check:=false else Check:=(x*x+y*y)<=Sqr(r+dr); end; var gd,gm, ErrCode, x, y, h: Integer; ga: String; ch: Char; visible: Boolean; begin Randomize; gd:=VGA; gm:=VGAHi; ga:='c:\bp\bgi'; InitGraph(gd,gm,ga); if GraphResult = grOk then begin x:=(GetMaxX-l-2) div 2; y:=(GetMaxY-l-2) div 2; SetColor(c1); SetFillStyle(SolidFill, c2); Bar3D(x, y, x+l+2, y+l+2, 0, TopOff); OutTextXY(170, 460, 'ESC Enter Spase'); SetColor(LightGray); OutTextXY(200, 460, '- Exit'); OutTextXY(305, 460, '- View'); OutTextXY(410, 460, '- Start'); repeat visible:=false; Cir(0, 0, r, c3); x:=Rnd; y:=Rnd; repeat ch:=ReadKey; if (ch=#0) and KeyPressed then begin ch:=ReadKey; if ch in [#72, #75, #77, #80] then begin if visible then begin Cir(x, y, dr, c2); if Check(x, y) then Cir(0, 0, r, c3); end; h:=Random(3)+3; case ch of #72:y:=CheckMax(y+h); #75:x:=CheckMax(x-h); #77:x:=CheckMax(x+h); #80:y:=CheckMax(y-h); end; if visible then Cir(x, y, dr, c4); end; end else if ch=#13 then begin visible:=true; Cir(x, y, dr, c4); end; until ch in [#27, ' ']; Cir(x, y, dr, c2); until ch=#27; CloseGraph; end else begin Writeln('Ошибка инициализации графики'); ReadKey; end; end. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ЕАИСТО (единая автоматизированная информационная система технического осмотра)система | ioff83 | HTML и CSS | 0 | 09.01.2012 16:43 |
Система принятия решения (Экспертная система) | daranton | Microsoft Office Excel | 4 | 01.05.2010 17:55 |
Система (Си) | Defa4ka | Помощь студентам | 2 | 01.10.2009 02:22 |
Экспертная система | TheX3 | Помощь студентам | 2 | 01.04.2009 18:20 |