Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 03.12.2016
Сообщений: 28
1

шахматы

24.03.2017, 09:00. Показов 1754. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать программу, запрашивающую позиции белого и черного шахматных коней и проверяющую, не бьют ли они друг друга.
Помогите пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2017, 09:00
Ответы с готовыми решениями:

Вы когда-нибудь разрабатывали шахматы на QBasic
Здравствуйте! Вы когда-нибудь разрабатывали шахматы на QBasic?

шахматы
помогите написать шахматную доску с помощью панелей с цифрами и буквами

Шахматы
ВЕТВЛЕНИЕ! Поле шахматной доски определяется парой натуральных чисел, каждое из которых не...

Шахматы
как сделать шахматы? сама система родов Добавлено через 1 час 14 минут я хочу чтобы нужно...

10
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
24.03.2017, 09:29 2
leonid125
А в каком виде должна задаваться позиция коней?
Что-то вроде d3, b7? Или можно попроще 43, 27?
1
0 / 0 / 0
Регистрация: 03.12.2016
Сообщений: 28
24.03.2017, 10:02  [ТС] 3
попроще
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
24.03.2017, 10:28 4
Координаты коней задаются числами. От 11 до 88.
(цифр 0 и 9 тут быть не должно)
Если кони бьют друг друга, то программа печатает YES и
NO в противном случае.

QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
REM
REM 11, ..., 88
REM
 
CLS
 
INPUT "KON1 = "; n1
INPUT "KON2 = "; n2
 
x1 = n1 \ 10
y1 = n1 MOD 10
 
x2 = n2 \ 10
y2 = n2 MOD 10
 
A = ABS(x1 - x2) = 2 AND ABS(y1 - y2) = 1
B = ABS(x1 - x2) = 1 AND ABS(y1 - y2) = 2
 
IF A OR B THEN PRINT "YES" ELSE PRINT "NO"
END
1
0 / 0 / 0
Регистрация: 03.12.2016
Сообщений: 28
24.03.2017, 11:41  [ТС] 5
спасибо большое
0
6171 / 936 / 310
Регистрация: 25.02.2011
Сообщений: 1,367
Записей в блоге: 1
24.03.2017, 11:46 6
Цитата Сообщение от echs Посмотреть сообщение
A = ABS(x1 - x2) = 2 AND ABS(y1 - y2) = 1
B = ABS(x1 - x2) = 1 AND ABS(y1 - y2) = 2
IF A OR B THEN PRINT "YES" ELSE PRINT "NO"
можно немного короче:
QBasic/QuickBASIC
1
IF (x1 - x2) ^ 2 + (y1 - y2) ^ 2 = 5 THEN PRINT "YES" ELSE PRINT "NO"
или
QBasic/QuickBASIC
1
IF ABS((x1 - x2) * (y1 - y2)) = 2 THEN PRINT "YES" ELSE PRINT "NO"
0
0 / 0 / 0
Регистрация: 24.03.2017
Сообщений: 4
24.03.2017, 12:06 7
То ли я координаты задаю не так, хотя пробовал все комбинации уже

Добавлено через 4 минуты
Один конь на С3 (33), второй на Е4(54) - они бьют друг друга, а программа пишет нет, как так ?
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
24.03.2017, 12:47 8
forestol
Я проверил программу ещё раз. Все работает верно.
...
может у вас где опечатка? проверьте код внимательно.
0
31 / 37 / 3
Регистрация: 24.11.2016
Сообщений: 150
27.03.2017, 08:23 9
Я вот тут игру придумал.Расставляете фигуры на доске а потом компьютер выбрасывателем случайных чисел расставляет фигуры.Выигрывает тот у кого меньше фигур оказалось под боем.
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
27.03.2017, 09:18 10
STAR WARS
Вы не могли бы объяснить, а чем эта игра отличается
от подбрасывания монеты? Орел - выиграл, решка - проиграл...
0
31 / 37 / 3
Регистрация: 24.11.2016
Сообщений: 150
27.03.2017, 11:02 11
Отличается.В подбрасывании монеты выигрывает случай.А здесь хороший игрок будет постоянно выигрывать а плохой проигрывать.Тем более ставя у края доски вы сокращаете число ходов.А ставя у края доски вы путаете противника и противни не знает где вы.Тем более выбрасыватель случайных чисел виляет и поэтому придётся иногда ставить у края доски.Если вы будете ставить одну и туже позицию вы больше проиграете чем выиграете.Надо тоже вилять чтобы увернутся.Это похоже на игру в карты.Например существует чемпионат мира в покер и я в магазине видел книгу где было много таблиц математических по которым надо играть в покер чтобы выиграть.Когда танк идёт в наступление снаряды летят неизвестно откуда.У меня дед как и я не пил не курил был водителем на войне на т-34 четыре года и его даже не разу не ранили.
0
27.03.2017, 11:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2017, 11:02
Помогаю со студенческими работами здесь

Шахматы
Ход шахматной фигуры задан в виде: XY-XY, где X - буква (A,B,C,D,E,F,G,H), а Y - цифра...

Шахматы
На игровом поле 10x10 в правом нижнем углу появляется шахматная фигура. Игрок должен переместить ее...

Шахматы
Приветствую всех :) Решил написать шахматы используя wpf... Что имею на данный момент: В...

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru