Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> реализация волнового алгоритма 
:(
    Опции темы
lenarano
Дата 1.11.2015, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 17.4.2014

Репутация: нет
Всего: нет



Нашла ошибки о которых стыдно говорить. На данный момент нужна помощь в том, что я не могу вывести levelsMap в поле класса, возникают ошибки. Если кто то покажет, как это будет-буду рада, может опять что-то упускаю. Если оставить как есть, то тогда естественно моя функция прорисовки void Map::display_maze( int level) его не видит. Подскажите пути исправления

Код

#ifndef MAP_H
#define MAP_H
#include <SFML\Graphics.hpp>
class Map{
private:
int m_level;
 
public: 
   enum { HEIGHT_MAP=25, WIDTH_MAP=28 };
   sf::String TileMap[HEIGHT_MAP];
 
 Map();
 
 int getLevel();
 
 void setLevel(int level);
 
 void display_maze( int level);
};
 
 
 
#include "map.h"
 
#include <iostream>
 
 
 
Map::Map()
{
    setLevel(0);
    
}
 
int Map:: getLevel() { return m_level; }
 
void Map:: setLevel(int level)
{
    static const char* levelsMap[][HEIGHT_MAP] = {
        { 
                "0000000000000000000000000000",/* Инициализация 0-го уровня */
                "0   S                      0",
                "0                          0",
                "0  0 s0   0      0   0s 0 G0",
                "0  0000   0mmmmmm0   0000  0",
                "0  0mm0   00000000   0mm0  0",
                "0                          0",
                "0                          0",
                "0  0mm0   000  000   0mm0  0",
                "0  0000   0      0   0000  0",
                "0  0mm0   0      0   0mm0  0",
                "t         000  000         T",
                "t                          T",
                "t                          T",
                "0  0mm0   00000000   0mm0  0",
                "0  0000              0000  0",
                "0  0mm0              0mm0  0",
                "0         00000000         0",
                "0                          0",
                "0  0mm0              0mm0  0",
                "0  0000   00000000   0000  0",
                "0  0 s0              0s 0  0",
                "0                          0",
                "0                          0",
                "0000000000000000000000000000", },
            {"0000000000000000000000000000", /* Инициализация 1-го уровня */ 
            "0                          0",
            "0                          0",
            "0  0                    0  0",
            "0  0000              0000  0",
            "0  0      000  000      0  0",
            "0         0      0         0",
            "0         0      0         0",
            "0  0mm    000  000    mm0  0",
            "0  0000              0000  0",
            "0  0                    0  0",
            "t         00000000         T",
            "t           m00m           T",
            "t           m00m           T",
            "0  0      00000000      0  0",
            "0  0000              0000  0",
            "0  0                    0  0",
            "0                          0",
            "0      0000      0000      0",
            "0  0      0s    s0      0  0",
            "0  0  0   00000000   0  0  0",
            "0  0  0   0mmmmmm0   0  0  0",
            "0                          0",
            "0                          0",
            "0000000000000000000000000000", },
            { /* Инициализация 2-го уровня */ },
    };
    int levelsCount = sizeof(levelsMap) / sizeof(levelsMap[0]);
    if (level < 0 || level >= levelsCount)
        level = 0;
    m_level = level;
    for(int i=0; i < HEIGHT_MAP; i++)
    {TileMap[i] = levelsMap[level][i];
    std::cout<<levelsMap[level][i];
    printf("\n");
    }
}
 
 
void Map::display_maze( int level)
{
    int i;
    printf("MAZE:\n");
    for(int i=0; i < Map::HEIGHT_MAP; i++)
    {TileMap[i] = levelsMap[level][i];
    std::cout<<levelsMap[level][i];
    printf("\n");
    }
 
    return;
}

PM MAIL   Вверх
math64
Дата 2.11.2015, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 12
Всего: 72



Код

TileMap[i] = levelsMap[level][i];

требует наличия оператора копирования:
Код

sf::String& sf::String::operator=(const char*);

Для
Код

std::cout<<levelsMap[level][i];

нужно определение оператора
Код

/*friend*/ std::ostream& operator<<(std::ostream&, const sf::String&);

Если такие операторы не определены, копилятор пытается сделать преобразования типов, но возможно, делает не те.
Код

printf("\n");

нельзя использовать вместе с cout, делайте
Код

cout << endl;


PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0779 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.