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

> змейка, змейка с нуля
WhiteFang
сообщение 16.12.2006 20:04
Сообщение #1





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

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


Люди, помогите написать пожалуйста змейку, обычную змейку в графическом режиме; без всяких $, ассемблеров и неизвестных вещей начинающему программисту.
Вот начальный код (только это начало и в нём мнооооооооогое не осуществлено):

uses crt, graph;
type
  arr = Array[1..60, 1..60] of byte;
{=================}
procedure newt(var field : arr);
var
  i, j : byte;
begin
  randomize;
  i := random(60);
  j := random(60);
  if (field[i, j] <> 1) and (field[i, j] <> 2) then
    field[i, j] := 2;
end;
{=================}
function st(a : longint) : String;
var
  s : string;
Begin
  Str(a, s);
  st := s;
End;
{=================}
procedure snake(var snake : arr);
var
  i, j : byte;
begin
  i := 30;
  for j := 29 to 31 do
    snake[i, j] := 1;
end;
{=================}
procedure grafika(field : arr);
var
  i, j : byte;
begin
  for i := 1 to 60 do
  begin
    for j := 1 to 60 do
    begin
      if field[i, j] = 0 then
      begin
        setcolor(0);
        setfillstyle(1, 0);
        bar((i - 1) * 8, (j - 1) * 8, i * 8, j * 8);
      end;
      if field[i, j] = 1 then
      begin
        setcolor(4);
        setfillstyle(1, 4);
        bar((i - 1) * 8, (j - 1) * 8, i * 8, j * 8);
      end;
      if field[i, j] = 2 then
      begin
        setcolor(2);
        setfillstyle(1, 10);
        bar((i - 1) * 8, (j - 1) * 8, i * 8, j * 8);
      end;
    end;
  end;
end;
{=================}
{=================}
var
  speed, score, grdriver, grmode : integer;
  field : arr;
BEGIN
  grDriver:=Detect;
  InitGraph(grDriver, grMode, '');
  setcolor(1);
  rectangle(0, 0, 480, 480);
  settextstyle(defaultfont, horizdir, 1);
  outtextxy(getmaxx - 100, 30, 'SPEED');
  outtextxy(getmaxx - 40, 30, st(speed));
  outtextxy(getmaxx - 100, 15, 'SCORE');
  outtextxy(getmaxx - 40, 15, st(score));
  grafika(field);
  newt(field);
END.


Ещё такая проблема: если повторяю через репит вывод newt, то границы поля не отображаются, и не выводится процедура snake.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
APAL
сообщение 9.01.2014 9:35
Сообщение #2


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


Мда... через 7 лет тема была реанимирована...


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

Сообщений в этой теме


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

 

- Текстовая версия 29.07.2025 1:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"