Baxnie2 0 #1 Postado 6 Maio, 2007 Bem fiz um joguinho de tiro (Incompleto) Ele tem High Score Voce pode se mover com limite Pode atirar e tem menu Scores e vidas Tbm tem power up q vc atira + forte lol E piska menos o/ Tem 2 inimigos que atiram Qndo eu edita dnv vo coloka pra mata os inimigos e ganha score e pode morre e perde vida ateh da game over =X Code: EDITED #include <stdio.h> #include <conio.h> #include <windows.h> #define KEYDOWN(key) GetKeyState(key) & 0x80 bool Die = false,ATMenu = true; int ScoreT = 0,PLife = 5; HANDLE ConHan = GetStdHandle(STD_OUTPUT_HANDLE); int CreateMenuLine() { COORD MenuLine; bool CreateMenuLine; MenuLine.X = 15; MenuLine.Y = 0;//Menu Line Y Reset CreateMenuLine = true; while(CreateMenuLine) { if(MenuLine.Y <=24) { SetConsoleCursorPosition(ConHan,MenuLine); SetConsoleTextAttribute(ConHan,FOREGROUND_GREEN|FOREGROUND_INTENSITY); printf("|"); MenuLine.Y++; } else { CreateMenuLine = false; } } } int CreateMenuInGame() { COORD ScorePos; //Create Menu ScorePos.X = 0; ScorePos.Y = 0; SetConsoleCursorPosition(ConHan,ScorePos); SetConsoleTextAttribute(ConHan,FOREGROUND_GREEN|FOREGROUND_INTENSITY); printf("Score: %d\nLifes: %d",ScoreT,PLife); } void Playing(char *PName) { COORD PPos,E1Pos,E2Pos,PowerPos,FPos,E1FPos,E2FPos; srand(GetTickCount() % GetCurrentThreadId()); int FTimer = 0,PowerTimer = 0,PowerMulti = 1,Shot = 1,E1Timer = 0,E2Timer = 0; bool InGame = true,FStatus = true,Playing,PowerShot = false,E1Vis,E2Vis,E1Fire,E2Fire,E1StartW = false,E2StartW = false,C1Fire = false,C2Fire = false,E1F = true,E2F = true; while(InGame) { PPos.X = 40;//Initial player Pos X PPos.Y = 24;//Initial player Pos Y PowerPos.X = 0; PowerPos.Y = 0; SetConsoleCursorPosition(ConHan,PPos); SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); printf("/|\\");//Player ¬¬ LOL CreateMenuInGame(); CreateMenuLine(); E1Vis = true; E2Vis = true; Playing = true; while(Playing) { if(E1Vis == true && E1StartW == false) { E1Pos.X = (rand() % 52) + 18; E1Pos.Y = 0; SetConsoleCursorPosition(ConHan,E1Pos); SetConsoleTextAttribute(ConHan,FOREGROUND_BLUE|FOREGROUND_INTENSITY); printf("\\|/"); E1Vis = false; E1Fire = true; E1StartW = true; } if(E2Vis == true && E2StartW == false) { E2Pos.X = (rand() % 52) + 18; E2Pos.Y = 0; SetConsoleCursorPosition(ConHan,E2Pos); SetConsoleTextAttribute(ConHan,FOREGROUND_BLUE|FOREGROUND_INTENSITY); printf("\\|/"); E2Vis = false; E2Fire = true; E2StartW = true; } if(E1Fire == true && E1F == true) { E1FPos.X = E1Pos.X + 1; E1FPos.Y = E1Pos.Y + 1; SetConsoleCursorPosition(ConHan,E1FPos); SetConsoleTextAttribute(ConHan,FOREGROUND_BLUE|FOREGROUND_INTENSITY); printf("|"); E1Fire = false; C1Fire = true; E1F = false; } if(E2Fire == true && E2F == true) { E2FPos.X = E2Pos.X + 1; E2FPos.Y = E2Pos.Y + 1; SetConsoleCursorPosition(ConHan,E2FPos); SetConsoleTextAttribute(ConHan,FOREGROUND_BLUE|FOREGROUND_INTENSITY); printf("|"); E2Fire = false; C2Fire = true; E2F = false; } if(C1Fire == true) { SetConsoleCursorPosition(ConHan,E1FPos); SetConsoleTextAttribute(ConHan,FOREGROUND_BLUE|FOREGROUND_INTENSITY); printf(" "); E1FPos.Y++; SetConsoleCursorPosition(ConHan,E1FPos); SetConsoleTextAttribute(ConHan,FOREGROUND_BLUE|FOREGROUND_INTENSITY); printf("|"); } if(C2Fire == true) { SetConsoleCursorPosition(ConHan,E2FPos); SetConsoleTextAttribute(ConHan,FOREGROUND_BLUE|FOREGROUND_INTENSITY); printf(" "); E2FPos.Y++; SetConsoleCursorPosition(ConHan,E2FPos); SetConsoleTextAttribute(ConHan,FOREGROUND_BLUE|FOREGROUND_INTENSITY); printf("|"); } if(E1FPos.Y >= 24) { SetConsoleCursorPosition(ConHan,E1FPos); SetConsoleTextAttribute(ConHan,FOREGROUND_BLUE|FOREGROUND_INTENSITY); printf(" "); E1Fire = true; C1Fire = false; } if(E2FPos.Y >= 24) { SetConsoleCursorPosition(ConHan,E2FPos); SetConsoleTextAttribute(ConHan,FOREGROUND_BLUE|FOREGROUND_INTENSITY); printf(" "); E2Fire = true; C2Fire = false; } if(E1StartW == true && E1Timer >= 100) { SetConsoleCursorPosition(ConHan,E1Pos); SetConsoleTextAttribute(ConHan,FOREGROUND_BLUE|FOREGROUND_INTENSITY); printf(" "); E1Pos.Y++; SetConsoleCursorPosition(ConHan,E1Pos); SetConsoleTextAttribute(ConHan,FOREGROUND_BLUE|FOREGROUND_INTENSITY); printf("\\|/"); E1Timer = 0; } if(E2StartW == true && E2Timer >= 100) { SetConsoleCursorPosition(ConHan,E2Pos); SetConsoleTextAttribute(ConHan,FOREGROUND_BLUE|FOREGROUND_INTENSITY); printf(" "); E2Pos.Y++; SetConsoleCursorPosition(ConHan,E2Pos); SetConsoleTextAttribute(ConHan,FOREGROUND_BLUE|FOREGROUND_INTENSITY); printf("\\|/"); E2Timer = 0; } if(E1Pos.Y >= 24) { SetConsoleCursorPosition(ConHan,E1Pos); SetConsoleTextAttribute(ConHan,FOREGROUND_BLUE|FOREGROUND_INTENSITY); printf(" "); E1Vis = true; E1StartW = false; E1F = true; } if(E2Pos.Y >= 24) { SetConsoleCursorPosition(ConHan,E2Pos); SetConsoleTextAttribute(ConHan,FOREGROUND_BLUE|FOREGROUND_INTENSITY); printf(" "); E2Vis = true; E2StartW = false; E2F = true; } if(PowerTimer >= PowerMulti * 10000 && PowerShot == false) { PowerTimer = 0; PowerPos.X = (rand() % 52) + 18; PowerPos.Y = 0; PowerMulti++; SetConsoleCursorPosition(ConHan,PowerPos); SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); printf("O"); PowerShot = true; } if(PowerShot == true && PowerTimer >= 200) { SetConsoleCursorPosition(ConHan,PowerPos); SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); printf(" "); PowerPos.Y++; PowerTimer = 0; SetConsoleCursorPosition(ConHan,PowerPos); SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); printf("O"); } if(PowerPos.X == PPos.X + 1 && PowerPos.Y == PPos.Y) { Shot = 2; ScoreT += 200; PowerPos.X = 0; CreateMenuInGame(); PowerMulti++; PowerTimer = 0; SetConsoleCursorPosition(ConHan,PPos); SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); printf("/|"); PowerShot = false; } if(PowerPos.X == PPos.X + 2 && PowerPos.Y == PPos.Y) { Shot = 2; ScoreT += 200; PowerPos.X = 0; CreateMenuInGame(); PowerMulti++; PowerTimer = 0; SetConsoleCursorPosition(ConHan,PPos); SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); printf("/|\\"); PowerShot = false; } if(PowerPos.X == PPos.X && PowerPos.Y == PPos.Y) { Shot = 2; ScoreT += 200; PowerPos.X = 0; CreateMenuInGame(); PowerMulti++; PowerTimer = 0; SetConsoleCursorPosition(ConHan,PPos); SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); printf("/"); PowerShot = false; } if(PowerPos.Y >= 24 && PowerShot == true) { SetConsoleCursorPosition(ConHan,PowerPos); SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); printf(" "); PowerTimer = 0; PowerPos.Y = -1; PowerShot = false; } if(KEYDOWN(VK_LEFT)) { if(PPos.X >= 18) { SetConsoleCursorPosition(ConHan,PPos); SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); printf(" "); PPos.X--; SetConsoleCursorPosition(ConHan,PPos); SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); printf("/|\\"); } } if(KEYDOWN(VK_RIGHT)) { if(PPos.X <= 75) { SetConsoleCursorPosition(ConHan,PPos); SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); printf(" "); PPos.X++; SetConsoleCursorPosition(ConHan,PPos); SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); printf("/|\\"); } } if(KEYDOWN(VK_SPACE)) { if(FStatus == true && Shot == 1) { FPos.X = PPos.X + 1; FPos.Y = PPos.Y - 1; SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); SetConsoleCursorPosition(ConHan,FPos); printf("|"); FStatus = false; } if(FStatus == true && Shot == 2) { FPos.X = PPos.X; FPos.Y = PPos.Y - 1; SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); SetConsoleCursorPosition(ConHan,FPos); printf("|||"); FStatus = false; } } if(KEYDOWN(VK_ESCAPE))//Sair { Playing = false; } if(FPos.Y >= 1 && FStatus == false && FTimer >= 100 && Shot == 1)//Tiro andando 1 { SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); SetConsoleCursorPosition(ConHan,FPos); printf(" "); FPos.Y--; FTimer = 0; SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); SetConsoleCursorPosition(ConHan,FPos); printf("|"); } if(FPos.Y >= 1 && FStatus == false && FTimer >= 100 && Shot == 2)//Tiro andando 2 { SetConsoleTextAttribute(ConHan,0|FOREGROUND_RED|FOREGROUND_INTENSITY); SetConsoleCursorPosition(ConHan,FPos); printf(" "); FPos.Y--; FTimer = 0; SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); SetConsoleCursorPosition(ConHan,FPos); printf("|||"); } if(FPos.Y == 0)//Limpar tiro da tela { SetConsoleCursorPosition(ConHan,FPos); SetConsoleTextAttribute(ConHan,FOREGROUND_RED|FOREGROUND_INTENSITY); printf(" "); FPos.Y = -1; FStatus = true; } Sleep(50); FTimer += 50; E1Timer += 50; E2Timer += 50; PowerTimer += 50; } InGame = false; } } int Menu() { int menu; char *GetName; system("cls"); printf("1 - Play\n2 - View High-Score\n3 - Exit\n\n>>> "); scanf("%d", &menu); system("color 0a"); switch(menu) { case 1: { system("cls"); printf("Enter your nickname: "); scanf("%s", &GetName); system("cls"); system("color 02"); Playing(GetName); if(Die = false) { ATMenu = false; } if(Die = true) { if(PLife > 0) { PLife--; Playing(GetName); } if(PLife == 0) { PLife = 5; ScoreT = 0; } } break; } case 2: { system("cls"); printf("The best score was %d.",ScoreT); getch(); break; } case 3: { ATMenu = false; break; } default: { printf("You must enter a valid option."); getch(); } } } int LoadScore() { FILE *Load = fopen("score.ini","r"); if(!Load) { FILE *Create = fopen("score.ini","w"); fprintf(Create,"0"); fclose(Create); } else { fscanf(Load,"%d",&ScoreT); fclose(Load); } } int main() { system("Color 0a"); SetConsoleTitle("Burst Shot"); LoadScore(); while(ATMenu) { Menu(); system("cls"); system("color 0a"); } for(int x=5;x>0;x--) { printf("Thank you for playing Burst Shot.\nThis program was made by Bax.\n\n"); printf("This window will close in %d seconds.",x); Sleep(1000); system("cls"); } return 0; } Postem ai voces updates tirem os bugs sei la Compartilhar este post Link para o post Compartilhar em outros sites
colt7r 0 #2 Postado 6 Maio, 2007 vo ver ele aqui ^^ @edit seria melhor dizer que é um jogo de 'nave' pois só vi a minha no jogo lol! fora isso, tive que corrigir umas coisas aqui pra funcionar, tipo quebra de linha etc... fora isso tudo blza =] Compartilhar este post Link para o post Compartilhar em outros sites
Baxnie2 0 #3 Postado 6 Maio, 2007 Eh eu sei + tem mta coisa pra corrigi o Score ja tah funfando lgl to fzendo o menu fika rox agr so dps vo cria otros jogadores IA Compartilhar este post Link para o post Compartilhar em outros sites
Thest 0 #4 Postado 21 Maio, 2007 OMG! Nem sei como vocês conseguem, mas pra mim, fazer isso, seria como esperar a morte e não conseguir resultado. =/ Onde que você aprendeu isso!?!? ~/Thest\~ Compartilhar este post Link para o post Compartilhar em outros sites
Baxnie2 0 #5 Postado 23 Maio, 2007 simplesinho so pensa 1 pouco olha a aula do dark igor (Bonus) tem tudo la =P Compartilhar este post Link para o post Compartilhar em outros sites
Thest 0 #6 Postado 23 Maio, 2007 Ok, valew, vou dar uma olhada. Eu dei uma passada rápida lá antes, mas não prestei atenção . ~~EDIT~~ Aew, to conseguindo, por enquanto só tem as funções de ir para aos lados e atirar, sem inimigo, ainda... E falta botar menu ^^. ~/Thest\~ Compartilhar este post Link para o post Compartilhar em outros sites
Baxnie2 0 #7 Postado 25 Maio, 2007 kkk demora msm + vale a pena pega esse meu ai ainda n fiz o sistema de colisao completo Compartilhar este post Link para o post Compartilhar em outros sites
Thest 0 #8 Postado 25 Maio, 2007 He he, eu sempre tenho o teu joguinho salvo caso eu tenha alguma dúvida. ^^ Tipo agora eu vou ver como se faz randon... ~/Thest\~ Compartilhar este post Link para o post Compartilhar em outros sites
Baxnie2 0 #9 Postado 26 Maio, 2007 srand(GetTickCount() % GetCurrentThreadId()); E2Pos.X = (rand() % 52) + 18; E2Pos.X = (numero entre 0 - 52) + 18 porque tem o menu ali dolado =P Compartilhar este post Link para o post Compartilhar em outros sites
Thest 0 #10 Postado 2 Junho, 2007 Aew, valew pelo rand, eu não entendi no post do DarkIgor . ^^ Mas, tipo o que que é GetTickCount() % GetCurrentThreadId()? E eu nunca entendi o sentido do srand. Edit: Para aproveitar o post, alguém passa a biblioteca conio.h, a minha nem existe. =/ ~/Thest\~ Compartilhar este post Link para o post Compartilhar em outros sites
Baxnie2 0 #11 Postado 3 Junho, 2007 tb n sei entao.. google it =) meu projeto agora eh igual ao do rikezenho to fazendo um jogo estilo tibia com as sprites dele aisuhaiueh ja tem o map.txt iushaiushae dps eu passo pra xml + por inquanto fika assim =X ja anda e talz =P Compartilhar este post Link para o post Compartilhar em outros sites
Thest 0 #12 Postado 3 Junho, 2007 tb n sei entao.. google it =)[/b] Desde quando google é verbo? =D Apartir de agora é! Eu vo procura no google, depois edito pra rapa saber. E boa sorte com o jogo. Obs: Me passa as sources, hehe, como se eu fosse entender. ~/Thest\~ Compartilhar este post Link para o post Compartilhar em outros sites
Thest 0 #13 Postado 3 Junho, 2007 tb n sei entao.. google it =)[/b] Desde quando google é verbo? =D Apartir de agora é! Eu vo procura no google, depois edito pra rapa saber. E boa sorte com o jogo. Obs: Me passa as sources, hehe, como se eu fosse entender. ~/Thest\~ Compartilhar este post Link para o post Compartilhar em outros sites
death26 0 #14 Postado 5 Junho, 2007 Eae, to fazendo um jogo estilo esse ai q ele passou o code. Ta ficando doido. Vc n pd atirar nem nada, vem vindo os tiros e vc tem q escapar. Chama Escape, ta quase pronto... Flw Compartilhar este post Link para o post Compartilhar em outros sites
death26 0 #15 Postado 5 Junho, 2007 Eae, to fazendo um jogo estilo esse ai q ele passou o code. Ta ficando doido. Vc n pd atirar nem nada, vem vindo os tiros e vc tem q escapar. Chama Escape, ta quase pronto... Flw Compartilhar este post Link para o post Compartilhar em outros sites
Raphael Lion 0 #16 Postado 6 Junho, 2007 Hehehehe, que onda. C++ para softwares é muito complicado, mais pra jogos é bem divertido... Òtimo joguinho. Parabéns. Abraço, Raphael Lion. Compartilhar este post Link para o post Compartilhar em outros sites
Raphael Lion 0 #17 Postado 6 Junho, 2007 Hehehehe, que onda. C++ para softwares é muito complicado, mais pra jogos é bem divertido... Òtimo joguinho. Parabéns. Abraço, Raphael Lion. Compartilhar este post Link para o post Compartilhar em outros sites