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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2007, 12:09   #1
Dizman
Пользователь
 
Регистрация: 09.12.2007
Сообщений: 15
Радость Графика

Помогите пожалуйста решить задачи на Паскале.В графике вообще ничего не понимаю.

1. Написать программу, которая выводит на экран меню, в котором в зависимости от выбора пользователя появляется круг, квадрат или треугольник.

2. Напишите программу, которая в зависимости от кода нажатой клавиши (используйте клавиши перемещения курсора) управляет движением фигуры человечка (вверх, вниз, влево, вправо). Образ человечка занесите в память.

Последний раз редактировалось Dizman; 09.12.2007 в 12:28.
Dizman вне форума Ответить с цитированием
Старый 09.12.2007, 12:10   #2
kommunist
C# developer
Форумчанин
 
Аватар для kommunist
 
Регистрация: 03.10.2007
Сообщений: 393
По умолчанию

В Delphi или где ?
I like WPF
kommunist вне форума Ответить с цитированием
Старый 09.12.2007, 12:10   #3
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

На чём писать-то? Pascal, Delphi, Basic, C/C++??
zetrix вне форума Ответить с цитированием
Старый 09.12.2007, 12:12   #4
kommunist
C# developer
Форумчанин
 
Аватар для kommunist
 
Регистрация: 03.10.2007
Сообщений: 393
По умолчанию

задание 2 ->http://programmersforum.ru/showthrea...5242#post45242

p.s. там рассматривается движение фигур (вместо человека) от нажатия клавиш курсора
I like WPF
kommunist вне форума Ответить с цитированием
Старый 09.12.2007, 12:29   #5
Dizman
Пользователь
 
Регистрация: 09.12.2007
Сообщений: 15
По умолчанию

Поправил. На Паскале нужно сделать. От этого зависти мой зачет.
Dizman вне форума Ответить с цитированием
Старый 09.12.2007, 20:22   #6
Dizman
Пользователь
 
Регистрация: 09.12.2007
Сообщений: 15
По умолчанию

Вторую задачу я почти написал. Только не знаю как занести образ человечка в память.
Dizman вне форума Ответить с цитированием
Старый 09.12.2007, 21:44   #7
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

В память это значит ты его на экране не видишь. А потом бац вывел на экран и видишь
Можно как карту бит хранить, можно векторами. Смотря какой он из себя.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 09.12.2007, 22:11   #8
Dizman
Пользователь
 
Регистрация: 09.12.2007
Сообщений: 15
По умолчанию

Голова как круг, из него линии выходят. Я читал, что можно оператором Size делать...
Dizman вне форума Ответить с цитированием
Старый 10.12.2007, 12:46   #9
Dizman
Пользователь
 
Регистрация: 09.12.2007
Сообщений: 15
По умолчанию

Я сделал вторую программу, но столкнулся с проблемой. У меня на экране два человечка: один висит в левом верхнем углу, другим я управляю с помощью клавиш. Как убрать первого?

Код:
program z1;
uses graph,crt;
var xold,yold,dx,dy,drivervar,modevar,i,size,x,y,xmax,ymax:integer;
p1,p2:pointer;
c:char;
begin
drivervar:=detect;
detectgraph(drivervar,modevar);
initgraph(drivervar,modevar, ' ');
size:=imagesize(0,0,20,100);
setlinestyle(0,0,3);
pieslice(10,10,0,360,10);
fillellipse(10,40,10,20);
line(8,50,0,100);
line(12,60,20,100);
getmem(p1,size);
getimage(0,0,20,100,p1^);
dx:=1; dy:=1;
x:=100;y:=100;
xmax:=getmaxx;ymax:=getmaxy;
repeat;
putimage(x,y,p1^,1);
xold:=x;yold:=y;
c:=readkey;
if c=#0 then c:=readkey;
case c of
#72:if y>1 then y:=y-dy;
#75:if x>2 then x:=x-dx;
#80:if y<ymax-100 then y:=y+dy;
#77:if x<xmax-20 then x:=x+dx;
end;
putimage(xold,yold,p1^,1);
until c=#27;
freemem(p1,size);
closegraph;
end.
Dizman вне форума Ответить с цитированием
Старый 10.12.2007, 13:07   #10
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

после getimage(0,0,20,100,p1^);
очистить экран ..
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графика** Lenivec** Паскаль, Turbo Pascal, PascalABC.NET 2 28.04.2010 23:41
Графика V1rusPro Общие вопросы .NET 0 22.04.2008 08:25
графика ben95 Общие вопросы Delphi 3 06.02.2008 22:24
Графика С++ kommunist Общие вопросы C/C++ 6 14.01.2008 15:21
Графика Aram Общие вопросы C/C++ 1 18.04.2007 18:56