Ir ao conteúdo

Posts recomendados

Postado

Ao invés de usar Sleep() com o winalleg.h (windows.h do allegro), usa a função rest() do allegro, ai fica independente da plataforma (Linux/Windows)

 

Lembrando que se usar o windows.h direto da problema de conflito entre o Allegro e a Windows API, elas usam a mesma estrutura de nomes em muitas funções.

  • Curtir 2
Postado

Entendi @Benjamin Breeg , tinha usado ali o Sleep por que tava muito rápido, ai também poderia ser usado o clear_keybuf() pra apagar as antigas entradas e dar tempo ao usuário ver a opção.

Essas imagens ai não são do jogo, é apenas para testar, se quiserem posso fazer um pixel art, e criar background, interface, etc. 

E ainda vocês precisam decidir se o mapa vai ficar no main.c, ou vamos começar a montar a estrutura para mapa em arquivos.

Também está faltando a lógica de items, mobs, hp, atributos, etc.

Só dando as sugestões para o jogo...

 

Também ta na hora de começar a separar em headers kkk dnv

Postado

@TYSQUARE89 Não consegui de forma alguma fazer o seu código rodar.

 

Não encontrei como posso transformar essa parte aqui para rodar no windows.

struct MenuObject{
	private:
		//Váriaveis principais
		mItem **items;     // itens do menu
		int count;    	  // contagem de itens

		//Selector de item
		BITMAP *sel_buffer; // buffer da imagem
		char *selector_img; // imagem do seletor
		int selector_id;    // para onde o seletor esta apontando
		int dist_sel_x;     // distancia da imagem do item, use 0 para ficar ao lado
	public:
	MenuObject() {
		count = 0;
		items = NULL;
		sel_buffer = NULL;
		selector_img = NULL;
		selector_id = 0;
		dist_sel_x = 0;
	}

Alguém conseguiu?, consegue mandar o código pra ver como fica.

 

 

Menu - error.zip

adicionado 4 minutos depois

@Benjamin Breeg @TYSQUARE89

Em 06/10/2017 às 18:30, TYSQUARE89 disse:

Entendi @Benjamin Breeg , tinha usado ali o Sleep por que tava muito rápido, ai também poderia ser usado o clear_keybuf() pra apagar as antigas entradas e dar tempo ao usuário ver a opção.

Essas imagens ai não são do jogo, é apenas para testar, se quiserem posso fazer um pixel art, e criar background, interface, etc. 

E ainda vocês precisam decidir se o mapa vai ficar no main.c, ou vamos começar a montar a estrutura para mapa em arquivos.

Também está faltando a lógica de items, mobs, hp, atributos, etc.

Só dando as sugestões para o jogo...

 

Também ta na hora de começar a separar em headers kkk dnv

 

Consegui limpar o código mais um pouco, porque a coisa tava ficando desorganizada já dnv kk.

 

O main está clear agora.

 

O mapa foi reduzido à somente o que ele vai mostrar.

Testando - Forum.zip

adicionado 5 minutos depois

Sobre separar em arquivos, acho interessante a ideia.

 

Seria um arquivo próprio pro mapa exemplo?, assim ele nem fica aparecendo no principal.

 

Sou iniciante em C, nunca mexi com arquivos próprios ainda.

adicionado 12 minutos depois

Agora explicando o vislumbre da versão final até agora pensado.

 

O personagem inicia exatamente onde ele está agora.

 

O objetivo dele é atravessar o mapa é chegar a saída, onde está indicando abaixo.

 

I1TBUjMmQ4_XvJKT3KUkyg.png

 

Porém terá alguns obstáculos, como outros digamos "monstros" andando no mapa aleatoriamente. 2 ou 3 (igual pacman se for para comparar).

 

Porém também terá um tempo para chegar nessa saída, sendo que terá também itens no mapa que servirão para aumentar o tempo restante para sair.

 

Sendo também imprecisável que pegue pelo menos uns 2 itens, pra sair, ele pode desbloquear a porta, ou algo do gênero.

 

é também ele não conseguirá chegar na saída com o tempo inicial que ainda não está definido, por isso a importância de pegar os itens.

 

Também terá 2 sistema de rankings, sendo um deles por menor tempo terminado a fase, é o outro pela quantidade de pontos feitos.

 

Na saída, dará uma opção para continuar em um novo mapa, com os pontos atuais, ou finalizar o game.

 

Isso é o que temos até agora, ideias são bem vindas, mas claro, um passo de cada vez.

adicionado 14 minutos depois

--------

Agora que temos um mapa construído, seria interessante focar na parte do menu, o fechar que ainda ta bugando (já eu falo mais pra baixo), dividir em arquivos o game (sugestão acho), usar a função time do allegro pra ser o sistema de tempo que descrevi a cima.

adicionado 15 minutos depois

--------------------------

2 bugs que notei.

 

O botão de fechar a jenela está acionando somente quando abre o menu jogar, e também não fecha, só habilita mesmo.

 

Outro bug que encontrei é que, o jogo não fecha mesmo com o esq, ele meio que esconde a janela, o processo dele ainda continua rodando em segundo plano, tanto com que no gerenciador de tarefas (windows), ele está aberto.

adicionado 16 minutos depois

@TYSQUARE89 @Benjamin Breeg Desculpa se ficou muito grande, gostaria de detalhar no máximo possível, sempre que posso.

  • Curtir 1
Postado

Vou criar uma versão melhor, e no windows, quando estiver pronto posto aqui.

Naquele código lá que você quer mudar pra windows, não precisa muda-lo, ele já é igual ao windows.

 

  • Obrigado 1
Postado
9 horas atrás, TYSQUARE89 disse:

Vou criar uma versão melhor, e no windows, quando estiver pronto posto aqui.

Naquele código lá que você quer mudar pra windows, não precisa muda-lo, ele já é igual ao windows.

 

ok, é porque no meu codeblocks ele não reconhece os comandos de "private:" e "public:". e como fazem parte do menu pelo que percebi, sem eles atualmente ele não reconhece os comandos posteriores.

Postado

@erique como assim não reconhece o private e public lol, tá atualizado ele? Segue a versão com arquivos de menu separado: lembrando que essa versão é livre pra editar, etc...

 

ANEXO: MENU.ZIP

 

p.s: ta pra windows, feito no codeblocks, com allegro 4

 

--------------

Para quem quiser criar/alterar um menu precisa de 4 etapas:

1 - Criar objeto          - class MenuObject x;

2 - Adicionar items   -  x.additem("nomedoarquivo_imagem", acao_char, x, y)

   - Adicionar seletor -  x.addeseletor('nomedoarquivo_imagem", item_inicial, espaco_do_item);

 

3 - Desenhar menu - enviar x para menu_draw:    menu_draw(&x);

4 - Enviar menu para função de loop/lógica:

     - essa eu criei personalizada, mas o padrão é alterar as seguinte's coisa's:

     a) na função menu_action, precisa coincidir com x.additem em acao_char, etapa 2.

---------------

 

 

BUGS ENCONTRADOS:

- No inicio ele vai para o 2 em vez do 1, ainda não encontrei o problema.

  • Curtir 1
Postado

@TYSQUARE89 Tava sim, enfim.

 

No meu windows 7 pelo menos, ele trava, tentando executar normalmente.

arGqvz34SRmlsYJCUGxRhw.png

 

Porém, testei com o modo de compatibilidade, com o windows 7 ou windows xp, e deu certo :/

 

OyeqpFx3Q1KQMiFzzRn9tA.png

 

Já eu testo pegando o código do menu e tentando implementar no código que roda aqui, e posto o resultado.

adicionado 0 minutos depois

Executavel menu.zip

  • Confuso 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!