athoslive Postado Julho 20, 2012 Denunciar Share Postado Julho 20, 2012 (editado) Como o Rocco está sempre postando códigos interessantes,vou postar um que eu desenvolvi...Me avisem se acharem algum defeito pois eu estou tentando melhorar.#include<stdio.h> #include<conio.h> #include<time.h> #include<dos.h> #include<ctype.h> #include<stdlib.h> #include<math.h> int p_r=40,p_m=39,p_n=41,p_v=39,p_b=41,p_i=40,vida=100,vi=100; void menu(int esc,int a,int f,int z); void cenario(); void nave(int p,int m,int n); void semnave(int p,int m,int n); void tiro(int p,int y); void inimigo(int u,int v,int b); void seminimigo(int u,int v,int b); void tiroinimigo(int u,int g); int main() { int b=0; clrscr(); clrscr(); _setcursortype(_NOCURSOR); menu(0,0,0,0); while(b!=27) { gotoxy(1,1); textcolor(RED); cprintf("HP-%d%",vi); if(kbhit()) { b=getch(); semnave(p_r,p_m,p_n); seminimigo(p_i,p_v,p_b); if(b==100) { p_r++; p_m++; p_n++; } if(b==97) { p_r--; p_m--; p_n--; } if(b==119) tiro(p_r,24); if(p_r==79) p_r=2; if(p_r==2) p_r=79; if(b==75) { p_i--; p_v--; p_b--; } if(b==77) { p_i++; p_v++; p_b++; } if(b==72) { tiroinimigo(p_i,3); } } nave(p_r,p_m,p_n); inimigo(p_i,p_v,p_b); if(vi==0) { gotoxy(20,10); printf("P1 Perdeu"); getch(); exit(1); } if(vida==0) { gotoxy(35,10); printf("P2 Perdeu"); getch(); exit(1); } } } void nave(int p,int m,int n) { gotoxy(1,25); textcolor(RED); cprintf("HP-%d%",vida); gotoxy(p,23); printf("²"); gotoxy(m,24); printf("²"); gotoxy(n,24); printf("²"); } void semnave(int p,int m,int n) { gotoxy(p,23); printf(" "); gotoxy(m,24); printf(" "); gotoxy(n,24); printf(" "); } void tiro(int p,int y) { for(y=24;y>=1;y --) { gotoxy(p,y); printf("|"); delay(10); gotoxy(p,y); printf(" "); nave(p_r,p_m,p_n); inimigo(p_i,p_v,p_b); if(p_r==p_i || p_r==p_v || p_r==p_b) { if(y==1) vi=vi-10; } } gotoxy(p,y); printf(" "); } void inimigo(int u,int v,int b) { gotoxy(1,1); textcolor(RED); cprintf("HP-%d%",vi); gotoxy(u,3); printf("²"); gotoxy(v,2); printf("²"); gotoxy(b,2); printf("²"); } void seminimigo(int u,int v,int b) { gotoxy(u,3); printf(" "); gotoxy(v,2); printf(" "); gotoxy(b,2); printf(" "); } void tiroinimigo(int u,int g) { for(g=3;g<=24;g++) { gotoxy(u,g); printf("|"); delay(10); gotoxy(u,g); printf(" "); nave(p_r,p_m,p_n); inimigo(p_i,p_v,p_b); if(p_i==p_r || p_i==p_m || p_i==p_n) { if(g==24) vida=vida-10; } } gotoxy(u,g); printf(" "); } void menu(int esc,int a,int f,int z) { cenario(); a=0; f=0; while(f==0) { esc=getch(); if(esc==72) a--; if(esc==80) a++; if(a<0) a=3; if(a>3) a=1; if(a==1) { gotoxy(30,7); printf("ÎÍÍÍÍÍÍÍÍÍÎ"); gotoxy(30,8); printf("º Jogar º"); gotoxy(30,9); printf("ÎÍÍÍÍÍÍÍÍÍÎ"); gotoxy(30,11);printf("ÅÄÄÄÄÄÄÄÄÄÅ"); gotoxy(30,12);printf("³Controles³"); gotoxy(30,13);printf("ÅÄÄÄÄÄÄÄÄÄÅ"); gotoxy(30,16);printf("ÅÄÄÄÄÄÄÄÄÄÅ"); gotoxy(30,17);printf("³ Sair ³"); gotoxy(30,18);printf("ÅÄÄÄÄÄÄÄÄÄÅ"); if(esc==13) { a=0; f++; } } if(a==2) { gotoxy(30,7); printf("ÅÄÄÄÄÄÄÄÄÄÅ"); gotoxy(30,8); printf("³ Jogar ³"); gotoxy(30,9); printf("ÅÄÄÄÄÄÄÄÄÄÅ"); gotoxy(30,11);printf("ÎÍÍÍÍÍÍÍÍÍÎ"); gotoxy(30,12);printf("ºControlesº"); gotoxy(30,13);printf("ÎÍÍÍÍÍÍÍÍÍÎ"); gotoxy(30,16);printf("ÅÄÄÄÄÄÄÄÄÄÅ"); gotoxy(30,17);printf("³ Sair ³"); gotoxy(30,18);printf("ÅÄÄÄÄÄÄÄÄÄÅ"); if(esc==13) z++; } if(a==3) { gotoxy(30,7); printf("ÅÄÄÄÄÄÄÄÄÄÅ"); gotoxy(30,8); printf("³ Jogar ³"); gotoxy(30,9); printf("ÅÄÄÄÄÄÄÄÄÄÅ"); gotoxy(30,11);printf("ÅÄÄÄÄÄÄÄÄÄÅ"); gotoxy(30,12);printf("³Controles³"); gotoxy(30,13);printf("ÅÄÄÄÄÄÄÄÄÄÅ"); gotoxy(30,16);printf("ÎÍÍÍÍÍÍÍÍÍÎ"); gotoxy(30,17);printf("º Sair º"); gotoxy(30,18);printf("ÎÍÍÍÍÍÍÍÍÍÎ"); if(esc==13) { a=0; exit(1); } } if(z==1) { clrscr(); gotoxy(1,1); printf("P1 joga com (A) para esquerda,(D) para direita e (W) para atrar."); gotoxy(3,1); printf("P2 joga com a setas, esquerda,direita e emcima"); getch(); clrscr(); z=0; cenario(); } } a=0; f=0; z=0; clrscr(); } void cenario() { gotoxy(30,7); printf("ÅÄÄÄÄÄÄÄÄÄÅ"); gotoxy(30,8); printf("³ Jogar ³"); gotoxy(30,9); printf("ÅÄÄÄÄÄÄÄÄÄÅ"); gotoxy(30,11);printf("ÅÄÄÄÄÄÄÄÄÄÅ"); gotoxy(30,12);printf("³Controles³"); gotoxy(30,13);printf("ÅÄÄÄÄÄÄÄÄÄÅ"); gotoxy(30,16);printf("ÅÄÄÄÄÄÄÄÄÄÅ"); gotoxy(30,17);printf("³ Sair ³"); gotoxy(30,18);printf("ÅÄÄÄÄÄÄÄÄÄÅ"); } Editado Julho 21, 2012 por athoslive Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PedroCunha Postado Julho 20, 2012 Denunciar Share Postado Julho 20, 2012 Parece ótimo. Só uma coisa: evite usar o goto. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 athoslive Postado Julho 20, 2012 Autor Denunciar Share Postado Julho 20, 2012 Não entendi o "goto"... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 athoslive Postado Julho 20, 2012 Autor Denunciar Share Postado Julho 20, 2012 (editado) Saiu sem querer este double post, já que minha internet travou e respondi a mesma mensagem duas vezes,portanto estou editando o erro... Editado Julho 20, 2012 por athoslive Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 roccoC/C++ Postado Julho 20, 2012 Denunciar Share Postado Julho 20, 2012 Eu testei por aqui, e gostei do código, você tá ficando bom hein? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 athoslive Postado Julho 21, 2012 Autor Denunciar Share Postado Julho 21, 2012 (editado) xD Meu código só tem um problema,quando você aperta muito rápido,ele trava,porque só executa uma ação por vez. (Mesmo assim ele executa tão rápido que só faz diferença se você ficar teclando feito doido que nem eu muitas vezes faço...)----Estou pondo um menu nele,quando conseguir edito o tópico.(É um menu bem legal...)Já coloquei o menu,qualquer problema me avisa e tenta mandar a solução... Editado Julho 21, 2012 por athoslive Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
athoslive
Como o Rocco está sempre postando códigos interessantes,vou postar um que eu desenvolvi...
Me avisem se acharem algum defeito pois eu estou tentando melhorar.
Editado por athosliveLink para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.