Comments 15
Было бы понятнее видеть алгоритм в псевдокоде. Я верно понял, что сканирование происходит по диагонали с замкнутыми краями, т.е. как будто бы поле тороидально?
Игра на Pascal, поэтому и код привожу на Pascal:

var
  XPos,YPos:integer;
  Field:array[1..9,1..9] of integer;
  CurColor:shortint;
  Colors:array[1..3] of integer;
  NumBalls,NumFreeFields:integer;

procedure GenerateNextBall(index:integer);
var
  i:integer;
  pos:word;
begin
  pos := Random(80);
  repeat
    XPos := (pos mod 9) + 1;
    YPos := (pos div 9) + 1;
    if Field[XPos,YPos] <> 0 then
    begin
      inc(pos);
      if pos = 81 then
        pos := 0;
    end;
  until Field[XPos,YPos] = 0;
  CurColor := Colors[index];
  Field[XPos,YPos] := CurColor;
  for i := 1 to 3 do
  begin
    {draw ball of size i and delay}
  end;
  inc(NumBalls);
  dec(NumFreeFields);
end;
Смотрю на этот код, и на глаза наворачиваются слезы умиления. Эх, Борланд, как же ты мог такой язык загубить… А я теперь пишу на C#.Net, с которого раньше смеялся.
А где аргументы в пользу того что язык «загубили», вполне себе развивается.
В детстве я заметил странный психологический эффект. После долгой игры в Lines все прямоугольные формы на экране начинают казаться заострёнными, это касается прямоугольных окон, кнопок, даже форм букв в тексте.

Спасибо, что дали повод поиграть, а затем испытать это снова.
А меня однажды в этой игре под ДОС первым же ходом появились пять одинаковых шариков в один ряд, которые сразу и самоуничтожились. Это было шоком для меня. Игра вроде не закончена, а выбрать шарик для следующего хода не могу — поле-то пустое.
«Не надо очеловечивать компьютеры — они этого страсть как не любят!» Ох уж эти истории от «опытных игроков»… Реально истории о «коварстве лайнза» ходили из отдела в отдел. Были люди которые даже старались не водить лишний раз курсором над полем, чтобы «не давать наводку». А еще была у меня такая история: как-то после переустановки случайно получилось так, что на рабочем столе 95 винды возникло два ярлыка от лайнз. Оба на один и тот-же исполняемый файл. И моя бабушка на полном серьезе утверждала что «верхний ярлык играет гораздо сильнее».
Only those users with full accounts are able to leave comments. Log in, please.