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

Метод "игрок берет все карты" не срабатывает как надо - C++

Восстановить пароль Регистрация
 
fackelonosetz
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 13
08.05.2014, 20:10     Метод "игрок берет все карты" не срабатывает как надо #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void Player::MoveAllCardFromArea(Player x) 
//переместить карты из полей обоих игроков в собственность игрока, вызывающего функцию (игрок берет карты)
{
    while (GetAreaSize()>0)                     //пока есть карты в поле в
        AddCard(GetAndDeleteArea());       //срабатывает нормально
    while (x.GetAreaSize()>0)
        AddCard(x.GetAndDeleteArea());    //ВОТ - возвращает значение, но не удаляет у игрока х карты
}
Card Player::GetAndDeleteArea()  //удаляет карту из поля и возвращает значение этой карты
{
    Card x=area.back();                           
    area.pop_back();
    return x;
}
Почему так?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2014, 20:10     Метод "игрок берет все карты" не срабатывает как надо
Посмотрите здесь:

C++ 2 Программы. На "целые числа и системы счисления" и на "метод деления отрезка пополам"
Ввести символьную строку и заменить все буквы "а" на буквы "б" и наоборот, как заглавные, так и строчные. C++
C++ Ввести имя фамилию и отчество как одно данное типа строка. Определить длину строки и количество гласных в нем. Удалить все буквы "а" и "о" в фамилии.
C++ Сдающий карты. "cards_remaining--" одинаково работает и с "--", и без
C++ Наследование. Класс "Игрок в настольный теннис"
Переписать в файл О все элементы файла К с заменой в них символа "0" на символ "1" и наоборот C++
Переписать в файл О все элементы файла К с заменой в них символа "0" на символ "1" и наоборот C++
C++ Игра "Пятнашки" в режиме игрок-компьютер

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Melg
416 / 152 / 62
Регистрация: 23.09.2013
Сообщений: 306
08.05.2014, 20:48     Метод "игрок берет все карты" не срабатывает как надо #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Я думаю проблема в том как вы работаете с x. x в данном случае - локальная переменная, типа Player. Все операции с ней не повлияют на текущего Player - для которого был вызван MoveAllCardFromArea и не повлияют на объект класса Player переданный в качестве параметра - извне в метод MoveAllCardFromArea. Либо, расскажите подробнее, какое поведение вы ожидаете от программы и какое получаете.
fackelonosetz
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 13
09.05.2014, 09:02  [ТС]     Метод "игрок берет все карты" не срабатывает как надо #3
Да, спасибо большое. Такое элементарное, внимания не обратил
Yandex
Объявления
09.05.2014, 09:02     Метод "игрок берет все карты" не срабатывает как надо
Ответ Создать тему
Опции темы

Текущее время: 17:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru