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

Вычислить все возможные ходы коня

22.03.2011, 15:00. Просмотров 3440. Ответов 4
Метки нет (Все метки)

в шахматах задать начальные координаты клетки(х,у)
и вычислить все возможные ходы коня из этой клетки(8шт)..
вывестим все точки через запятую

Добавлено через 26 минут
Конь может пойти на любое поле доски, не занятое фигурой его цвета, если оно располагается на другом конце буквы «Г» (две клетки в одну сторону и одну в другую). Конь, находящийся по середине доски, имеет восемь вариантов хода.

Добавлено через 13 минут
просто формулу хотя бы%)
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2011, 15:00
Ответы с готовыми решениями:

Определить все возможные ходы ферзя, с поворотом доски на 180 градусов
Здравствуйте! Задача состоит в следующем: дано поле 8*8, нужно определить все возможные ходы ферзя,...

Вычислить все возможные комбинации символов
Нужно вычислить на паскале все возможные комбиации из пяти четырёхзначных символов без повторений....

Ввести координаты ладьи и коня и определить, бьет ли ладья коня, если она ходит первой
Ввести координаты ладьи и коня и определить, бьет ли ладья коня, если она ходит первой. В...

Отметьте положение коня на доске и все клетки, которые бьет конь
На шахматной доске стоит конь. Отметьте положение коня на доске и все клетки, которые бьет конь....

Все возможные комбинации
Заданы два числа a, b (записаны в одной строке). Где 1<=a<=1032, 1<=b<=1050 Нужно получить все...

4
Puporev
Модератор
57839 / 44060 / 30427
Регистрация: 18.05.2008
Сообщений: 105,376
22.03.2011, 15:39 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от Лер4ик Посмотреть сообщение
не занятое фигурой его цвета,
Еще и другие фигуры есть?

Добавлено через 15 минут
Если других фигур нет, то так.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
uses crt;
var x,y,i,j:integer;
begin
clrscr;
repeat
writeln('Введите координаты коня от 1 до 8:');
readln(x,y);
until(x in [1..8])and(y in [1..8]);
writeln('Конь может пойти на поля:');
for i:=x-2 to x+2 do
for j:=y-2 to y+2 do
if(((abs(x-i)=1)and(abs(y-j)=2))or((abs(x-i)=2)and(abs(y-j)=1)))
and((i>=1)and(i<=8)and(j>=1)and(j<=8)) then
writeln(i:2,',',j:2);
readln
end.
1
Лер4ик
0 / 0 / 1
Регистрация: 03.02.2010
Сообщений: 81
22.03.2011, 16:08  [ТС] 3
нет других
0
DoctorHaOs
0 / 0 / 1
Регистрация: 10.09.2012
Сообщений: 2
10.09.2012, 19:33 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Ввод d4 , вывод

Kordinata :c2
Kordinata :b3


Вывод можешь настроить под себя, там все легко!

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
uses crt;
var x5,x3,x4,x8,x9: char;
y,x,x0,x1,x2,x6,x7,y1,y2,y3,y4: integer;
 
begin
writeln('Protect HaOs STUDIO');
writeln('Send comments to [email]doctorhaos96@gmail.com[/email]');
read(x5);
read(y);
 
case x5 of
'a': x:=1;
'b': x:=2;
'c': x:=3;
'd': x:=4;
'e': x:=5;
'f': x:=6;
'g': x:=7;
'h': x:=8;
end;
x1:= x + 2;
x2:= x - 2;
x6:= x + 1;
x7:= x - 1;
y1:= y + 1;
y2:= y - 1;
y3:= y + 2;
y4:= y - 2;
 
case x1 of
1: x3:='a';
2: x3:='b';
3: x3:='c';
4: x3:='d';
5: x3:='e';
6: x3:='f';
7: x3:='g';
8: x3:='h';
end;
 
case x2 of
1: x4:='a';
2: x4:='b';
3: x4:='c';
4: x4:='d';
5: x4:='e';
6: x4:='f';
7: x4:='g';
8: x4:='h';
end;
 
case x6 of
1: x8:='a';
2: x8:='b';
3: x8:='c';
4: x8:='d';
5: x8:='e';
6: x8:='f';
7: x8:='g';
8: x8:='h';
end;
 
case x7 of
1: x9:='a';
2: x9:='b';
3: x9:='c';
4: x9:='d';
5: x9:='e';
6: x9:='f';
7: x9:='g';
8: x9:='h';
end;
 
if (x1<1) or (y1<1) then else
writeln('Kordinata :':5, x3,y1);
if (x1<1) or (y2<1) then else
writeln('Kordinata :':5, x3,y2);
if (x2<1) or (y1<1) then else
writeln('Kordinata :':5, x4,y1);
if (x2<1) or (y2<1) then else
writeln('Kordinata :':5, x4,y2);
 
if (x6<1) or (y3<1) then else
writeln('Kordinata :':5, x8,y3);
if (x6<1) or (y4<1) then else
writeln('Kordinata :':5, x8,y4);
if (x7<1) or (y3<1) then else
writeln('Kordinata :':5, x9,y3);
if (x7<1) or (y4<1) then else
writeln('Kordinata :':5, x9,y4);
 
readkey;
 
end.

Удачи!!!
0
Puporev
Модератор
57839 / 44060 / 30427
Регистрация: 18.05.2008
Сообщений: 105,376
10.09.2012, 20:07 5
Цитата Сообщение от DoctorHaOs Посмотреть сообщение
там все легко!
А главное коротко и вовремя....
2
10.09.2012, 20:07
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2012, 20:07

Вывести все возможные ходы шахматного коня из данной позиции, для трехмерной шахматной доски 8*8*8
Sub asd() Dim x As Integer, y As Integer, xx As Integer, yy As Integer, s As String Do x =...

Ход возможные ходы шахматного коня, таблица
Заполняю простую таблицу, 8 на 8 клеток, первая цифра номер строки, вторая номер колонки, по...

Вычислить все возможные ходы ферзём
вычислить все возможные ходы ферзём


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

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

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