Pascal(помогите написать игру) - Страница 3 - ФОРУМ ПОСТУПИМ.РУ
Главная
Поиск репетитора
Коллективный блог
публикаций
Форум (обсуждаем ЕГЭ 2020)
тем и сообщений
Для учебы




Войти
или
Зарегистрироваться
Новые сообщения · Участники · Правила форума · Поиск по форуму · RSS
ФОРУМ ПОСТУПИМ.РУ » ОБЩЕНИЕ » Помогаем друг другу » Pascal(помогите написать игру) (камень-ножницы-бумага)
Pascal(помогите написать игру)
DanielkaДата: Понедельник, 2011-05-30, 0:33 AM | Сообщение # 31
Бакалавр
Группа: Проверенные
Сообщений: 127
Репутация: 1
Награды: 0
Замечания: 0%
Статус: Offline
KaDeaT, я соединила функции...
или зря:?

program igra;
uses crt, graph;

function kamen:real;
var
grDriver,grMode:integer;
x,y,fi1,fi2,rx,ry:integer;

BEGIN
grDriver:=Detect;{®ЇаҐ¤Ґ«Ґ­ЁҐ вЁЇ  Ја дЁзҐбЄ®Ј® ¤а ©ўҐа }
InitGraph(grDriver,grMode,'egavga.bgi');{Ё­ЁжЁ «Ё§ жЁп Ја дЁЄЁ}
if GraphResult<>grOk then {Ґб«Ё Їа®Ё§®и«  ®иЁЎЄ  Halt Ё­ЁжЁ «Ё§ жЁЁ
б Ї®¬®ймо ўл室Ё¬ Ё§ Їа®Ја ¬¬}
writeln(GraphErrorMsg(graphresult))
else
begin
x:=150;
y:=150;
rx:=70;
ry:=50;
setfillstyle(1,7);
fillellipse(x,y,rx,ry);
readln;
CloseGraph
end
end;

function nojnici:real;
var
grDriver,grMode:integer;
x1,y1,x2,y2,r,x3,x4,x5,x6,y3,y4,y5,y6:integer;

BEGIN
grDriver:=Detect;{®ЇаҐ¤Ґ«Ґ­ЁҐ вЁЇ  Ја дЁзҐбЄ®Ј® ¤а ©ўҐа }
InitGraph(grDriver,grMode,'egavga.bgi');{Ё­ЁжЁ «Ё§ жЁп Ја дЁЄЁ}
if GraphResult<>grOk then {Ґб«Ё Їа®Ё§®и«  ®иЁЎЄ  Halt Ё­ЁжЁ «Ё§ жЁЁ
б Ї®¬®ймо ўл室Ё¬ Ё§ Їа®Ја ¬¬}
writeln(GraphErrorMsg(graphresult))
else
begin
x1:=50;
y1:=50;
x2:=50;
y2:=100;
r:=10;
circle(x1,y1,r);
circle(x2,y2,r);
x3:=58;
x4:=100;
y3:=58;
y4:=100;
line(x3,y3,x4,y4);
x5:=58;
x6:=100;
y5:=95;
y6:=50;
line(x5,y5,x6,y6);
readln;
CloseGraph
end
end;

function bymaga:real;
var
grDriver,grMode:integer;
x1,y1,x2,y2:integer;

BEGIN
grDriver:=Detect;{®ЇаҐ¤Ґ«Ґ­ЁҐ вЁЇ  Ја дЁзҐбЄ®Ј® ¤а ©ўҐа }
InitGraph(grDriver,grMode,'egavga.bgi');{Ё­ЁжЁ «Ё§ жЁп Ја дЁЄЁ}
if GraphResult<>grOk then {Ґб«Ё Їа®Ё§®и«  ®иЁЎЄ  Halt Ё­ЁжЁ «Ё§ жЁЁ
б Ї®¬®ймо ўл室Ё¬ Ё§ Їа®Ја ¬¬}
writeln(GraphErrorMsg(graphresult))
else
begin
x1:=30;
y1:=30;
x2:=100;
y2:=100;
bar(x1,y1,x2,y2);
readln;
CloseGraph
end
end;

begin
{основная программа};
end.


----------------------
Нелегка жизнь студента...:(
 
KaDeaTДата: Понедельник, 2011-05-30, 0:38 AM | Сообщение # 32
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Награды: 136
Замечания: 0%
Статус: Offline
Их и надо соединить. Ты проверила? Работает?
Тебе надо чтобы когда ты в основной программе напишешь например
bymaga(70,70);

у тебя в точке 70 70 нарисовалась бумага, и так для любой функциию Преписывай что бы работало так как я сказал =)

Добавлено (2011-05-30, 0:38 Am)
---------------------------------------------
http://pascal.guti.ru/procedure.html вот почитай, может чем поможет =)


Обучение программированию
 
DanielkaДата: Понедельник, 2011-05-30, 0:42 AM | Сообщение # 33
Бакалавр
Группа: Проверенные
Сообщений: 127
Репутация: 1
Награды: 0
Замечания: 0%
Статус: Offline
у меня в самой функции прописаны координаты)
а так работает)


----------------------
Нелегка жизнь студента...:(
 
KaDeaTДата: Понедельник, 2011-05-30, 0:50 AM | Сообщение # 34
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Награды: 136
Замечания: 0%
Статус: Offline
Quote (Danielka)
у меня в самой функции прописаны координаты)

неееет. Так не пойдет. Делай как я тебе говорю =)и убери эти сраные комментарии они раздражают =)

Добавлено (2011-05-30, 0:50 Am)
---------------------------------------------
Danielka, иди делай по две функции на каждую фигурку. Но это твой говнокод, сделает еще более говняным =)))


Обучение программированию
 
isdenДата: Понедельник, 2011-05-30, 1:04 AM | Сообщение # 35
Нобелевский лауреат
Группа: Проверенные
Сообщений: 4792
Репутация: 850
Награды: 50
Замечания: 40%
Статус: Offline
Quote (KaDeaT)
Есть так же и обратная стратегия. Сначала основу программы пишешь, с функциями-заглушками, т.е. просто имена, но они ничего не делают, как скелет. А потом каждую по отдельности прорабатываешь.Я таким пользуюсь на олимпиадах.

так не особо удобно, имхо. процедуру раз десять изменить можно. а заглушки в большом коде утомительно искать
 
KaDeaTДата: Понедельник, 2011-05-30, 1:14 AM | Сообщение # 36
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Награды: 136
Замечания: 0%
Статус: Offline
isden, ну фиг знает, ты когда нибудь видел ооочень большой код в олимпиадных задачах? Кроме мирового уровня?
Изначально все выглядит так:
модули
переменные

функция загл1
функция загл2
функция загл3
........
функция загл N

begin

и тут небольшой код и вызовы этих функций.
внутри.
все распихано красиво и аккуратно
end.

Добавлено (2011-05-30, 1:14 Am)
---------------------------------------------
Ладно я ушел спать, завтра вечером если надо продолжим.часиков в 23 я буду на форуме


Обучение программированию
 
isdenДата: Понедельник, 2011-05-30, 10:20 PM | Сообщение # 37
Нобелевский лауреат
Группа: Проверенные
Сообщений: 4792
Репутация: 850
Награды: 50
Замечания: 40%
Статус: Offline
KaDeaT, меня на олимпиады по кодерству не пускали. я вещества мешал

Добавлено (2011-05-30, 10:20 PM)
---------------------------------------------
graphics error 1172
мне мозг поломало

 
KaDeaTДата: Понедельник, 2011-05-30, 10:31 PM | Сообщение # 38
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Награды: 136
Замечания: 0%
Статус: Offline
Что за странная ошибка, в справочнике ее нет. Что за среда программирования?Покажи код.

Обучение программированию
 
isdenДата: Понедельник, 2011-05-30, 10:51 PM | Сообщение # 39
Нобелевский лауреат
Группа: Проверенные
Сообщений: 4792
Репутация: 850
Награды: 50
Замечания: 40%
Статус: Offline
KaDeaT, паскаль уж. код убог. сижу разбираюсь в нем. у меня 7 стоит, из-за нее все вверх дном
 
KaDeaTДата: Понедельник, 2011-05-30, 10:53 PM | Сообщение # 40
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Награды: 136
Замечания: 0%
Статус: Offline
Что паскаль? компилируешь в чем? =)
Turbo Pascal
Free Pascal
PascalABC
или еще в чем, показывай не стесняйся.


Обучение программированию
 
isdenДата: Понедельник, 2011-05-30, 10:58 PM | Сообщение # 41
Нобелевский лауреат
Группа: Проверенные
Сообщений: 4792
Репутация: 850
Награды: 50
Замечания: 40%
Статус: Offline
Quote (KaDeaT)
Turbo Pascal

выбираю это.

procedure game;
var
driver,mode,error:integer;
k:char;
begin
driver:=IBM8514;
mode:=IBM8514Hi;
initgraph(driver,mode,'C:\Users\Gi\Desktop\tp7\BGI');
{if error<>grOk then writeln(grapherrormsg(error))
else}
begin
{setviewport(1,1,640,480,true);}
case x of
0:rectangle(50,50,100,100);
1:circle(100,100,30);
2:begin
line(50,100,100,50);
line(50,50,100,100)
end
end;
case y of
0:rectangle(150,50,200,100);
1:circle(200,200,30);
2:begin
line(150,50,200,100);
line(150,100,200,50)
end
end;
readln;
closegraph;
end;
end;

Добавлено (2011-05-30, 10:58 PM)
---------------------------------------------
если коммент убрать, то ошибка валиться, а на хрюше все пропускает, но рисует желтый квадрат с зависанием


Сообщение отредактировал isden - Понедельник, 2011-05-30, 10:59 PM
 
KaDeaTДата: Понедельник, 2011-05-30, 11:03 PM | Сообщение # 42
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Награды: 136
Замечания: 0%
Статус: Offline
а нафига ты сам драва определяешь? а не оставишь эту возможность компу?

Обучение программированию
 
isdenДата: Понедельник, 2011-05-30, 11:05 PM | Сообщение # 43
Нобелевский лауреат
Группа: Проверенные
Сообщений: 4792
Репутация: 850
Награды: 50
Замечания: 40%
Статус: Offline
KaDeaT, семерка не дает fullscreen vga
 
KaDeaTДата: Понедельник, 2011-05-30, 11:05 PM | Сообщение # 44
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Награды: 136
Замечания: 0%
Статус: Offline
Ты мне чего скинул код процедуры, ты весь скидывай код.

Обучение программированию
 
isdenДата: Понедельник, 2011-05-30, 11:06 PM | Сообщение # 45
Нобелевский лауреат
Группа: Проверенные
Сообщений: 4792
Репутация: 850
Награды: 50
Замечания: 40%
Статус: Offline
как-то так

Добавлено (2011-05-30, 11:06 PM)
---------------------------------------------
KaDeaT, 300 строк

я - быдлокодер

 
ФОРУМ ПОСТУПИМ.РУ » ОБЩЕНИЕ » Помогаем друг другу » Pascal(помогите написать игру) (камень-ножницы-бумага)
Поиск:








© 2006 - 2023 Поступим.ру Информация:
О проекте
Контакты

Регистрация на сайте
Статистика сообщества
Пользовательское соглашение
Разделы:
Поиск репетитора
Форум сообщества
Коллективный блог
Материалы для учебы
ЕГЭ 2021
RSS:
RSS форума
RSS блога