IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Задачи на графику
Dezman
сообщение 8.12.2007 13:32
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской

Репутация: -  0  +


Ни на одном форуме мне никто не смог помочь. Надеюсь, что здесь я все таки найду помощь smile.gif

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

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

Заранее спасибо! smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Dezman
сообщение 11.12.2007 20:19
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской

Репутация: -  0  +


Я скопировал это на одном форуме, меню сойдет, но как описать появление квадрата, круга и треугольника.
Наверное процедуру надо написать. Я пишу обычную про-ру, вставляю ее имя после case в самом низу программы, а она не пашет. Вместо начать и загрузить, я пишу квадрат...


uses crt;
type
menuitems=array [1..3] of string;

const
mainmenu:menuitems =
(' начать ',
' загрузить ',
' Выход ');

Procedure menu(var m:menuitems; kol: byte; var num: byte);

var i,y: byte; ch: char;

Begin
window(25,8,65,20);
textbackground(0);
clrscr;
textcolor(12);
writeln(' +------+ ');
writeln('+----------! МЕНЮ !-----------+');
writeln('! +------+ !');
{ writeln(' ХННННННё ');
writeln('ЙННННННННННµ Њ…Ќћ ЖННННННННННН»');
writeln('є ФННННННѕ є'); }
for i:=1 to kol do
writeln('! !');
{ for i:=1 to kol do
writeln('є є');
}

window(25,10+kol+1,65,10+kol+1);
write('+-----------------------------+');
{ write('ИНННННННННННННННННННННННННННННј'); }

window(26,10+2,54,10+kol);
textcolor(3);
for i:=2 to kol-1 do
writeln(m[i]);
textcolor(4);write(m[kol]);

window(26,10+1,54,10+1);
textcolor(15);
textbackground(9);
clrscr;
write(m[1]);
i:=1;
y:=11;

repeat
ch:=readkey;
case ch of
#80: begin
window(26,y,54,y);textcolor(3);textbackground(0);clrscr;
write(m[i]);
if i=kol then
begin
window(26,y,54,y);clrscr;textbackground(0);textcolor(4);write(m[kol]);
i:=1;y:=11;
end
else begin inc(i);inc(y);end;
window(26,y,54,y);textcolor(15);textbackground(9);clrscr;write(m[i]);
end;
#72: begin
window(26,y,54,y);textcolor(3);textbackground(0);clrscr;write(m[i]);
if i=1 then
begin
i:=kol;y:=10+kol;
end
else begin i:=i-1;y:=y-1;
if i=kol-1 then begin
window(26,10+kol,54,10+kol);textcolor(4);clrscr;write(m[kol]); end;
end;
window(26,y,54,y);textcolor(15);textbackground(9);clrscr;write(m[i]);
end;
end;
until (ch=#13);
num:=i;
end;


var r: byte;

begin
textbackground(0);
clrscr;

repeat
window(1,1,80,25); textbackground(0); clrscr;

menu(mainmenu,3,r);

window(1,1,80,25); textbackground(0); clrscr;

Case r of

1: вызвать процедуру начать;

2: вызвать процедуру загрузить;

end;

until r=3;
end.



Сообщение отредактировано: Dezman - 11.12.2007 20:20
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Dezman   Задачи на графику   8.12.2007 13:32
Ozzя   меню во фрейме [b]Добавлено через 2 мин. [url=...   8.12.2007 13:36
Dezman   Спасибо большое, теперь все понятно :) :good: мен...   10.12.2007 13:51
Dezman   2Ozzя В Паскале у меня есть один большой пробел эт...   8.12.2007 13:50
Ozzя   2. вводный проект Добавлено через 2 мин. В 1-м ...   8.12.2007 14:09
Dezman   А вторую часть первой проги куда прикрутить? :(   8.12.2007 20:46
Dezman   Вторая задача у меня не работает :( Может кто-нить...   8.12.2007 21:27
Dezman   Неужели никто не знает? :( Мне это на зачет надо, ...   8.12.2007 23:23
Ozzя   как сохранить в память человечка не знаю! g...   10.12.2007 10:46
Dezman   :( Мдя   9.12.2007 11:58
Dezman   Я сделал вторую программу, но столкнулся с проблем...   10.12.2007 12:41
Ozzя   После GetImage сделай ClearViewPort.   10.12.2007 13:31
volvo   getimage(0,0,20,100,p1^); { <--- это у тебя был...   10.12.2007 13:34
volvo   А Unit не запускается... Его надо подключить к про...   10.12.2007 14:14
Dezman   То есть: Program Z1; Uses Unit .... Или как? Я в ...   10.12.2007 14:25
Артемий   Да.Только не Unit - это зарезервированное слово.Un...   10.12.2007 14:32
Dezman   file not found (unit1.tpu) И где его взять? Замучи...   10.12.2007 14:36
Артемий   Так ты должен создать сначала этот юнит,другими сл...   10.12.2007 14:39
Dezman   Можешь написать этот кусок?   10.12.2007 14:45
volvo   Dezman, по приведенной тобой ссылке есть текст мод...   10.12.2007 14:52
Ozzя   ерш твою медь! :mad:   10.12.2007 14:54
Dezman   Спокойно :( Я ж говорил, что в модулях и графике н...   10.12.2007 14:56
Dezman   Я скопировал это на одном форуме, меню сойдет, но ...   11.12.2007 20:19
volvo   У тебя ж графика не инициализирована... InitGraph/...   11.12.2007 20:23
Dezman   И есть вся прога полностью, она работает. Я просто...   11.12.2007 20:27
volvo   Опять 25... Работает - это значит компилируется (и...   11.12.2007 21:16
Dezman   Это прога выводит только меню. А как сделать так, ...   11.12.2007 21:32


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 14.07.2025 0:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"