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

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

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

 
 Ответить  Открыть новую тему 
> Самолет в пространтсве
сообщение
Сообщение #1





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

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


Привет всем , совсем недавно я наткнулся на задание , и сразу же сел в лужу как его делать , помогите мне кто чем может пожалуйста , а вот и задача:
При запуске программы должна выскочить менюшка , где написано "Свободное движение , с помощью клавиатуры , выход)
Свободное:Движение со сменой направления на границах экрана с диагонального на вертикальное и наоборот
Спомощью клавиатуры: F1(0,59), F2(0,60), F3(0,61), F4(0,62).
ну а летать должен самолетик sad.gif , помогите пожалуйста , я даже заплатить смогу , ну действительно срочно нужно
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(Styleofjune @ 27.11.2006 6:38) *

Привет всем , совсем недавно я наткнулся на задание , и сразу же сел в лужу как его делать , помогите мне кто чем может пожалуйста , а вот и задача:
При запуске программы должна выскочить менюшка , где написано "Свободное движение , с помощью клавиатуры , выход)
Свободное:Движение со сменой направления на границах экрана с диагонального на вертикальное и наоборот
Спомощью клавиатуры: F1(0,59), F2(0,60), F3(0,61), F4(0,62).
ну а летать должен самолетик sad.gif , помогите пожалуйста , я даже заплатить смогу , ну действительно срочно нужно

Styleofjune, ты уж определись - если платишь, то иди в раздел "Задачи на заказ". Если продолжишь здесь - то, возможно, потребуется твое активное участие и некоторое время..
В любом случае, определи условие почетче:
- менюшка в тексте или в графике?
- что делают эти четыре клавиши?
- как прорисован самолет (в плане, профиль, 3/4, размер, детализация ..)?
- должен ли он поворачиваться в сторону движения?
- как осуществляется возврат в меню?..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


Ну запускается программа и сразу в центре экрана появляется меню , как я поняла графческое
F1 - влево
F2 - вправо
F3 - вверх
F4 - вниз
Самолетик обычный , 2д плоское изображение
двигается просто , не разварачивается
а возврата в меню нету , нажимаем любую клавишу и выход
Помогите пожалуйста , ну я совсем не поняла эту графику , спасибо
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Ты решила остаться в бесплатном разделе - так? Оно и правильно, тебе больше будет пользы от этого.

Меню в графике - вещь не самая тривиальная.. Если ты не совсем уверена, то лучше узнай поточнее, чем мучиться с выравниванием текста и т.п. Думаю, в результате код меню получится значительно больше, чем код основной части. Судя по тому, что тебе не надо в меню возвращаться, смею предположить, что текстовое сойдет.

Можно разбить задачу на несколько частей:
- движение (точки) по экрану
- управление движением
- прорисовка самолета
- меню

Как у тебя с Паскалем? Начни, а мы поможем..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





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

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


Андрей понимаешь , меню я смогла сделать , а вот с движением и изображением самолета возникли проблемыsad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(Styleofjune @ 27.11.2006 12:33) *

Андрей понимаешь , меню я смогла сделать , а вот с движением и изображением самолета возникли проблемыsad.gif

Какого рода проблемы?
Покажи хотя бы безуспешные попытки..

Общий принцип такой:
- делаешь процедуру для рисования самолета с двумя параметрами: положение и цвет;
- вызов этой процедуры с белым цветом - это его рисование, с черным - стирание;
- потом следующая последовательность действий: нарисовать-подождать-стереть-сдвинуть-нарисовать. Это будет выглядеть как движение.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





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

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


uses crt, graph;
type str20 = string[20];
menu = array [1..3] of str20;
const mm:menu=('Free Motion ','With Keyboard','Exit ');
var i,j:integer;
gD,gM:integer;
x,y:word;
dx,dy:shortint;
ch:char;
k:byte;
function readChar:char;
var c:char;
begin
c:=readkey;
if c=#0 then c:=readkey;
readchar:=c;
end;
function case_k(ch:char; k:byte):byte;
begin
case ch of
#61: if k>1 then k:=k-1 else k:=3;
#62: if k<3 then k:=k+1 else k:=1;
end;
case_k:=k;
end;
{dalee druz'ya napisalo chto-to no tak i ne ponala}
procedure showstring(k1,k2:byte; s:str20; gr,cl:byte);
begin
textbackground(gr);
textcolor(cl);
gotoXY(k1,k2);
write(s);
end;
procedure redraw;
begin

{a tut kak ya ponala mne nado narisovat samoletik}

end;
BEGIN
clrscr;



case k of
1: while not keypressed do
begin
if (x>=610) or (x<=30) then dx:=-dx;
if (y>=455) or (y<=30) then dy:=-dy;
x:=x+dx;
y:=y+dy;
redraw;
delay(1100);
end;
2: repeat
redraw;
ch:=readkey;
if (ch=#75) and (x>30) then
begin
dx:=-3;
dy:=0;
x:=x+dx;
end;
if (ch=#77) and (x<610) then
begin
dx:=3;
dy:=0;
x:=x+dx;
end;
if (ch=#72) and (y>30) then
begin
dx:=0;
dy:=-3;
y:=y+dy;
end;
if (ch=#80) and (y<455) then
begin
dx:=0;
dy:=3;
y:=y+dy;
end;
until (ch=#13) or (ch=#32);
3: halt;
end;
closegraph;
END.


ВОт отрывками все поделала sad.gif , запуталась блин
Я все сделала , закройте тему

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

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

 





- Текстовая версия 5.12.2020 0:57
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name