Автор Тема: Графика в Паскале (динамика), осуществить движение  (Прочитано 8667 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Вивандия

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
это графика в Паскале (динамика)
дана окружность в центре экрана.
осуществить её движение с помощью стрелок
вправо и влево - окружность движется без изменения.
вверх - увеличивается
вниз - уменьшается.
окружность должна двигаться ЗАКРАШЕННОЙ!

вправо и влево я сделала, а вверх и вниз - не получается

Листинг программы.
program main;
uses GRAPH, crt;
const h=15;
var r,d,m,ckx,cky,xk,size,x,y: integer;p: pointer;c: char;
begin
r:=15;d:=detect;initgraph(d,m,'');setbkcolor(red);
ckx:=getmaxx div 2;
cky:=getmaxy div 2;
setcolor(blue);circle(ckx,cky,r);
setfillstyle(1,blue);floodfill(ckx,cky,blue);
x:=ckx-r;
y:=cky-r;
size:=imagesize(x,y,ckx+2*r,cky+2*r);
getmem(p,size);
getimage(x,y,ckx+2*r,cky+2*r,p^);
repeat
delay(10000);
c:=readkey;
if c=#0 then
        begin
        c:=readkey;
        setcolor(blue);
        case c of
        #27:
            begin
            closegraph;
            halt;
            end;
        #77:begin
        putimage(x,y,p^,1);
        x:=x+h;
        putimage(x,y,p^,1);
        end;
        #75:begin
        putimage(x,y,p^,1);
        x:=x-h;
        putimage(x,y,p^,1);
        end;
        #72:begin
        putimage(x,y,p^,1);
        y:=y-h;
        r:=r+h;
        freemem(p,size);
        size:=imagesize(x-r,y-r,x+r,y+r);
        getmem(p,size);
        getimage(x-r,y-r,x+r,y+r,p^);
        putimage(x,y,p^,1);
        end;
       { #80:begin
        putimage(x,y,p^,1);
        cky:=cky+h;
        r:=r-5;
        putimage(x,y,p^,1);
        end;
        end;
        setcolor(1);
        circle(ckx,cky,r);
        setfillstyle(1,blue);
        floodfill(ckx,cky,blue);
        }
        end;
        end;
        until c=#27;
        closegraph;
        freemem(p,size);
        end.



помогите, пожалуйста.... :( :( :(
« Последнее редактирование: 29 Августа 2010, 19:38:40 от Asix »

Оффлайн InfStudent

  • Модератор
  • *****
  • Сообщений: 1356
  • Куба любовь моя))
    • Просмотр профиля
Что не получается конкретно, где ошибка или как проявляется конкретней пытались трассировать по шагам или как?
« Последнее редактирование: 29 Августа 2010, 19:38:53 от Asix »
Прежде чем задавать вопрос в раздел по программированию повтори теорию и посмотри FAQ! Просьба не кидайте задания в ЛС и не надо мне писать: "посмотри мою задачу!!!" Я смотрю все задачи в разделе когда на форуме
Учтите что подобные ЛС будут оставлены без внимания!
УКАЗЫВАЙТЕ ЯЗЫК ПРОГРАММИРОВАНИЯ НА КОТОРОМ ДОЛЖНА БЫТЬ РЕШЕНА ЗАДАЧА
Вам в помощь:
∫ ¼ ½ ¾ ⅓ ⅔ ⅛ ⅜ ⅝ ⅞ ² ³ ± ~ ‰ ∞ √ ∑ ∆ ℮ ∩ ≡ ≤ ≥ ≈ ∩

Оффлайн Вивандия

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
#72:begin
        putimage(x,y,p^,1);
        y:=y-h;
        r:=r+h;
        freemem(p,size);
        size:=imagesize(x-r,y-r,x+r,y+r);
        getmem(p,size);
        getimage(x-r,y-r,x+r,y+r,p^);
        putimage(x,y,p^,1);
        end;
       { #80:begin
        putimage(x,y,p^,1);
        cky:=cky+h;
        r:=r-5;
        putimage(x,y,p^,1);
        end;
        end;
        setcolor(1);
        circle(ckx,cky,r);
        setfillstyle(1,blue);
        floodfill(ckx,cky,blue);
        }
        end;
        end;
        until c=#27;
        closegraph;
        freemem(p,size);
        end.

этот кусочек не получается, не получается её двигать закрашенной. закрашивает не то, что нужно.
у меня не углублённый паскаль, я не все термины понимаю..
« Последнее редактирование: 29 Августа 2010, 19:39:01 от Asix »

Оффлайн InfStudent

  • Модератор
  • *****
  • Сообщений: 1356
  • Куба любовь моя))
    • Просмотр профиля
Пошагавая трассировка это режим когда Turbo Pascal выполняет программу по шагам. вызывается при помощи F7 или F6
« Последнее редактирование: 29 Августа 2010, 19:39:10 от Asix »
Прежде чем задавать вопрос в раздел по программированию повтори теорию и посмотри FAQ! Просьба не кидайте задания в ЛС и не надо мне писать: "посмотри мою задачу!!!" Я смотрю все задачи в разделе когда на форуме
Учтите что подобные ЛС будут оставлены без внимания!
УКАЗЫВАЙТЕ ЯЗЫК ПРОГРАММИРОВАНИЯ НА КОТОРОМ ДОЛЖНА БЫТЬ РЕШЕНА ЗАДАЧА
Вам в помощь:
∫ ¼ ½ ¾ ⅓ ⅔ ⅛ ⅜ ⅝ ⅞ ² ³ ± ~ ‰ ∞ √ ∑ ∆ ℮ ∩ ≡ ≤ ≥ ≈ ∩

Оффлайн Вивандия

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
спасибо, буду знать, хотя нам в вузе про это ничего не говорили...
нам Паскаль очень поверхностно дают.
я его вообще с нуля начала и до этого никогда не занималась программированием.

а Вы не знаете, как можно исправить эту от кусочек, чтобы всё правильно работало?
я просто с этой задачей уже три недели торчу...
последняя осталась у меня, даже курсовик почти доделала сама...
« Последнее редактирование: 29 Августа 2010, 19:39:21 от Asix »

Оффлайн InfStudent

  • Модератор
  • *****
  • Сообщений: 1356
  • Куба любовь моя))
    • Просмотр профиля
Да вся проблема что я Delphист ну в очень сложных случаях LabVIEWист)) Средствами рисования TP никогда не пользовался
« Последнее редактирование: 29 Августа 2010, 19:39:31 от Asix »
Прежде чем задавать вопрос в раздел по программированию повтори теорию и посмотри FAQ! Просьба не кидайте задания в ЛС и не надо мне писать: "посмотри мою задачу!!!" Я смотрю все задачи в разделе когда на форуме
Учтите что подобные ЛС будут оставлены без внимания!
УКАЗЫВАЙТЕ ЯЗЫК ПРОГРАММИРОВАНИЯ НА КОТОРОМ ДОЛЖНА БЫТЬ РЕШЕНА ЗАДАЧА
Вам в помощь:
∫ ¼ ½ ¾ ⅓ ⅔ ⅛ ⅜ ⅝ ⅞ ² ³ ± ~ ‰ ∞ √ ∑ ∆ ℮ ∩ ≡ ≤ ≥ ≈ ∩

Оффлайн InfStudent

  • Модератор
  • *****
  • Сообщений: 1356
  • Куба любовь моя))
    • Просмотр профиля
вот здесь могут и TPшники тусоваться )http://www.delphisources.ru/forum/
« Последнее редактирование: 29 Августа 2010, 19:39:41 от Asix »
Прежде чем задавать вопрос в раздел по программированию повтори теорию и посмотри FAQ! Просьба не кидайте задания в ЛС и не надо мне писать: "посмотри мою задачу!!!" Я смотрю все задачи в разделе когда на форуме
Учтите что подобные ЛС будут оставлены без внимания!
УКАЗЫВАЙТЕ ЯЗЫК ПРОГРАММИРОВАНИЯ НА КОТОРОМ ДОЛЖНА БЫТЬ РЕШЕНА ЗАДАЧА
Вам в помощь:
∫ ¼ ½ ¾ ⅓ ⅔ ⅛ ⅜ ⅝ ⅞ ² ³ ± ~ ‰ ∞ √ ∑ ∆ ℮ ∩ ≡ ≤ ≥ ≈ ∩

Оффлайн Вивандия

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
спасибо, сейчас обращусь :)
« Последнее редактирование: 29 Августа 2010, 19:39:48 от Asix »

Оффлайн plaklog452

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
floodfill - заливает всё до ближайшей границы указанным цветом
у вас он статичен на центре экрана, то есть закрашивается всё от центра экрана до ближайшей границы
если же изменять координаты "x" и "y" у функции floodfill(x,y,color) на ту же величину, на которую изменяется координаты центра круга, то всё будет нормально
« Последнее редактирование: 29 Августа 2010, 19:40:23 от Asix »

 

Помогите с посторйкой графика в Visual c++ (win32 console aplication)

Автор superman

Ответов: 0
Просмотров: 6531
Последний ответ 14 Сентября 2009, 19:36:18
от superman
Помогите правильно реализовать в маткаде функцию с построение графика

Автор sab

Ответов: 0
Просмотров: 2957
Последний ответ 05 Июня 2012, 21:08:10
от sab
Delphi графика, сделать чтобы окружности пересекались

Автор Агата

Ответов: 0
Просмотров: 1970
Последний ответ 09 Декабря 2011, 00:44:55
от Агата
Построение графика в Тurbo Pascal

Автор Мария_1

Ответов: 8
Просмотров: 4444
Последний ответ 27 Мая 2011, 20:44:47
от Selyd
Графика в borland c++

Автор bifshtex

Ответов: 1
Просмотров: 4433
Последний ответ 05 Марта 2010, 20:40:24
от bifshtex