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

игра pacman - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Напечатать матрицу, в которой наименьший след(сумма диагональных элементов) http://www.cyberforum.ru/cpp-beginners/thread294585.html
Даны две квадратные вещественные матрицы 10-го порядка.Напечатать квадрат той из них,в которой наименьший след(сумма диагональных элементов) p.s. помогите пожалуйста решить задачу.вообще не получается.....
C++ умножение двоичных чисел!!! помогите дописать умножение двочных чисел....... четвертый день сижу за программой, скоро сдавать а не получается написать только умножение....... ПОМОГИТЕЕЕЕЕЕЕЕЕЕЕЕЕ!!!:wall: main.cpp #include <cstdlib> #include <iostream> #include "Bin.h" using namespace std; int main(int argc, char *argv) { http://www.cyberforum.ru/cpp-beginners/thread294551.html
C++ Что такое триграф?
Что такое триграф?
Некорректная работа компилятора C++
простая схема для метода пузырькового упорядочения /* * Проект 4-1. Метод пузырькового * упорядочения. */ #include <iostream> #include <cstdlib>
C++ Формы http://www.cyberforum.ru/cpp-beginners/thread294517.html
Написал программу на Tform 1.Надо при чтобы при запуске открылась форма с приветствием например Tform 2 . Подскажите как это сделать. Обе формы готовы, я не знаю как поменять порядок их открытия. У меня сначала открывается первая форма, как сделать на оборот?
C++ Не могу понять где ошибка ? Ошибка в реализации функции AI_Attacks , я пометил комментарием где именно. Программа работает но через раз! Из 10 раз 2, 3 раза выдает ошибку. Просто у меня компьютер сейчас немного глючить и я из за этого не могу понять или это он или там наверно условие неправильное :( ? #include <iostream> #include <iomanip> #include <windows.h> #include <math.h> #include <stdio.h> #include <time.h>... подробнее

Показать сообщение отдельно
revaldo666
9 / 9 / 1
Регистрация: 18.07.2010
Сообщений: 180
13.05.2011, 10:58     игра pacman
Всем добрый день.
Задали задание.Написать игру типа пакмэн.
цель игры заключается в том чтобы собрать на поле все имеющиеся бонусы, не попасться врагу, ну и при окончании уровня расставить пакмэну способности.
Застрял вот на чем:
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 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru