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

игра pacman - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.71
revaldo666
9 / 9 / 1
Регистрация: 18.07.2010
Сообщений: 180
13.05.2011, 10:58     игра pacman #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;

	}
Вложения
Тип файла: txt col.h.txt (2.0 Кб, 75 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2011, 10:58     игра pacman
Посмотрите здесь:

C++ Игра
Игра на С++ C++
C++ игра (с++)
C++ Снова Pacman
Pacman консольный C++
C++ Игра слов, игра Scrabble
C++ Объясните как работает код (pacman)
Первая игра. Pacman C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
revaldo666
9 / 9 / 1
Регистрация: 18.07.2010
Сообщений: 180
13.05.2011, 14:50  [ТС]     игра pacman #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 минут
ну блин помогите кто нибудь...
Yandex
Объявления
13.05.2011, 14:50     игра pacman
Ответ Создать тему
Опции темы

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