Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Написание игр _ Змейка

Автор: Gonz 17.04.2007 0:15

Это мой первый серьезный проект, так что особо строго не судите.
Говорите ваше мнение, и как можно еще улучшить.
 ! 
выкладывать ехе-шники без исходников запрещено правилами.
приложение удалено.
мисс_граффити


Автор: Адель 17.04.2007 1:35

по моему нормально smile.gif вот только интерфейс сам понимаешь наверное, что не очень..
что добавить: функций, разнообразь игру...

Автор: Gonz 17.04.2007 1:49

Цитата(Адель @ 16.04.2007 22:35) *

по моему нормально smile.gif вот только интерфейс сам понимаешь наверное, что не очень..
что добавить: функций, разнообразь игру...

В том то и проблема, что я не дизайнер, и не могу придумать красивый интерфейс=(

Автор: Адель 17.04.2007 1:53

змеек много, выбирай любой понравившийся. трата времени на украшение имхо бесполезно, лучше развивать саму прорамму

Автор: TarasBer 17.04.2007 2:00

Интерфейс симпатичный, только нерусский.
Неприятно, что меню мерцают. Если перерисовывать только текст, а не всю картинку, то мерцание исчезнет. И ещё: при вводе имени сканкоды воспринимаются как обычные клавиши, что неправильно (например, стрелочки активизируют буквы).
Да, ещё. Я знаю, что достал администрацию форума этой придиркой, но время как измеряется? Просто если делэем, то выходит, что сложность зависит от тактовой частоты, что плохо.

И хотелось бы видеть исходник.

Автор: Gonz 17.04.2007 10:24

Цитата(TarasBer @ 16.04.2007 23:00) *

Интерфейс симпатичный, только нерусский.

Так шрифтов русских нет.
Цитата(TarasBer @ 16.04.2007 23:00) *

Неприятно, что меню мерцают. Если перерисовывать только текст, а не всю картинку, то мерцание исчезнет. И ещё: при вводе имени сканкоды воспринимаются как обычные клавиши, что неправильно (например, стрелочки активизируют буквы).

Испарвлю
Цитата(TarasBer @ 16.04.2007 23:00) *

Да, ещё. Я знаю, что достал администрацию форума этой придиркой, но время как измеряется? Просто если делэем, то выходит, что сложность зависит от тактовой частоты, что плохо.

Нет, не завивисит, для этого сделал специальную паузу.




Прикрепленные файлы
Прикрепленный файл  Snake.rar ( 91.07 килобайт ) Кол-во скачиваний: 357

Автор: TarasBer 18.04.2007 1:00

Цитата(Gonz @ 17.04.2007 7:24) *

Так шрифтов русских нет.


http://forum.pascal.net.ru/index.php?showtopic=15611

Автор: Gonz 18.04.2007 2:34

Цитата(TarasBer @ 17.04.2007 22:00) *

http://forum.pascal.net.ru/index.php?showtopic=15611

Спасибо, щас переправлю.

Автор: Рыжик 28.04.2007 21:19

good.gif
Очень даже не плохо!
Только меню бы сделать "помягче" ,а то как то резко получилось.
И еще когда змейка поворачивает,она как бы ломается ,часть уже повернула
а другая еще вперед уходит.

Автор: mamont001 28.04.2007 22:29

Цитата(Рыжик @ 28.04.2007 17:19) *

И еще когда змейка поворачивает,она как бы ломается ,часть уже повернула
а другая еще вперед уходит.

Так єто же класическая змейка!
Если знаеш такую, что не ламается,покажи ,посмотрим.

Автор: Рыжик 29.04.2007 0:33

Да нет!Если сделать ее секции круглыми а не овальными то все окей!
P.S Смотри файл!

Добавлено через 6 мин.
Или так!



Эскизы прикрепленных изображений
Прикрепленное изображение Прикрепленное изображение

Автор: Gonz 1.05.2007 18:03

Цитата(Рыжик @ 28.04.2007 18:19) *

Только меню бы сделать "помягче" ,а то как то резко получилось.
И еще когда змейка поворачивает,она как бы ломается ,часть уже повернула
а другая еще вперед уходит.

Можно сделать отдельные текстурки "поворота", вприницпи это не сложно....
И что ты имеешь ввиду под резким меню?

Автор: Гость 2.05.2007 10:34

Цитата(Gonz @ 1.05.2007 14:03) *

Можно сделать отдельные текстурки "поворота", вприницпи это не сложно....
И что ты имеешь ввиду под резким меню?

Ну в смысле глаза устают.И надписи лучше печатными буквами сделать. smile.gif

Автор: Рыжик 2.05.2007 10:35

Гостем был я!Забыл войти.

Автор: -Gonz- 2.05.2007 18:58

Цитата(Гость @ 2.05.2007 6:34) *

Ну в смысле глаза устают.И надписи лучше печатными буквами сделать. smile.gif

Даже не заню как переделать, чтоб лучше было(
Щас работаю над "тестурами" поворотоа, оказалось не так легко=)

Автор: Sam0784 3.05.2007 0:16

млин у мну слишком быстро бегает. а так ваще супер!!!

Автор: Ale}{@nd3R 10.05.2007 23:23

М
Пользуйся тегами !


слушайте, люди, как можно модифицировать "Змейку", чтобы она подразделялась на уровни, то есть, допустим, если "сьел" точек штук 20, то осуществлялся переход на новый уровень: увеличивалась скорость и создавались препятствия, которых с увеличением уровня становилось бы все больше и больше. Кроме того, как осуществить возможность СОЗДАВАТЬ уровни в самой игре (вот выбрали мы опцию создать уровень, сделали себе препятствия как нравится и запустили его). Сама змейка такая:


Program Snake;
uses crt,graph;
var gd,gm: integer;
x_min, y_min, x_max, y_max, x, y, score, best: word;
size,level: byte;
n, k: word;
way_x, way_y: shortint;
score_str, best_str: string[10];
ch, level_ch: char;
point, exit: boolean;
koor: array[1..400,1..2] of word;
f: text;

procedure Delay(time:longint);
var
ctime,time2:Longint;
begin
ctime:=meml[$40:$006c];
time2:=time div 55+ctime;
while time2>meml[$40:$006c] do;
end;

begin
x_min:=30;
y_min:=45;
x_max:=615;
y_max:=450;
k:=15;
gd:=detect;
initgraph(gd,gm,'');

setfillstyle(6,6);
bar(x_min-15,y_min-15,x_max+15,y_max+15);
setfillstyle(1,1);
bar(x_min,y_min,x_max,y_max);

size:=5;
x:=x_min+size*k;
y:=y_max div 2;
setfillstyle(9,14);
bar(x-size*k,y,x,y+k);
way_x:=1;
way_y:=0;
for n:=1 to size do
begin
koor[n,1]:=x-n*k+k;
koor[n,2]:=y
end;
point:=false;

settextstyle(2,0,6); { ’ҐЄбв ­ ўҐpег }
setcolor(15);
outtextxy(50, 7, 'ЋзЄЁ:');
outtextxy(450,7, 'ђҐЄ®pg:');
setcolor(9);
outtextxy(110, 7, '0');
setcolor(4);
outtextxy(180, 7, '‚ўҐgЁвҐ гp®ўҐ­м (1-9):');


assign(f,'record.snk'); { ЋЎp Ў®вЄ д ©« б pҐЄ®p¤®¬ }
reset(f);
repeat
read(f,ch);
best_str:=best_str+ch
until eof(f);
close(f);
setcolor(2);
outtextxy(530,7,best_str);

repeat
level_ch:=readkey;
if level_ch=#27 then halt
until (level_ch>=#49) and (level_ch<=#57);
val(level_ch,level,n);
setfillstyle(0,0);
bar(170,7,400,25);
setcolor(15);
outtextxy(235,7,'”p®ўҐ­м:');
setcolor(3);
outtextxy(315,7,level_ch);

repeat
if keypressed then ch:=readkey;
case ch of
#72: if way_y=0 then
begin
way_x:=0;
way_y:=-1
end;
#75: if way_x=0 then
begin
way_x:=-1;
way_y:=0
end;
#77: if way_x=0 then
begin
way_x:=1;
way_y:=0
end;
#80: if way_y=0 then
begin
way_x:=0;
way_y:=1
end;
#27: break
end;

setfillstyle(1,1);
bar(koor[size,1]-k, koor[size,2], koor[size,1], koor[size,2]+k);

for n:=size downto 2 do { ЏҐpҐбзҐв Є®®p¤Ё­ в }
begin
koor[n,1]:=koor[n-1,1];
koor[n,2]:=koor[n-1,2]
end;
koor[1,1]:=koor[1,1]+way_x*k;
koor[1,2]:=koor[1,2]+way_y*k;

if (koor[1,1]>x_max) or (koor[1,2]=y_max) or (koor[1,1]=x_min) or
(koor[1,2]<y_min) then { Џ®Ї ¤ ­ЁҐ ў б⥭г }
begin
sound(100);
delay(100);
nosound;
break
end;

if point=false then { ђЁб®ў ­ЁҐ в®зҐЄ }
begin
repeat
randomize;
x:=(random((x_max-x_min) div k)+1)*k+x_min;
y:=(random((y_max-y_min) div k)+1)*k+y_min;
point:=true;
for n:=1 to size do
if (x=koor[n,1]) and (y=koor[n,2]+k) then point:=false
until point;
setfillstyle(9,4);
setcolor(2);
fillellipse(x-7,y-7,6,6);
setcolor(0);
line(0,0,0,15)
end;

if (x=koor[1,1]) and (y=koor[1,2]+k) then { ‘ꥤ ­ЁҐ в®зҐЄ }
begin
sound(900);
inc(size);

setfillstyle(0,0);
bar(105,1,200,25);
inc(score,level);
str(score,score_str);
setcolor(9);
outtextxy(110,7,score_str);

point:=false
end;

for n:=2 to size do { ‘ ¬®ЇҐpҐбҐзҐ­ЁҐ }
if (koor[1,1]=koor[n,1]) and (koor[1,2]=koor[n,2]) then
begin
sound(150);
delay(100);
nosound;
exit:=true;
break
end;


setfillstyle(9,14);
bar(koor[1,1]-k, koor[1,2], koor[1,1], koor[1,2]+k);

delay(181-9*level);
if point=false then nosound;
if keypressed then ch:=readkey

until (ch=#27) or exit;

setfillstyle(0,0);
bar(170,7,400,25);
val(best_str,best,n);
setcolor(4);
if score<=best then outtextxy(220, 7, '‚л Їp®ЁЈp «Ё!')
else
begin
outtextxy(220, 7, 'H®ўл© pҐЄ®pg!');
rewrite(f);
write(f,score_str);
close(f)
end;
repeat
ch:=readkey
until (ch>#0) and (ch<>#72) and (ch<>#75) and (ch<>#77) and (ch<>#80);
closegraph;
readln;
end.


тьфу, с кодировкой в комментариях проблемы

Автор: Gonz 29.06.2007 1:42

Добавил "поворотные" текстурки, перевел на русский( правдо по-моему не все:( ) и исправил пару глюков
только сегодня дошли руки сделать хоть что-то)
ну как?


Прикрепленные файлы
Прикрепленный файл  Snake.rar ( 145.68 килобайт ) Кол-во скачиваний: 309