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

Почему не заносит в массив? - C++

Восстановить пароль Регистрация
 
Noterus
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 26
06.06.2013, 01:49     Почему не заносит в массив? #1
C
1
2
3
4
5
6
7
8
9
10
11
    for(int i=0;i<N;++i)
    {
        for(int j=0;j<N;++j)
        {
            if (k=rand() % 4 == 1)
                map[i][j]==WALL;
            else
                map[i][j]==-1;
            printf("%i\n",map[i][j]);
        }
    }
почему не заносит в массив?(пытаюсь генерировать уровень)
То есть заносит но нули и только...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,840
Записей в блоге: 2
Завершенные тесты: 1
06.06.2013, 01:54     Почему не заносит в массив? #2
Цитата Сообщение от Noterus Посмотреть сообщение
C++
1
2
3
map[i][j]==WALL;
//...
map[i][j]==-1;
== - это сравнение.
присваивание =
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
06.06.2013, 01:56     Почему не заносит в массив? #3
C
1
if ((k=rand() % 4) == 1)
а так?

Добавлено через 28 секунд
и что вы этим хотите сказать?

Цитата Сообщение от Noterus Посмотреть сообщение
map[i][j]==WALL;
Noterus
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 26
06.06.2013, 02:01  [ТС]     Почему не заносит в массив? #4
О большое спасибо, это у меня уже запрыги я просто практику пишу весь день...
Написал уже графический редактор и вот перешел к волновому алгоритму по нахождению пути.... Мозг уже в шоке
Вот что пока написалось
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <gl\glut.h>
#include <cstdlib>
#include <conio.h>
#include <stdio.h>
 
float WinWid=480;
float WinHei=480;
 
const int N=48;
const int WALL = 9999;
int map[N][N];
 
//Функция рисования
void Draw()
{
    glClear(GL_COLOR_BUFFER_BIT);
        glBegin(GL_QUADS);
            for(int i=0;i<N;++i)
            {
                for(int j=0;j<N;++j)
                {
                    if(map[i][j]==WALL)
                        glColor3f(1, 1, 1);
                    else if (map[i][j]==-1)
                        glColor3f(0, 0, 0);
                    glVertex2f((i) * 480/N,(j)*480/N);
                    glVertex2f((i+1) * 480/N,(j)*480/N);
                    glVertex2f((i+1) * 480/N,(j+1)*480/N);
                    glVertex2f((i) * 480/N,(j+1)*480/N);
                }
            }
        glEnd();
    glutSwapBuffers();
}
//Анимация
void Timer(int)
{
    //генирация лабиринта
    for(int i=0;i<N;++i)
    {
        for(int j=0;j<N;++j)
        {
            if (rand() % 4 == 1)
                map[i][j]==WALL;
            else
                map[i][j]==-1;
            printf("%i\n",map[i][j]);
        }
    }
    for(int i=0;i<N;++i)
    {
        map[i][0] =WALL;
        map[0][i] =WALL;
        map[i][N-1] =WALL;
        map[N-1][i] =WALL;
    }
}
/*
//функция иницилизации
void Initialize()
{
    glClearColor(0.0, 0.0, 0.0, 1.0); //Цвет окна в формате RGBa
    glMatrixMode(GL_PROJECTION);    //Матрица
    glLoadIdentity();           //Сбрасываем параметры матрицы
    glOrtho(-WinWid/2, WinWid/2, -WinHei/2, WinHei/2, -200.0, 200.0);
}
*/
//Главное меню main
int main(int argt, char** argv) //Передаем в main 2 переменные из glut.h int argt и char** argv
{
    //Глобальная инициализация
    glutInit(&argt,argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);  //GLUT_SINGLE -статическая картинка / GLUT_DOUBLE - два буфера вычислений| GLUT_RGB - рисовать в формате RGB
    glutInitWindowSize(WinWid,WinHei);              //Размер окна в пиксилях
    glutInitWindowPosition(400,200);            //Позиция окна на экране
    glutCreateWindow("Робот");          //Создание окна и его заголовок
    //Регистрация
    glutDisplayFunc(Draw);          //Указатель на функцию рисования
    glutTimerFunc(50, Timer, 0);    //Анимация
    //Initialize();                 //Запуск функции инициализации
    glutMainLoop();                 //Запускаем главный цикл
 
    return 0;
}
Yandex
Объявления
06.06.2013, 02:01     Почему не заносит в массив?
Ответ Создать тему
Опции темы

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