← Таймлайн
1998–2001 · BASIC, Pascal и олимпиады

Игры DiVision

Игры поменьше, которые я делал между большими (Tank, Space War, Lamer-Killer, Doom RF), на Turbo Pascal, а потом на Free Pascal. Большинство написано для школьного конкурса программистов, и все до сих пор запускаются в DOSBox.

Turbo PascalBGIText mode

Программы

Gonki 1998

Гонки в текстовом режиме: извилистая дорога, нарисованная прямо в видеопамяти, соперники, а при касании стен теряешь скорость.

Tank 2 1998

Второй Tank, уже в графике 640×480: векторный танк, повёрнутый синусом и косинусом, инерция и отскоки от стен, случайные комнаты, где стен с каждым разом больше, и магазин улучшений — бампер, мотор, колёса, тормоза, руль. Сохранился только исходник.

Arkanoid 1999

Кирпичи до четырёх ударов, падающие бонусы (широкая, обычная или маленькая ракетка, мяч медленнее или быстрее) и угол отскока, который зависит от того, куда мяч попал на ракетке. Управление мышью.

Dzīvnieks 1999

«Угадай животное» по идее из журнала «Наука и жизнь»: программа задаёт вопросы «да/нет», а проиграв, спрашивает, кто это был и каким вопросом его отличить, и сохраняет новую ветку дерева. В видео она учит собаку и узнаёт её уже в следующем раунде. Если загадать животное, которое она уже знает, она говорит, что вы играете нечестно.

RTS 1999

Проба стратегии в реальном времени: по сотне юнитов с каждой стороны, выделение рамкой и Shift, клик по врагу — атака, автоматический огонь в радиусе, мини-карта и прокрутка у края экрана, плюс здания со стоимостью и энергией. Рядом — редактор карт.

Mine Explorer 1999

Моя последняя игра в текстовом режиме, сделанная быстро в июне 1999 года: лабиринт в тумане, где видно только соседние клетки, мины, стены и очки, миссии, собранные в цепочки, редактор уровней, а каждая победа сохраняется как запись прохождения. В видео — одна из таких записей.

Capture or Destroy 1999

RTS в 800×600 и 256 цветах, осень 1999 года: юниты собираются из платформы, корпуса и башни — каждая деталь отдельный спрайт 32×32, местность с водой, сушей и берегом, клетки, у которых есть владелец, и мини-карта.

Исходник того времени

TONEL.PAS
PROGRAM TOHKI;
USES CRT,GRAPH;
VAR
  c,A,B,x,y:INTEGER;
  q:string;
  i,j,p:word;
  x1:array[1..96]of integer;
  y1:array[1..96]of integer;
BEGIN
  randomize;
  A:=DETECT;
  INITGRAPH(A,B,'A:\PASKAL\GRAFIKA');
  x:=320;
  y:=280;
  for i:=1 to 48 do x1[i]:=0;
  for i:=48 to 96 do x1[i]:=640;
  for i:=1 to 48 do y1[i]:=i*10-5;
  for i:=48 to 96 do y1[i]:=i*10-485;
  setbkcolor(4);
  repeat
    SETCOLOR(15);
    circle(600,100,10);
    for i:=1 to 96 do line(x,y,x1[i],y1[i]);
    q:=readkey;
    if (q=#72) or(q=#77)or(q=#80)or(q=#75) then begin
    SETCOLOR(0);
    for i:=1 to 96 do line(x,y,x1[i],y1[i]);
    if q=#72 then y:=y-10;
    if q=#77 then x:=x+10;
    if q=#80 then y:=y+10;
    if q=#75 then x:=x-10;
    end;
    if q=#32 then begin
      for i:=1 to round(x/2) do  begin
       p:=1;
       setcolor(14);
       sector(i*2,y,0,359,round((320-i)/10),round((320-i)/60));
       setcolor(4);
       sector(i*2,y,0,359,round((320-i)/10),round((320-i)/60));
     end;
     c:=random(5);
     for j:=1 to c+1 do begin
        setcolor(14);
        a:=random(100);
        b:=random(20);
        for i:=1 to a do begin circle(x+b,y+b,i);
            sound(i+10);
        end;
        nosound;
        setcolor(4);
        for i:=a downto 50 do begin
           circle(x+b,y+b,i);
           SOUND(I+100);
         end;
      end;
     for i:=1 to a do begin circle(x+b,y+b,i);
            sound(i+100);
        end;
      NOSOUND;
    end;
    if (x<610)and(x>590)and(p=1) then begin
      settextstyle(0,0,9); setcolor(2); setusercharsize(2000,100,2000,100);
       if (y>90)and(y<110)then begin
         outtextxy(20,220,'You  win');
         delay(1000); halt(1);
       end;
    end;
  p:=0;
  until q=#27;

END.

Январь 1998, Turbo Pascal: стрелялка в тоннеле, которую я принёс на свой первый школьный конкурс. 96 линий от твоей точки к краям экрана рисуют тоннель; стрелки двигают точку, пробел — выстрел и взрывы со звуком из PC-спикера, попал в белый кружок — победа.

Подробнее

Во второй половине 1999 года я делал RTS. За основу взял ресурсы из Героев. Но быстрая графика на Паскале так и осталась проблемой.

Требования: DOSBox