Pascal(помогите написать игру)
| |
Danielka | Дата: Понедельник, 2011-05-30, 0:33 AM | Сообщение # 31 |
Бакалавр
Группа: Проверенные
Сообщений: 127
Репутация: 1
Замечания: 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
Замечания: 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%
Статус: Offline
| у меня в самой функции прописаны координаты) а так работает)
---------------------- Нелегка жизнь студента...:(
|
|
| |
KaDeaT | Дата: Понедельник, 2011-05-30, 0:50 AM | Сообщение # 34 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Замечания: 0%
Статус: Offline
| Quote (Danielka) у меня в самой функции прописаны координаты) неееет. Так не пойдет. Делай как я тебе говорю =)и убери эти сраные комментарии они раздражают =)Добавлено (2011-05-30, 0:50 Am) --------------------------------------------- Danielka, иди делай по две функции на каждую фигурку. Но это твой говнокод, сделает еще более говняным =)))
Обучение программированию
|
|
| |
isden | Дата: Понедельник, 2011-05-30, 1:04 AM | Сообщение # 35 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 4792
Репутация: 850
Замечания: 40%
Статус: Offline
| Quote (KaDeaT) Есть так же и обратная стратегия. Сначала основу программы пишешь, с функциями-заглушками, т.е. просто имена, но они ничего не делают, как скелет. А потом каждую по отдельности прорабатываешь.Я таким пользуюсь на олимпиадах. так не особо удобно, имхо. процедуру раз десять изменить можно. а заглушки в большом коде утомительно искать
|
|
| |
KaDeaT | Дата: Понедельник, 2011-05-30, 1:14 AM | Сообщение # 36 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Замечания: 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
Замечания: 40%
Статус: Offline
| KaDeaT, меня на олимпиады по кодерству не пускали. я вещества мешал Добавлено (2011-05-30, 10:20 PM) --------------------------------------------- graphics error 1172 мне мозг поломало
|
|
| |
KaDeaT | Дата: Понедельник, 2011-05-30, 10:31 PM | Сообщение # 38 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Замечания: 0%
Статус: Offline
| Что за странная ошибка, в справочнике ее нет. Что за среда программирования?Покажи код.
Обучение программированию
|
|
| |
isden | Дата: Понедельник, 2011-05-30, 10:51 PM | Сообщение # 39 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 4792
Репутация: 850
Замечания: 40%
Статус: Offline
| KaDeaT, паскаль уж. код убог. сижу разбираюсь в нем. у меня 7 стоит, из-за нее все вверх дном
|
|
| |
KaDeaT | Дата: Понедельник, 2011-05-30, 10:53 PM | Сообщение # 40 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Замечания: 0%
Статус: Offline
| Что паскаль? компилируешь в чем? =) Turbo Pascal Free Pascal PascalABC или еще в чем, показывай не стесняйся.
Обучение программированию
|
|
| |
isden | Дата: Понедельник, 2011-05-30, 10:58 PM | Сообщение # 41 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 4792
Репутация: 850
Замечания: 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
Замечания: 0%
Статус: Offline
| а нафига ты сам драва определяешь? а не оставишь эту возможность компу?
Обучение программированию
|
|
| |
isden | Дата: Понедельник, 2011-05-30, 11:05 PM | Сообщение # 43 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 4792
Репутация: 850
Замечания: 40%
Статус: Offline
| KaDeaT, семерка не дает fullscreen vga
|
|
| |
KaDeaT | Дата: Понедельник, 2011-05-30, 11:05 PM | Сообщение # 44 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Замечания: 0%
Статус: Offline
| Ты мне чего скинул код процедуры, ты весь скидывай код.
Обучение программированию
|
|
| |
isden | Дата: Понедельник, 2011-05-30, 11:06 PM | Сообщение # 45 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 4792
Репутация: 850
Замечания: 40%
Статус: Offline
| как-то так Добавлено (2011-05-30, 11:06 PM) --------------------------------------------- KaDeaT, 300 строк
я - быдлокодер
|
|
| |
|
|
|