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

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

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

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

29.05.2011, 15:54. Просмотров 780. Ответов 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 минуты
ошибка в том что если движешся в проходе(к примеру можно двигаться вверх или вниз) то пр и повороте(влево или вправо) он останавливается
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2011, 15:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос pacman (реализация движения) (C++):

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

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

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

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

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

Написать програму для движения мерцающего круга по эллипсу (анимация движения) - C++
Добрый день,передо мной стоит задача : Написать програму для движения мерцающего круга по эллипсу.Проблема в том,что не могу сообразить как...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2011, 15:54
Привет! Вот еще темы с ответами:

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

Помогите доделать PacMan! - C++
В универе задали сделать Пакмена. С одной темы на этом форуме взял код и переписал на свой лад #include &quot;col.h&quot; ...

Pacman. Движения снаряда и прозрачность полей - C#
С# Дали задание - создать игру &quot;Пакмен&quot;. С помощью самоучителей и примеров свою задачу частично выполнил. Частично, потому что...

Реализация карты для игры pacman - C++ Builder
Всем доброго времени суток! Пишу курсач - игру pacman. Думаю как запилить карты...Есть идея записать массив в txt и считать оттуда и...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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