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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Rikimaru
7 / 7 / 0
Регистрация: 25.09.2010
Сообщений: 31
#1

pacman (реализация движения) - C++

29.05.2011, 15:54. Просмотров 754. Ответов 0
Метки нет (Все метки)

реализовано через матрицу 22 на 19
3-пакмэн
1-стена
0-точка
2-не точка
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
for(int i=0; i<22; i++)
                {
                    for(int j=0; j<19; j++)
                    {
                        
                        if (mas[i][j]==3&&mas[i+SS*2-WW*2][j+DD*2-AA*2]!=1)//если на след шаге он сможет двигаться в эту же сторону то запоминаем значения
                        {
                            w=WW;
                            a=AA;
                            s=SS;
                            d=DD;
                        }
                        else//если нет то обнуляем(изначально тоже 0)
                        {
                            w=0;
                            a=0;
                            s=0;
                            d=0;
                        }
                        if (mas[i][j]==3&&mas[i+SS-WW][j+DD-AA]==0)//если точка запоминаем в счетчике и меняем местами
                        {
                            mas[i][j]=2;
                            mas[i+SS-WW][j+DD-AA]=3;
                            br=true;
                            flopesc+=1;
                        }
                        if (mas[i][j]==3&&mas[i+SS-WW][j+DD-AA]==2)//если не точка то просто меняем местами
                        {
                            mas[i][j]=2;
                            mas[i+SS-WW][j+DD-AA]=3;
                            br=true;
                        }
                
                        if (mas[i][j]==3&&mas[i+SS-WW][j+DD-AA]==1&&(WW!=w||AA!=a||SS!=s||DD!=d))//если стена на повороте идем дальше
                        {
                            mas[i][j]=2;
                            mas[i+s-w][j+d-a]=3;
                            br=true;
                        }
 
                        
 
                        if (br==true) break;
                    }
                    if (br==true) break;
                }
вот обработчик key press
C++
1
2
3
4
5
6
7
8
             switch(e->KeyChar)
             {
                case 'w': WW=1, AA=0, SS=0, DD=0; break;
                case 'a': WW=0, AA=1, SS=0, DD=0; break;
                case 's': WW=0, AA=0, SS=1, DD=0; break;
                case 'd': WW=0, AA=0, SS=0, DD=1; break;    
            
             }
ошибка как я понял в логике.. помогите найти

Добавлено через 4 минуты
ошибка в том что если движешся в проходе(к примеру можно двигаться вверх или вниз) то пр и повороте(влево или вправо) он останавливается
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2011, 15:54     pacman (реализация движения)
Посмотрите здесь:

Реализация произвольного движения объекта - C++
Как реализовать произвольное движение объектов,чтобы они отталкивались от стен,а при отталкивании меняли своё направление,ну и...

Pacman консольный - C++
Переписывал прогу пакмена из этого поста http://www.cyberforum.ru/csharp-beginners/thread430592.html, ради самообучения. В визуал студио...

игра pacman - C++
Всем добрый день. Задали задание.Написать игру типа пакмэн. цель игры заключается в том чтобы собрать на поле все имеющиеся бонусы, не...

Снова Pacman - C++
Доброго времени суток, господа! Прошу помочь советом начинающему. Суть проблемы: в pacman'е собственного изготовления все вроде бы...

Первая игра. Pacman - C++
Доброго времени суток. Пишу свою первую игру. Выбор пал на Pacman. В процессе разработки я где-то затупил(предполагаю, что в функции...

Объясните как работает код (pacman) - C++
Странный вопрос но я не очень понимаю как работает код ниже, скажите как он работает и лучше объясните алгоритм передвижения призрака (это...

Отображение движения персонажа - C++
Когда на экране показывается какое то действие персонажа, например двигается рука. Чтобы это сделать делается видео или гифка? Как это...

Моделирование движения облака - C++
Здравствуйте, нужна ваша помощь в написании программы - моделирование движения &quot;Облаков&quot; т.е. рисуются произвольные облака с помощью...

Картинка и траектория её движения - C++
Доброго всем времени. Я столкнулся с проблемой. Суть её заключается что мне на экране нужно двигать картинку по координатам x, y: ...

Расписание движения транспорта - C++
реализовать задачу, в которой при вводе с клавиатуры номера автобуса выводилось его расписание(номер автобуса и время прибытия на нашу...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru