Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2009, 19:33   #1
Shevali
Пользователь
 
Регистрация: 09.03.2009
Сообщений: 49
По умолчанию Шахматная доска

Здравствуйте.
Нужно нарисовать в Паскале шахматную доску. Я начал так:

uses graph;
var device, mode, x, x1: integer;
Begin
device:=0;
initgraph (device, mode, ' ');
for x:=10 to 600 do
for x1:=110 to 470 do
begin
repeat
setcolor(red);
setfillstyle (1, 15);
floodfill (5, 5, 15);
rectangle (x, 10, x1, 110);
x:=x+100; x1:=x1+100;
until x>600;
readln;
closegraph;
end;
end.

Но это рисует только один ряд квадратов, а как бы сделать так, чтобы рисовалось несколько рядов квадратов?
Shevali вне форума Ответить с цитированием
Старый 03.04.2009, 19:48   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вот вам доска. Ну а заполните уже сами.
Код:
uses graph;
const width = 30;
var
d,m : integer;
i,j : integer;

begin
initgraph(d,m,'');
for i:=1 to 8 do
 for j:=1 to 8 do
  begin
  setcolor(15);
  rectangle((i-1)*width,(j-1)*width,i*width,j*width);
  end;

readln;
closegraph;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 03.04.2009, 20:08   #3
Shevali
Пользователь
 
Регистрация: 09.03.2009
Сообщений: 49
По умолчанию шахматная доска

В таком виде работает. Правда такая постановка мне пока не совсем понятна (в учебнике похожего не было). Вот например, как понять:
rectangle((i-1)*width,(j-1)*width,i*width,j*width);
И всё равно спасибо.
Shevali вне форума Ответить с цитированием
Старый 03.04.2009, 20:14   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Вот например, как понять:
rectangle((i-1)*width,(j-1)*width,i*width,j*width);
i,j - координаты клетки, которую мы рисуем. width - ширина клетки (одна и та же по горизонтали и вертикали).
Вот и рисуем. Левый верхний угол - (i-1)*width,(j-1)*width.
Ну а у правого нижнего угла, соответственно, координаты на width больше.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 03.04.2009, 20:22   #5
Shevali
Пользователь
 
Регистрация: 09.03.2009
Сообщений: 49
По умолчанию шахматная доска

Спасибо Sazary
Shevali вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
доска объявлений mar4elo Работа с сетью в Delphi 2 17.12.2008 11:05
шахматная доска Irisha_17_85 Паскаль, Turbo Pascal, PascalABC.NET 4 04.11.2008 10:50
Доска объявлений solomusic PHP 1 05.08.2008 18:57
С++:Квадратная матрица и шахматная проблема.. Andres Помощь студентам 7 02.01.2008 21:06