Ir ao conteúdo
  • Cadastre-se

Avaliem meu jogo snake


Posts recomendados

O jogo fica meio "pesado" quando eu mudo a dimensão do mapa para valores > 20,

O que eu posso mudar ?

valw

#include <stdio.h>#include <windows.h>#include <conio.h>#include <stdlib.h>#include <time.h>#include <dos.h>#define max 20typedef struct minhoca{	int x,y;}tminho;tminho minhoc[0];int  main(){char map[max][max],botao,botao_anterior;int i,j,p,k;int topo = 1,loop = 0,pegou = 0,pontos =0;float velocidade = 10;	 	for (i=0;i<max;i++){		for(j=0;j<max;j++){			map[i][j] ='X'; 	    }	}	minhoc[topo].x =5;	minhoc[topo].y = 5;	p = rand()%10;        k = rand()%10;while (loop!=1){       if (kbhit()){		botao = getch();			if (botao == 'q'){			loop = 1;	    }	}            //um verificar que usa o axiliar 'botao_anterior', para a cobra nao passar por cima dela mesma------------------------		if (botao_anterior == 'd' && botao == 'a' ){                	botao  = 'd';				}				if (botao_anterior == 'a' && botao == 'd' ){                	botao  = 'a';				}					if (botao_anterior == 'w' && botao == 's' ){                	botao  = 'w';				}					if (botao_anterior == 's' && botao == 'w' ){                	botao  = 's';				}             ------------------------------------------------------------------------------------				//o verificador de colisao-------------------------------------------if (map[minhoc[topo].x][minhoc[topo].y+1] == 'X' && botao == 'd'){		            loop = 1;	    } if (map[minhoc[topo].x][minhoc[topo].y-1] == 'X' && botao == 'a'){		            loop = 1;	    }if (map[minhoc[topo].x-1][minhoc[topo].y] == 'X' && botao == 'w'){		            loop = 1;	    } if (map[minhoc[topo].x+1][minhoc[topo].y] == 'X' && botao == 's'){		            loop = 1;	    }	--------------------------------------------------------------------------------	 //atualiza as posiçoes-------------------------------------------------------------------------------                                       for (i=0;i<=topo-1;i++){			    minhoc[i].y = minhoc[i+1].y;		            minhoc[i].x = minhoc[i+1].x;				} 		      //movimento ----------------------------------------------------------                    switch(botao){   	            case 'd'  :     			minhoc[topo].y++;			break;		    case 'a'  :                         minhoc[topo].y--;			break;		    case 'w'  :    	                minhoc[topo].x--;		         break;		    case 's'  :		         minhoc[topo].x++;	                 break;		     }   ----------------------------------------------------------------------    //auxiliar para manter o movimento da cobra.				    botao_anterior = botao; -----------------------------------------------------------------------	 	//limpa o frame antigo        for (i=1;i<max-1;i++){		for(j=1;j<max-1;j++){		    map[i][j] ='\0'; 	    }	}     ------------------------------------------------------------------// coloca a "comida" na tela          map[p][k] = 177;-----------------------------------------------------------------	     //joga as posições atualizadas no mapa----------------------	for (i=0;i<=topo;i++){	     map[minhoc[i].x][minhoc[i].y] = 'X';    }------------------------------------------------------------------//verifica colisao com a "comida"------------------------------------    	 if (minhoc[topo].x == p  && minhoc[topo].y == k){	  	  printf("\a");		  srand(time(NULL));		  p = rand()%18+1 ;		  k = rand()%18+1 ;		  topo++;                  pontos++;	     //atualiza as posições de novo pois o topo é incrementado              minhoc[topo].y = minhoc[topo-1].y;	      minhoc[topo].x = minhoc[topo-1].x;	                 for (i=0;i<=topo-2;i++){		 	  minhoc[i].y = minhoc[i+1].y;		         minhoc[i].x = minhoc[i+1].x;		    }	    } --------------------------------------------------------------------------       system("cls"); //desenha o mapa atualizado-----------------------------------------------    for (i=0;i<max;i++){	   printf("\n");	      	for(j=0;j<max;j++){		    printf("%c",map[i][j]);			   		}	}--------------------------------------------------------------------------------------	printf("Pontos: %d\n",pontos);	Sleep(velocidade); // velocidade de atualizao da tela e consequente velocidade da cobra.	}// mensagens no fim do jogo--------------------------------------------------------------------------------------------------------printf("iniciante, nao tem dedo pra jogar o Snake Bugado.\n(ou teve um ataque epileptico, esse pisca pisca da tela e perigoso!!)\n Perdeu, você fez : %d pontos!",pontos);}
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...