Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 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
15-1242463718
oxffff
2009-05-16 12:48
2009.07.19
Помогите скачать


6-1204872317
prodex
2008-03-07 09:45
2009.07.19
Асинхронные сокеты


9-1181221877
Black-Death
2007-06-07 17:11
2009.07.19
Помгите сделать простую игру на паскале.


2-1242918381
Alex_C
2009-05-21 19:06
2009.07.19
Парсинг HTML


2-1243424167
Галинка
2009-05-27 15:36
2009.07.19
Опаздывает дата





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский