Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
ін
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 6
1

Нарисовать шахматную доску, при этом пометить все поля, кторые бьет ферзь крестиками, а другие - ноликами.

20.11.2012, 19:35. Просмотров 688. Ответов 2
Метки нет (Все метки)

Заданные два символа - латинская буква (a-h) и цифра (1-8). Рассматривая их как координаты поля шахматной доски, на котором находится ферзь, нарисовать шахматную доску, при этом пометить все поля, кторые
бьет ферзь крестиками, а другие - ноликами.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2012, 19:35
Ответы с готовыми решениями:

Нарисовать шахматную доску, пометив крестиками все поля, которые «бъет» конь
Программа. Даны две литеры—латинская буква (от а до h) и цифра (от 1 до 8),...

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

Как нарисовать шахматную доску
Как нарисовать шахматную доску. Я нарисовал одну строчку, а как дальше с...

Нарисовать шахматную доску 6*6 на весь экран
Помогите написать программу: Нужно нарисовать шахматную доску 6*6 ( НА ВЕСЬ...

Нарисовать в графическом режиме шахматную доску
Нужно нарисовать в графическом режиме шахматную доску. п.с не по теме, будет...

2
Puporev
Модератор
55082 / 42339 / 29241
Регистрация: 18.05.2008
Сообщений: 100,040
20.11.2012, 20:18 2
Лучший ответ Сообщение было отмечено ін как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
uses crt,graph;
procedure Kletka(x1,y1,c:integer;d:integer);
begin
Setcolor(c);
setlinestyle(0,0,1);
Setfillstyle(1,c);
Bar(x1,y1,x1+d,y1+d);
end;
procedure Quin(v,g,x1,y1,r:integer);
begin
setcolor(2);
setlinestyle(0,0,3);
settextstyle(0,0,3);
Circle(x1+r*(2*v-1),y1+r*(2*g-1),r-3);
settextstyle(0,0,3);
OuttextXY(x1+r*(2*v-1)-10,y1+r*(2*g-1)-10,'Q');
end;
procedure Krest(j,i,x1,y1,r:integer);
begin
setcolor(12);
setlinestyle(0,0,3);
line(x1+r*(2*j-1)-10,y1+r*(2*i-1)-10,x1+r*(2*j-1)+10,y1+r*(2*i-1)+10);
line(x1+r*(2*j-1)-10,y1+r*(2*i-1)+10,x1+r*(2*j-1)+10,y1+r*(2*i-1)-10);
end;
procedure Zero(j,i,x1,y1,r:integer);
begin
setcolor(8);
setlinestyle(0,0,1);
circle(x1+r*(2*j-1),y1+r*(2*i-1),r div 2-3);
end;
 
var gd,gm,x1,y1,x2,y2,d1,i,j,r:integer;
    v,c:char;
    v1,g:byte;
begin
clrscr;
repeat
write('Vvedite simvol vertikali [a..h] v=');
readln(v);
until v in ['a'..'h'];
v1:=ord(v)-96;
repeat
write('Vvedite nomer gorizontali [1..8] g=');
readln(g);
until g in [1..8];
g:=8-g+1;
initgraph(gd,gm,'');
d1:=round((getmaxY-60)/8);
r:=d1 div 2;
Setcolor(4);
Rectangle(1,1,8*d1+50,8*d1+60);
Setfillstyle(1,4);
Bar(1,1,8*d1+50,8*d1+60);
x1:=30;y1:=20;
for i:=1 to 8 do
  begin
    for j:=1 to 8 do
    if odd(i+j) then Kletka(x1+d1*(i-1),y1+d1*(j-1),15,d1)
    else Kletka(x1+d1*(i-1),y1+d1*(j-1),6,d1);
  end;
Setcolor(0);
for i:=0 to 7 do
outtextxy(30+d1*i+d1 div 2,450,chr(ord(i+97)));
for i:=7 downto 0 do
outtextxy(20,440-d1*i-d1 div 2,chr(ord(i+49)));
Quin(v1,g,x1,y1,r);
for i:=1 to 8 do
for j:=1 to 8 do
if (abs(i-g)=abs(j-v1))and((j<>v1)or(i<>g))then Krest(j,i,x1,y1,r)
else if (j<>v1)or(i<>g) then Zero(j,i,x1,y1,r);
readln;
closegraph
end.
1
ін
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 6
20.11.2012, 20:24  [ТС] 3
спасибо большое)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2012, 20:24

Нарисовать 64х клетную шахматную доску
Привет всем. вот столкнулся с проблемой, как нарисовать 64х клетную доску. ...

Изобразить во все окно шахматную доску 10x10
Привет всем, помогите пожалуйста решить задачу, заранее спасибо. &quot;Изобразить...

Определить, бьет ли ферзь произвольную фигуру
Положение шахматных фигур на доске задается: - по горизонтали буквами; - по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru