Форум программистов, компьютерный форум CyberForum.ru

Шахматы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массивы. Геометрия. Об окружности минимального радиуса по трем точкам http://www.cyberforum.ru/cpp-beginners/thread81716.html
Определить радиус и центр окружности минимального радиуса, проходящей хотя бы через три различные точки заданного множества точек на плоскости. Что-то нет никаких идей.. :(
C++ Замена произведения Всем привет у меня есть какоето (i*i) произведение в коде программы но преподу это не нравится и он говорит заменяй умножение на сложения и сдвиг!!! как это делается подскажите!!! http://www.cyberforum.ru/cpp-beginners/thread81713.html
Поделитесь Учебниками по которым вы учились C++
Люди, поделитесь хорошими учебниками по С/С++ и С++ Builder ! Я на данный момент только учусь и хочу освоить хорошо азы программирования на С++ в Билдэре. спс.
Удаление по номеру C++
У мну есть удаление( void delet) -оно удаляет запись. Как мне сделать так, чтобы оно удаляло по номеру записи?! #include "stdafx.h" #include<stdio.h> #include <string.h> #include<conio.h> #include<stdlib.h> #define F 2 struct firma{
C++ Удаление группы из массива http://www.cyberforum.ru/cpp-beginners/thread81696.html
Удалить из массива последнию группу элементов представляющих собой знакочередущийся ряд
C++ чтение из файла есть файл *.txt , в нем записаны несколько чисел в столбик (друг под другом), как произвести их чтение? подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
31.12.2009, 01:11     Шахматы
В общих чертах решение такое:
создаем один массив a[3][2].Пользователь задает координаты для всех трех фигур. Например король у белых a[0][0]=0, a[0][1]=0 (для a8) и т.п. Одна переменная типа bool (для проверки клеток вокруг белого короля - все они под боем черных или нет). Делаем эту проверку.
Далее делаем проверку самой клетки на которой стоит король белых. И выводим на основании этого результат: если клетка короля под боем и все вокруг клетки тоже то мат и т.п.
Сама проверка клеток, так (на примере клетки верхней левой у белого короля):
(пусть в a[0][]- белый король, a[1][]- черный король, a[2][] - черный слон)
C++
1
2
3
bool fl= true;
if(a[0][0]>0 && a[0][1]>0 && (a[0][0]-a[1][0]>2 || a[0][1]-a[1][1]>2) && a[0][0]!=a[2][0] && a[0][1]!= a[2][1]) 
fl=false; // значит верхняя левая клетка у белого короля не под боем
 
Текущее время: 11:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru