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

Игра, подобная шашкам. Оптимизация кода - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать свой движок с нуля http://www.cyberforum.ru/cpp/thread1242826.html
Как написать свой движок с нуля при помощью C++. Заранее спасибо.
C++ Альтернативный вызов функции 1. Интересует метод вызова функции через указатель(или по другому). 2. Интересует метод взятия кол-ва аргументов функции и их типов, а так же тип возвращяемого значения. По второму пункту вообще... http://www.cyberforum.ru/cpp/thread1242804.html
C++ Отследить изменение памяти сторонним процессом
Есть основное приложение1. Есть приложение2, которое считывает и изменяет его память. Надо отследить адреса, действие(чтение или запись), значение до и после действия. Куда копать?
Adobe PDF Library (APDFL) - поместить в формируемый документ картину формата PNG C++
Всем привет! Данная тема, возможно, не вполне подходит для данного раздела, поскольку вопрос, преимущественно имеет отношение к API Adobe PDF, конкретнее, к плюсовому API. Я пишу с...
C++ Электронная подпись+работа с сертификатами http://www.cyberforum.ru/cpp/thread1241481.html
Здравствуйте!дали задание,саму суть понял,не могу разобраться,как начать писать программу.помогите кто чем может. Вот само задание: Разработать приложение - утилиту командной строки, или с...
C++ Освобождение динамически созданных переменных (2-ого уровня) И так, продолжу старую тему про динамику. На этот раз есть вот что: #include <iostream> #include <stdio.h> #include <conio.h> #include <math.h> using namespace std; подробнее

Показать сообщение отдельно
DrOffset
7351 / 4451 / 1009
Регистрация: 30.01.2014
Сообщений: 7,292
15.08.2014, 23:39
RussBear, абсолютно не претендую на корректность, т.к. очень мало контекста.
На первый взгляд кажется, что твой код будет эквивалентен такому:
C++
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
int k1 = i+1;//i,j - координаты дамки
int k2 = j+1;
if(k1 < FieldSize && k2 < FieldSize ){//если следующая клетка в поле
    if(k1+1 < FieldSize && k2+1 < FieldSize ){//если еще одна клетка в поле - есть возможность "срубить"
        if(!Attack)
        {
            while(k1 < FieldSize && k2 < FieldSize ){//пока есть пустые клетки -
                field[k1][k2]->setSelect(true);//подсвечиваем возможные ходы
                k1++;
                k2++;
            }
            Attack = true;
        }
        //если шашка белого цвета
        if(field[k1][k2]->getCheckerType() == WHITE_CHECKER ||
                    field[k1][k2]->getCheckerType() == WHITE_KING){
            if(field[k1+1][k2+1]->getCheckerType() == NO_CHECKER){//и следующая за ней клетка пустая
                field[k1][k2]->setAttack(true);//подсвечиваем подбойную шашку красным
                Attack = true;//булева переменная, lля обязательного взятия
                while(k1+1 < FieldSize && k2+1 < FieldSize ){//пока есть возможность подсвечиваем возможные ходы
                    field[k1+1][k2+1]->setSelect(true);
                    k1++;
                    k2++;
                }
            }
        }
    }
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru