Форум: "Игры";
Текущий архив: 2009.07.19;
Скачать: [xml.tar.bz2];
ВнизПомгите сделать простую игру на паскале. Найти похожие ветки
← →
Black-Death (2007-06-07 17:11) [0]помогите плиз сделать какую нибудь простенькую игру на паскаале.
Что нибуть типа Хайнойских башень или быки-коровы, или еще чтото вроде этого.
← →
ArtemESC (2007-06-07 18:06) [1]http://zipsites.ru/it/programming/arsak_programmirovanie_igr/
← →
homm © (2007-06-07 18:26) [2]Давай поможем.
← →
@!!ex_ (2007-06-07 19:15) [3]Предлагаешь за тебя написать все? :)
Я могу поделится модулем для работы с 3Д в паскале. ПРавда там нет заливки и текстур, только прямые линии и разрешение 320х200 естественно.
← →
Black-Death (2007-06-07 19:41) [4]да нет. Мне надо работать токо со встроеными модулями. И сдать нада завтра просто. По етому и прошу помочь, а то полный ппц мне будет :( :( :( :(
← →
@!!ex_ (2007-06-07 19:50) [5]> [4] Black-Death (07.06.07 19:41)
Ну скажи, что модуль сам написал. :))
Короч. Если хочешь, накатаю сейчас тебе игру про башни.(Это где надо перенести с одного штыря на другой, при этом класть можно только на пустой штырь или на круг большего размера). Ты только требования озвучь. А то я те ща накатаю с ООП, мышой и в 3Д. :))
← →
homm © (2007-06-07 19:52) [6]> По етому и прошу помочь, а то полный ппц мне будет
Дак давай поможем!
← →
Black-Death (2007-06-07 19:59) [7]
> @!!ex_
Сделай плиз. Токо со стандартными модулями. Типо с использованием Graph. Ничего сверх-естественного. Простенько :)
Игру сделай которая делается легче. Либо ханойские башни, либо троянские кони(Типо где доска шахматная 3*3).
Зарание огромнейшое спасибо
← →
homm © (2007-06-07 20:02) [8]> Зарание огромнейшое спасибо
По внутреннему курсу этого сайта, это примерно 200-250 WMZ.
← →
homm © (2007-06-07 20:06) [9]> А то я те ща накатаю с ООП, мышой и в 3Д. :))
Ты кстаи не компилируй, коли правда возьмешся. Пущай хоть соберет сам.
← →
@!!ex_ (2007-06-07 20:40) [10]> [9] homm © (07.06.07 20:06)
Гыгыгы. и Парочка ошибок. Пущай ищет, разбирается.
Вот код. Подскажу. Две ошибки в объявлении. И одна в логике.uses Graph, CRT;
var
grDriver: Integer;
grMode: Integer;
ErrCode: Integer;
Towers:array[0..2,1..2] of integer;
Current:integer;
Move:boolean;
MoveIndex:integer;
RSIndex:integer;
C:Byte;
Procedure DrawTower(ID:integer);
var
Index:integer;
Count:integer;
begin
if ID=Current then begin
if Move then
SetColor(4)
else
SetColor(3);
end
else
SetColor(15);
Count:=0;
for Index:=0 to 4 do begin
if Towers[ID,Index]<>0 then begin
Rectangle(150+ID*160-Towers[ID,Index]*10,380-Index*20,170+ID*160+Towers[ID,Index]*10,400-Index*20);
inc(Count);
end
else
Break;
end;
Rectangle(150+ID*160,200,170+ID*160,400-Count*20);
end;
Procedure NewGame;
begin
Towers[0,0]:=5;
Towers[0,1]:=4;
Towers[0,2]:=3;
Towers[0,3]:=2;
Towers[0,4]:=1;
Towers[1,0]:=0;
Towers[1,1]:=0;
Towers[1,2]:=0;
Towers[1,3]:=0;
Towers[1,4]:=0;
Towers[2,0]:=0;
Towers[2,1]:=0;
Towers[2,2]:=0;
Towers[2,3]:=0;
Towers[2,4]:=0;
Move:=false;
Current:=0;
end;
var
Index:integer;
begin
grDriver := Detect;
InitGraph(grDriver, grMode," ");
ErrCode := GraphResult;
if ErrCode = grOk then
begin { Do graphics }
NewGame;
while C<>#27 do begin
ClearDevice;
SetColor(15);
OutTextXY(0,0,"Esc - Exit. N - New Game. Left/Right - Move. Space - Select");
OutTextXY(0,20,"Create by @!!ex. Samara 2007");
DrawTower(0);
DrawTower(1);
DrawTower(0);
C:=Readkey;
if C=#0 then begin
C:=ReadKey;
if C=#75 then begin
if Current>0 then begin
dec(Current);
if Move then begin
Move:=False;
RSIndex:=-1;
for Index:=0 to 4 do
if Towers[Current,Index]<>0 then
RSIndex:=Index;
if (RSIndex=-1) or (Towers[Current+1,MoveIndex]<Towers[Current,RSIndex]) then begin
Towers[Current,RSIndex+1]:=Towers[Current+1,MoveIndex];
Towers[Current+1,MoveIndex]:=0;
end;
end;
end;
end;
if C=#77 then begin
if Current<2 then begin
inc(Current);
if Move then begin
Move:=False;
RSIndex:=-1;
for Index:=0 to 4 do
if Towers[Current,Index]<>0 then
RSIndex:=Index;
if (RSIndex=-1) or (Towers[Current-1,MoveIndex]<Towers[Current,RSIndex]) then begin
Towers[Current,RSIndex+1]:=Towers[Current-1,MoveIndex];
Towers[Current-1,MoveIndex]:=0;
end;
end;
end;
end;
end;
if (C=#32) and (Towers[Current,0]<>0) then begin
for Index:=0 to 4 do
if Towers[Current,Index]<>0 then
MoveIndex:=Index;
Move:=true;
end;
if (C="N") or (C="n") then
NewGame;
end;
CloseGraph;
end
else
Writeln("Graphics error:", GraphErrorMsg(ErrCode));
end.
← →
@!!ex_ (2007-06-07 20:42) [11]Ты когд найдешь, скажи че нашел... А то в друг не то. :))
← →
homm © (2007-06-07 20:45) [12]А в объявлении, 2 ошибки в одной строчке? Или я второй не вижу?
← →
@!!ex_ (2007-06-07 20:48) [13]> [12] homm © (07.06.07 20:45)
Те, которые в одной строчке я за одну посчитал. Благо смысл у них один.
← →
Black-Death (2007-06-07 21:15) [14]Все. Спасибо. Все исправил. Слишком простые ошибки)))) Я в начале думал, что сложнее
1. В VAR массив был задан не так. поменял на -Towers:array[0..2,0..4] of integer;
2. В VAR поменял тип C на String
3. ИDrawTower(0)
поменял наDrawTower(3)
← →
Black-Death (2007-06-07 21:16) [15]точнее на DrawTower(2)
← →
homm © (2007-06-07 21:21) [16]Ну вот, не такой уж и бездарный индивид, как хотел себя показать в [0] :)
Жаль, я думал будет повод поглумиться :)
← →
Black-Death (2007-06-07 21:27) [17]
> homm © (07.06.07 21:21) [16]
> Ну вот, не такой уж и бездарный индивид, как хотел себя
> показать в [0] :)
> Жаль, я думал будет повод поглумиться :)
Просто просил помочь, так как с графикой редко работал и толком не знал как правильно ее приминить
← →
@!!ex_ (2007-06-07 21:31) [18]> 2. В VAR поменял тип C на String
Гм. ЛОЛ честно говоря... Вообще то там Char должен быть. Клавиши не бывают стрингами.... :)))))))))
Я не стал делать сложные ошибки. Смысл?
А графики тут одна процедура. РИсующая башенки... И та юзает только прямоугольники. Инициализация из хелпа содрана.
P.S>
НЕнавижу IDE Паскаля...
← →
Black-Death (2007-06-07 21:32) [19]
> Гм. ЛОЛ честно говоря... Вообще то там Char должен быть.
> Клавиши не бывают стрингами.... :)))))))))
А что. Стринг тоже работает на ура :)
← →
grisme © (2007-06-08 19:49) [20]
> @!!ex_ (07.06.07 21:31) [18]
>
> > 2. В VAR поменял тип C на String
>
> Гм. ЛОЛ честно говоря... Вообще то там Char должен быть.
> Клавиши не бывают стрингами.... :)))))))))
ну ничего, товарищч в верную сторону думал :o)
← →
@!!ex_ (2007-06-08 22:36) [21]> ну ничего, товарищч в верную сторону думал :o)
Так не честно! Ему компилятор подсказал! :))
Явно видно что сам не понимает, что в коде происходит.
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2009.07.19;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.005 c