IPB
ЛогинПароль:

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> ТАНКИ
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 6

Репутация: -  0  +


Вот "отцовская" программа:

Код
{Tanki, by Dean Cane Kenoby}
program Tanki;
uses graph,crt;
var
gd,gm,x,y,i,k,j,x1,y1,x2,y2,x3,y3,k1,li1,li2,w,w1:integer;
s1,s2: string;
t,z: text;

procedure F1;   {Процедура подключения файлов для ведения счета}
begin
 clrscr;
 assign(t,'C:t22.txt');
 rewrite(t); close(t);
 append(t);
 writeln(t,li1);
 close(t);

 clrscr;
 assign(z,'C:t33.txt');
 rewrite(z); close(z);
 append(z);
 writeln(z,li2);
 close(z);
end;

procedure str;   {Процедура преобразования счета в строковый формат}
begin
 reset(t);
 readln(t,s1);
 close(t);

 reset(z);
 readln(z,s2);
 close(z);
end;

procedure kvadrat;  {Процедура построения первого танка}
begin
 setcolor(4);
 setfillstyle(11,4);
 bar(x,y,x+30,y+30);
 setcolor(22);
 line(x+15,y+15,x+x1,y+y1);  {Пушка}
 circle(x+15,y+15,5);
end;

procedure kvadrat2;  {Процедура построения второго танка}
begin
 setcolor(1);
 setfillstyle(7,4);
 bar(x2,y2,x2-30,y2-30);
 setcolor(12);
 line(x2-15,y2-15,x2-x3,y2-y3);  {Пушка}
 circle(x2-15,y2-15,5);
end;

procedure exp2;  {Процедура взрыва и восстановления второго танка}
begin
 circle(x2-15,y2-15,5); delay(5000);
 circle(x2-15,y2-15,10);delay(5000);
 circle(x2-15,y2-15,15);delay(5000);
 circle(x2-15,y2-15,20);delay(5000);
 x2:=getmaxx; y2:=getmaxy;
 li1:=li1+1;
 circle(x2-15,y2-15,20);delay(5000);
 circle(x2-15,y2-15,15);delay(5000);
 circle(x2-15,y2-15,10);delay(5000);
 circle(x2-15,y2-15,5); delay(5000);
end;

procedure exp;    {Процедура взрыва и восстановления первого танка}
begin
 circle(x+15,y+15,5); delay(5000);
 circle(x+15,y+15,10);delay(5000);
 circle(x+15,y+15,15);delay(5000);
 circle(x+15,y+15,20);delay(5000);
 x:=1; y:=1;
 li2:=li2+1;
 circle(x+15,y+15,20);delay(5000);
 circle(x+15,y+15,15);delay(5000);
 circle(x+15,y+15,10);delay(5000);
 circle(x+15,y+15,5); delay(5000);
end;

procedure shot;    {Выстрел первого танка, если на траэкт. пули есть 2 танк происходит взрыв(exp2)}
begin
 if w=2 then
  begin
   for i:=y+y1+15 to getmaxy do
    begin
    putpixel(x+15,i,13); delay(100);
    putpixel(x+15,i-1,0); delay(100);
    if (i=y2-15) and (x+15=x2-15) then exp2;
    end;
  end;
if w=8 then
 begin
  for i:=y-15 downto 0 do
   begin
    putpixel(x+15,i,13); delay(100);
    putpixel(x+15,i+1,0); delay(100);
    if (i=y2-15) and (x+15=x2-15) then exp2;
   end;
 end;

if w=4 then
 begin
  for i:=x-15 downto 0 do
   begin
    putpixel(i,y+15,13); delay(100);
    putpixel(i+1,y+15,0); delay(100);
    if (i=x2-15) and (y+15=y2-15) then exp2;
   end;
 end;

if w=6 then
begin
 for i:=x+x1+15 to getmaxx do
  begin
   putpixel(i,y+15,13); delay(100);
   putpixel(i-1,y+15,0); delay(100);
   if (i=x2-15) and (y+15=y2-15) then exp2;
  end;
end;
end;

procedure shot2;   {Выстрел второго танка, если на траэкт. пули есть 1 танк происходит взрыв(exp)}
begin
if w1=2 then
 begin
  for i:=y2-y3 to getmaxy do
   begin
    putpixel(x2-15,i,11); delay(100);
    putpixel(x2-15,i-1,0); delay(100);
    if (i=y+15) and (x2-15=x+15) then exp;
   end;
 end;

if w1=8 then
 begin
  for i:=y2-35 downto 0 do
   begin
    putpixel(x2-15,i,11); delay(100);
    putpixel(x2-15,i+1,0); delay(100);
    if (i=y+15) and (x2-15=x+15) then exp;
   end;
 end;

if w1=4 then
 begin
  for i:=x2-35 downto 0 do
   begin
    putpixel(i,y2-15,11); delay(100);
    putpixel(i+1,y2-15,0); delay(100);
    if (i=x+15) and (y2-15=y+15) then exp;
   end;
 end;

if w1=6 then
 begin
  for i:=x2-x3 to getmaxx do
   begin
    putpixel(i,y2-15,11); delay(100);
    putpixel(i-1,y2-15,0); delay(100);
    if (i=x+15) and (y2-15=y+15) then exp;
   end;
 end;
end;

procedure move;   {Процедура отвечающая за движения и выстрел обоих танков}
begin
k:=ord(readkey);
case k of
 115: begin y:=y+32; x1:=15; y1:=35; w:=2  end;     {2}
 119: begin y:=y-32; x1:=15; y1:=-5; w:=8  end;     {8}
 97:  begin x:=x-32; x1:=-5; y1:=15; w:=4  end;     {4}
 100: begin x:=x+32; x1:=35; y1:=15; w:=6  end;     {6}
 50:  begin y2:=y2+32; x3:=15; y3:=-5; w1:=2 end;   {2}
 56:  begin y2:=y2-32; x3:=15; y3:=35; w1:=8 end;   {8}
 52:  begin x2:=x2-32; x3:=35; y3:=15; w1:=4 end;   {4}
 54:  begin x2:=x2+32; x3:=-5; y3:=15; w1:=6 end;   {6}
 32:  shot;
 48:  shot2;
else j:=1;
end;
end;

procedure ramka;  {Процедура разгранения поля по клеткам и таблица очков}
begin
cleardevice;
setfillstyle(1,2);
bar(getmaxx-158,0,getmaxx,32);
setcolor(14);
moveto(getmaxx-150,8);
outtext('Player 1');
moveto(getmaxx-60,8);
outtext(s1);
setcolor(4);
moveto(getmaxx-150,20);
outtext('Player 2');
moveto(getmaxx-60,20);
outtext(s2);
setcolor(2);
line(0,0,getmaxx,0);
line(0,0,0,getmaxy);
line(0,getmaxy,getmaxx,getmaxy);
line(getmaxx,0,getmaxx,getmaxy);
for i:=0 to round(getmaxx/32) do line(i*32,0,i*32,getmaxy);
for i:=0 to round(getmaxy/32) do line(0,i*32,getmaxx,i*32);
end;

begin    {Начало программы}
gd:=detect;
initgraph(gd,gm,'c:\tp7\unit');
setbkcolor(0);
textcolor(0);
x:=1; y:=1;  {Задание начальных координат и значений}
x1:=35; y1:=15;
x2:=getmaxx; y2:=getmaxy;
x3:=35; y3:=15;
li1:=0; li2:=0;

repeat  {Основной цикл игры}
 clrscr;
 cleardevice;
 f1; str;
 ramka;
 kvadrat;
 kvadrat2;
 move;
until j=1; {Выход из программы}
readln;
end.   {Конец программы}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 209

Репутация: -  0  +


Что-то она у меня не пошла...............


--------------------
Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 136
Пол: Мужской

Репутация: -  0  +


У меня что-то тоже!!
Непорядок!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

Репутация: -  3  +


Танкист smile.gif не пашет игра!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 136
Пол: Мужской

Репутация: -  0  +


Давай проси "отца", чтоб исправлял... ;)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 40

Репутация: -  0  +


А что у вас не пашет? В каком смысле? Игра вообще не идёт?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 6

Репутация: -  0  +


Не понял в чем проблема??? у меня все в порядке!!!!

Я за неё зачет получил за год!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Бывалый
***

Группа: Пользователи
Сообщений: 201

Репутация: -  0  +


У меня кстати тоже!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Бывалый
***

Группа: Пользователи
Сообщений: 201

Репутация: -  0  +


Только как то ограничений маловато и постоянное обновление экрана ухудшают дело!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10





Группа: Пользователи
Сообщений: 3

Репутация: -  0  +


>>У меня не идёт.
А вы пробовали в InitGraph поменять папку где драва паскалевские для графики. Не, у меня так всё идёт.


--------------------
Good Day
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской

Репутация: -  0  +


Цитата(AlaRic @ 27.03.03 16:31)
Танкист smile.gif не пашет игра!

У меня тоже не пашет - пишет ошибка формата файла Graph.tpu...
Цитирую:
File format error (Graph.tpu)

что делать?
Вроде новые апдейты graph скачал - никак.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость






Echelone
Чем пытаешься скомпилировать? TP70 прошла без проблем...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Гость






Цитата(volvo @ 6.01.05 19:05)
Echelone
Чем пытаешься скомпилировать? TP70 прошла без проблем...

Компилировал в TP 7.01 - нифига.
А еще с borland-овского сайта скачал "пропатченный" graph - нифига.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


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


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской

Репутация: -  0  +


Цитата(Oleg_Z @ 6.01.05 23:07)
никаких проблемм быть не может...
используйте стандартный модуль для TP70.
укажите путь к граф. драйверу... и все.

Вроде скомпилировалась...работает...

Странно - новый модуль с borland-овского сайта и старый - байт в байт по размерам, а если сравнить по содержимому - разные...Наверное, в этом лаг...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской

Репутация: -  0  +


Спасибо за исходник.

А кто может дать инфу по искуственному интеллекту, ведь не делать же движение RANDOMом?

[quote]
ФИДОШ ИКИ - Е ПРОМЕ ЯЕМ БУКВУ " " А ПОГА ЫЙ ПРОБЕЛ!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Знаток
****

Группа: Пользователи
Сообщений: 408
Пол: Мужской

Репутация: -  3  +


Ну в оригинальных танках имнно рандомом =)))) пока не появится слева или справа куда повернуть - едем


--------------------
- Где я?
- Во тьме.
- В какой тьме?
- Во тьме твоего мозга.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Пионер
**

Группа: Пользователи
Сообщений: 81
Пол: Мужской
Реальное имя: Шурик

Репутация: -  0  +


Мне не понравилось , что при нажатии любой кнопки не относыщийся к кнопкам управления , вылетает из игры .
А ещё то , что можно уехать за экран .
А так , ничего . smile.gif


--------------------
Двадцать пятый час в сутках может появиться всего лишь из-за небольшой ошибки в программе.
Чтобы не воспользоваться сумасшедшими возможностями, нужно быть идиотом.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Гость






чуваки если кто заглянет на эту тему ещё разок посмотрите мои танчики, они немножко переделаны.


Я выложил сюда, а то на народе внешние ссылки запрещенны.
Прикрепленный файл  MadTanks.zip ( 5.21 килобайт ) Кол-во скачиваний: 593


Сообщение отредактировано: Oleg_Z -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


не, чего-то не то, управление идет одним танком а стреляет другой... или я не разобрался в упрвлени? где HELP ? smile.gif


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V  1 2 >
 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 19:05
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name