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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.71
revaldo666
9 / 9 / 1
Регистрация: 18.07.2010
Сообщений: 180
#1

игра pacman - C++

13.05.2011, 10:58. Просмотров 2829. Ответов 1
Метки нет (Все метки)

Всем добрый день.
Задали задание.Написать игру типа пакмэн.
цель игры заключается в том чтобы собрать на поле все имеющиеся бонусы, не попасться врагу, ну и при окончании уровня расставить пакмэну способности.
Застрял вот на чем:
1)Не получается поставить условие, чтоб если пакмэн наступил на бонус то бонус пропал, и после того как все бонусы собраны чтоб закончился уровень, и выдалось меню персонажа.
2)Это конечно же выставить движущихся врагов, при встрече с которыми должны отниматься жизни.(чёт не выходит расставить врага).
Заранее спасибо.
Код
#include "col.h"
//-------------------------------------------Глобальные переменные----------------------------------------//
	const int syze_y=20;
	const int syze_x=20;
	int face=2;
	int coor_y=0;
	int coor_x=0;
	int change=1;
	enum{empty=183,bonus=15,wall=35,enemy=1};

	struct character
	{
		int smile;
		int str;
		int stam;
		int hold;
		int hp;
		int score;

	};

	struct _enemy
	{
		int fac;
		int y;
		int x;

	};
//---------------------------------------Прототипы----------------------------------------------------------//
	void clearfield(int field[syze_y][syze_x]);
	void showfield(int field[syze_y][syze_x],character &);
	int GetControl();
	void SetAction(int );
	void SetBonuses(int field[syze_y][syze_x]);



//--------------------------------------------------------------------------------------------------------//
	
//-------------------------------------Маин---------------------------------------------------------------//
int main()
{
setlocale(LC_ALL,"Russian");
srand(time(NULL));
character  chr;
chr.smile=2;
chr.hp=2;
chr.score=0;
_enemy e;
e.fac=1;
e.x=10;
e.y=10;
int field[syze_y][syze_x];
		


clearfield(field);
SetBonuses(field);
showfield(field,chr);

int action;
do
{
	
	system("cls");
	showfield(field,chr);
	action=GetControl();
	SetAction(action);
	
	
	
	
	
}while(chr.score!=1);


cin.get();
return 0;
}
//------------------------------------------Описание------------------------------------------------------//
	

	void	clearfield(int field[syze_y][syze_x])
	{
		for(int i=0;i<syze_y;i++)
		{
			for(int k=0;k<syze_x;k++)
			{
				field[i][k]=empty;
			}
		}

	}
	void	showfield(int field[syze_y][syze_x],character & chr)
	{
		
		cout<<chr.hp<<endl;
		for(int i=0;i<syze_y;i++)
		{
			for(int k=0;k<syze_x;k++)
			{
				if(i==coor_y&&k==coor_x)
				{
					cout<<(char)chr.smile;
					
					//---------------------------------
					if(coor_y==1&&coor_x==3)
						field[1][3]=empty;
					
					if(coor_y==4&&coor_x==8)
						field[4][8]=empty;
					
					if(coor_y==6&&coor_x==13)
						field[6][13]=empty;
					
					if(coor_y==16&&coor_x==3)
						field[16][3]=empty;
					
					
					//---------------------------------
				}

				else
				color((char)field[i][k],11,0);
			}
			cout<<endl;
		}

		
		
	}
	int GetControl()
	{
		int s=getch();
		cin>>s;
		return s;
	}
	void SetAction(int code)
	{
		if(GetAsyncKeyState(VK_UP))
		{
			if(coor_y>0)
			coor_y--;
		}
		if(GetAsyncKeyState(VK_DOWN))
		{
			if(coor_y!=19)
				coor_y++;
		}
		if(GetAsyncKeyState(VK_LEFT))
		{
			if(coor_x>0)
				coor_x--;
		}
		if(GetAsyncKeyState(VK_RIGHT))
		{
			if(coor_x!=19)
				coor_x++;
		}
		
		
			

	}
	void SetBonuses(int field[syze_y][syze_x])
	{

			field[1][3]=bonus;
			field[4][8]=bonus;
			field[6][13]=bonus;
			field[16][3]=bonus;

	}
0
Вложения
Тип файла: txt col.h.txt (2.0 Кб, 82 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2011, 10:58
Я подобрал для вас темы с готовыми решениями и ответами на вопрос игра pacman (C++):

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

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

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

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

Игра слов, игра Scrabble - C++
Задание: Создать программу для решения задачи построения слова из некоторого множества букв (игра Scrabble) используя алгоритмы поиска в...

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

1
revaldo666
9 / 9 / 1
Регистрация: 18.07.2010
Сообщений: 180
13.05.2011, 14:50  [ТС] #2
с бонусом разобрался..
Теперь осталось только с врагом...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void SetEnemy(int field[syze_y][syze_x], character & chr)
    {
        color(enemy,3,0);
        field[ey][ex]=enemy;
        if(ex<syze_x)
            ex=rand()%+1;
        if(ex>0)
            ex=rand()%-1;
        if(ey<syze_x&&ey>0)
            ey=rand()%+1;
        if(field[coor_y][coor_x]==enemy)
                    {
                        chr.hp--;
                    }
 
    }
Добавлено через 1 час 45 минут
Блин подскажите плиз...не вкакую не могу заставить врага двигаться...

Добавлено через 56 минут
ну блин помогите кто нибудь...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2011, 14:50
Привет! Вот еще темы с ответами:

игра (с++) - C++
Здравствуйте! Нужно составить игру про шарики. Если в линии встречаются 3 или больше одинаковых цветов шарико, то нужно этот ряд шаров...

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

Игра на С++ - C++
Ну в общем нужна вам или нет, но всё равно выложу:) Это крестики-нолики. #include &lt;graphics.h&gt; #include &lt;stdlib.h&gt; #include...

Игра на C++ - C++
Нужно написать какую-небуть не особо сложную игру на C++. В голову приходять разные арканоиды/танчики/бомбермены, но для них, насколько я...


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

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

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