Ir ao conteúdo
  • Cadastre-se

Sylerr

Membro Pleno
  • Posts

    319
  • Cadastrado em

  • Última visita

Tudo que Sylerr postou

  1. Sylerr

    Sei C, e agora?

    existe o C++, ele possui uma API que utiliza GUI (Interface Gráfica em 2D), muito utilizada nos jogos de 8bits de antigamente. De uma procurada sobre isso
  2. Implementei o "famoso" jogo do blackjack, ou por alguns conhecido como 21. o Algoritmo faz. [COLOR="SeaGreen"]Novo Jogo. Informações do jogo, randomizar carta para o jogador randomizar carta para a Maquina Gerar relatório sobre o resultado [/COLOR] [COLOR="SeaGreen"]Escolha de Dificuldade. fácil,Normal e difícil. Gera Relatorio de Estatistica de Vitorias e Derrotas[/COLOR] Segue no SPOILER o código. #include <stdio.h> #include <conio.h> #include <string.h> #include <windows.h> #include <conio2.h> #include <stdlib.h> #include <time.h> /* Definições */ #define ENTER 13 #define ACIMA 72 #define ABAIXO 80 #define ESC 27 int dificuldade=0; // Dificuldade 1 fácil | Dificuladde 2 Normal | Dificuldade 3 difícil int resultado =0; // Resultado = 0 Maquina vence ~ Resultado = 1 Jogador vence // resultado = 2 acontece nada. int total_jogos = 0; /*Estrutura para os Jogadores */ typedef struct Jogador{ char nome[40]; int pontos; int estora; int T_V; int V_F; int V_N; int V_D; int T_D; int D_F; int D_N; int D_D; } player; typedef struct Maquina{ int pontos; int minimo; int maximo; int estora; int T_V; int T_D; int V_F; int V_N; int V_D; int D_F; int D_N; int D_D; } maquina; void Randomize(void) { srand(time(NULL)); } void Aprensenta() { char tecla; do{ textcolor(WHITE); gotoxy(35,8);printf("Jogo do 21."); gotoxy(32,9);printf("Desenvolvido por:"); gotoxy(33,10);textcolor(RED);printf("Rafael Zurawski"); gotoxy(36,12);textcolor(WHITE);system("echo Dúvidas: "); gotoxy(28,13);textcolor(LIGHTGRAY);printf("[email protected]"); gotoxy(28,14);textcolor(LIGHTGRAY);printf("[email protected]"); gotoxy(26,17); textcolor(WHITE);printf("Presione "); textcolor(RED);printf("ENTER "); textcolor(WHITE);system("echo para começar."); tecla = getch(); }while (tecla!= ENTER); } void INICIA_PARTIDA(player *Jogador, maquina *Computador) { if(!(Jogador==NULL)) { Jogador->pontos = 0; Jogador->estora = 0; } if(!(Computador == NULL)) { Computador-> estora = 0; Computador-> maximo = 21; Computador-> minimo = 0; Computador->pontos = 0; } } void Novo(player *Jogador, maquina *Computador) { if(!(Jogador==NULL)) { Jogador->pontos = 0; Jogador->estora = 0; Jogador->T_V = 0; Jogador->V_F = 0; Jogador->V_N = 0; Jogador->V_D = 0; Jogador->T_D = 0; Jogador->D_F = 0; Jogador->D_N = 0; Jogador->D_D = 0; } if(!(Computador == NULL)) { Computador-> estora = 0; Computador-> maximo = 21; Computador-> minimo = 0; Computador->pontos = 0; Computador->T_V = 0; Computador->V_F = 0; Computador->V_N = 0; Computador->V_D = 0; Computador->T_D = 0; Computador->D_F = 0; Computador->D_N = 0; Computador->D_D = 0; } } void INFO_GAME() { system("cls"); gotoxy(35,5);textcolor(WHITE); printf("Jogo do 21."); gotoxy(24,7);textcolor(LIGHTGRAY);printf("Este Jogo persiste no Classico"); gotoxy(24,8);textcolor(LIGHTGRAY);printf("Jogo de Cartas onde o objetivo"); gotoxy(30,9);textcolor(LIGHTGRAY);system("echo É somar 21 Pontos."); gotoxy(35,11);textcolor(WHITE);system("echo Aplicação:"); gotoxy(10,13);textcolor(LIGHTRED);system("echo Randomizar Para o jogador valor de 1 a 12 (ÁS ao REI)"); gotoxy(10,14);textcolor(LIGHTRED);system("echo Randomizar para o Computador o valor de 1 a 12 (ÁS ao REI)"); gotoxy(10,15);textcolor(LIGHTRED);system("echo Randomizar um valor mínimo para o computador jogar"); gotoxy(10,16);textcolor(LIGHTRED);printf("Realizar teste de Estouro (pontos acima de 21)"); gotoxy(30,17);textcolor(LIGHTRED);system("echo para o Jogador e a Máquina."); textcolor(LIGHTGRAY); getch(); } void TELA(player *Jogador, int valor_carta, maquina *MAQ) { system("cls"); int linha=15,coluna=6; gotoxy(15,5);printf("____________________________________________"); for(coluna;coluna<17;coluna++) { gotoxy(14,coluna);printf("|"); gotoxy(36,coluna);printf("|"); gotoxy(59,coluna);printf("|"); } for(linha;linha<59;linha++) { gotoxy(linha,17);printf("%c", 238); } // Mostra dados do Jogador gotoxy(20,7);system("echo Você: "); gotoxy(26,7);printf("%s",Jogador->nome); gotoxy(18,8);printf("Pontos: "); gotoxy(26,8);printf("%2d",Jogador->pontos); gotoxy(16,15);printf("Carta Recebida [ ]"); gotoxy(32,15);printf("%2d",valor_carta); gotoxy(0,23); gotoxy(40,7);system("echo Adversário:"); gotoxy(52,7);printf("PC"); gotoxy(40,8);printf("Pontos:"); gotoxy(48,8);printf("%2d",MAQ->pontos); } int MENU() { int posicao = 6, tecla; int i; int aux; do{ system("cls"); textcolor(LIGHTGRAY); gotoxy(24,5);printf("____________MENU____________"); gotoxy(23,6);printf("| Nova Partida |"); gotoxy(23,7);printf("| Info do Jogo |"); gotoxy(23,8);printf("| Terminar |"); for(i=24;i<52;i++) { gotoxy(i,9);printf("%c", 238); } gotoxy(24,posicao);printf("%c%c",16,16);gotoxy(50,posicao);printf("%c%c",17,17); tecla=getch(); if(tecla == ABAIXO) { posicao=posicao+1; if(posicao==9) { posicao=6; } } if (tecla == ACIMA) { posicao=posicao-1; if(posicao==5) { posicao=8; } } }while(tecla!= ENTER); aux=posicao; return aux; } int MENU_DIFICULDADE() { int posicao = 6, tecla; int i; int aux; do{ system("cls"); textcolor(LIGHTGRAY); gotoxy(24,5);printf("____________MENU____________"); gotoxy(23,6);printf("| fácil |"); gotoxy(23,7);printf("| Normal |"); gotoxy(23,8);printf("| difícil |"); for(i=24;i<52;i++) { gotoxy(i,9);printf("%c", 238); } gotoxy(24,posicao);printf("%c%c",16,16);gotoxy(50,posicao);printf("%c%c",17,17); tecla=getch(); if(tecla == ABAIXO) { posicao=posicao+1; if(posicao==9) { posicao=6; } } if (tecla == ACIMA) { posicao=posicao-1; if(posicao==5) { posicao=8; } } }while(tecla!= ENTER); aux=posicao; return aux; } int RANDOMIZA_CARTA(int *valor_carta) { Randomize(); *valor_carta = 0; *valor_carta = rand(); if(*valor_carta == 0); { *valor_carta = (rand()%12)+1; } } int TESTA_ESTOURO(player *Jogador) { if(Jogador->pontos>21) { return 1; } else{ return 0; } } void RESULTADO(player *Jogador, maquina *Maquina) { if(resultado == 1 && dificuldade == 1) { Jogador->T_V = Jogador->T_V +1; Jogador->V_F = Jogador->V_F +1; Maquina->T_D = Maquina->T_D +1; Maquina->D_F = Maquina->D_F +1; } if(resultado == 1 && dificuldade == 2) { Jogador->T_V = Jogador->T_V +1; Jogador->V_N = Jogador->V_N +1; Maquina->T_D = Maquina->T_D +1; Maquina->D_N = Maquina->D_N +1; } if(resultado == 1 && dificuldade == 3) { Jogador->T_V = Jogador->T_V +1; Jogador->V_D = Jogador->V_D +1; Maquina->T_D = Maquina->T_D +1; Maquina->D_D = Maquina->D_D +1; } // Resultados Maquina if(resultado == 0 && dificuldade == 1) { Maquina->T_V = Jogador->T_V +1; Maquina->V_F = Jogador->V_F +1; Jogador->T_D = Maquina->T_D +1; Jogador->D_F = Maquina->D_F +1; } if(resultado == 0 && dificuldade == 2) { Maquina->T_V = Jogador->T_V +1; Maquina->V_N = Jogador->V_N +1; Jogador->T_D = Maquina->T_D +1; Jogador->D_N = Maquina->D_N +1; } if(resultado == 0 && dificuldade == 3) { Maquina->T_V = Jogador->T_V +1; Maquina->V_D = Jogador->V_D +1; Jogador->T_D = Maquina->T_D +1; Jogador->D_D = Maquina->D_D +1; } } void TESTE(player *Jogador, maquina *MAQ) { if(Jogador->pontos > MAQ->pontos && Jogador->estora == 0) { system("cls"); gotoxy(20,15);textcolor(YELLOW);printf(" O Jogador %s ganhou com %2d Pontos!!",Jogador->nome,Jogador->pontos); resultado = 1; } if(Jogador->pontos < MAQ->pontos && Jogador->estora == 0 && MAQ->estora ==1) { system("cls"); gotoxy(20,15);textcolor(YELLOW);printf(" O Jogador %s ganhou com %2d Pontos!!",Jogador->nome,Jogador->pontos); resultado = 1; } if(MAQ->pontos < Jogador->pontos && Jogador->estora == 1 && MAQ->estora ==0) { resultado = 0; system("cls"); gotoxy(10,15);textcolor(YELLOW);printf(" O Jogador %s perdeu. Estorou. e Maquina teve %2d Pontos !!",Jogador->nome,MAQ->pontos); } if(Jogador->pontos < MAQ->pontos && MAQ->estora == 0) { resultado = 0; system("cls"); gotoxy(10,15);textcolor(YELLOW);printf(" O Jogador %s perdeu por %2d Pontos a %2d Pontos !!",Jogador->nome,Jogador->pontos,MAQ->pontos); } if(Jogador->estora == 1 && MAQ->pontos<21 && MAQ->estora ==0) { resultado = 0; system("cls"); gotoxy(20,15);textcolor(YELLOW);printf(" O Jogador %s perdeu. Estorou. e Maquina teve %2d Pontos !!",Jogador->nome,MAQ->pontos); } if(Jogador->pontos == MAQ->pontos) { resultado = 2; system("cls"); gotoxy(20,15);textcolor(YELLOW);printf(" Empate. Ambos Tiveram %d Pontos!",Jogador->pontos); } if(Jogador->pontos == MAQ->pontos && Jogador->estora == 1 && MAQ->estora == 1) { resultado = 2; system("cls"); gotoxy(20,15);textcolor(YELLOW);printf(" Empate. Ambos Tiveram %d Pontos e Ultrapassaram 21 Pontos!",Jogador->pontos); } if (Jogador->estora == 1 && MAQ->estora == 1) { resultado = 2; system("cls"); gotoxy(20,15);textcolor(YELLOW);printf(" Empate. Ambos Ultrapassaram 21 Pontos"); } } void PC_JOGA_FACIL(maquina *MAQ) { int min=0; int max=0; int carta =0; Randomize(); MAQ->minimo = rand()%21; do { carta = rand()%12; MAQ->pontos = MAQ->pontos + carta; }while(MAQ->pontos <= MAQ->minimo); if(MAQ->pontos > 21) { MAQ->estora = 1; } } void PC_JOGA_NORMAL(maquina *MAQ) { int min=0; int max=0; int carta =0; int random =0; int i; Randomize(); for (i=1;i<3;i++) { random =0; random = rand()%12; MAQ->minimo = MAQ->minimo + random; } do { carta = rand()%8; MAQ->pontos = MAQ->pontos + carta; }while(MAQ->pontos <= MAQ->minimo); if(MAQ->pontos > 21) { MAQ->estora = 1; } } void PC_JOGA_DIFICIL(maquina *MAQ) { int min=0; int max=0; int carta =0; int random =0; int a; Randomize(); for (a = 0;a<7;a++) { random = (rand()%4) + 1; MAQ->minimo = MAQ->minimo + random; } do { carta = rand()%4; MAQ->pontos = MAQ->pontos + carta; }while(MAQ->pontos <= MAQ->minimo); if(MAQ->pontos > 21) { MAQ->estora = 1; } } void ESTATISTICA(player *Jogador, maquina *Maquina, int jogos) { int m_v = Maquina->T_V; int j_v = Jogador->T_V; system("cls"); gotoxy(30,9); printf(" Total de Jogos: %d",jogos); gotoxy(10,11);printf("Jogador Venceu: %d (%d%%)",Jogador->T_V,Jogador->T_V*100/jogos); gotoxy(10,12);printf("Jogador Perdeu: %d (%d%%)",Jogador->T_D,Jogador->T_D*100/jogos); gotoxy(40,11);printf("Computador Venceu: %d (%d%%)",Maquina->T_V,Maquina->T_V*100/jogos); gotoxy(40,12);printf("Computador Perdeu: %d (%d%%)",Maquina->T_D,Maquina->T_D*100/jogos); gotoxy(7,15);printf("Jogador Vitorias: %d",j_v); printf("\n Nivel fácil: %d",Jogador->V_F); printf("\n Nivel Normal: %d",Jogador->V_N); printf("\n Nivel difícil: %d",Jogador->V_D); gotoxy(45,15);printf("Computador Vitorias: %d",m_v); gotoxy(48,16);printf("Nivel fácil: %d",Maquina->V_F); gotoxy(48,17);printf("Nivel Normal: %d",Maquina->V_N); gotoxy(48,18);printf("Nivel difícil: %d",Maquina->V_D); gotoxy(26,22); textcolor(WHITE);printf("Presione "); textcolor(RED);printf("ENTER "); textcolor(WHITE);system("echo para Continuar"); getch(); } main() { int op; int carta=0;; int sair=1; srand(time(0)); player *PPL = NULL; PPL = (player *)malloc(sizeof(player)); maquina *MAQ = NULL; MAQ = (maquina *)malloc(sizeof(maquina)); FILE *Player; FILE *Computer; Aprensenta(); Novo(PPL,MAQ); system("cls"); gotoxy(30,8);printf("Informe seu Nome: "); scanf("%s",PPL->nome); do { switch(MENU()) { case 6: { switch(MENU_DIFICULDADE()) { case 6: dificuldade =1;break; case 7: dificuldade =2;break; case 8: dificuldade =3;break; } INICIA_PARTIDA(PPL,MAQ); resultado = 0; TELA(PPL,carta,MAQ); do { gotoxy(1,21);printf("Deseja Receber uma Carta?"); gotoxy(1,22);printf("Sim - Tecle ENTER"); gotoxy(1,23);printf("Nao - Tecle ESC"); op = getch(); switch (op) { case ENTER: { carta = 0; carta = rand()%13; PPL->pontos = (PPL->pontos + carta); TELA(PPL,carta,MAQ); if(TESTA_ESTOURO(PPL)) { gotoxy(1,20);textcolor(RED);printf("\n\n\nvoce ultapassou de 21!"); getch(); PPL->estora = 1; op = 0; textcolor(LIGHTGRAY); } break; } case ESC: { op = 0; break; } } }while(op!=0); carta =0; if(dificuldade == 1) { PC_JOGA_FACIL(MAQ); } if(dificuldade == 2) { PC_JOGA_NORMAL(MAQ); } if(dificuldade == 3) { PC_JOGA_DIFICIL(MAQ); } TELA(PPL,carta,MAQ); getch(); system("cls"); gotoxy(27,16); textcolor(LIGHTBLUE);printf("Gerando Final da Disputa..."); Sleep(2000); gotoxy(26,17); textcolor(WHITE);printf("Presione "); textcolor(RED);printf("ENTER "); textcolor(WHITE);system("echo para Continuar"); getch(); TESTE(PPL,MAQ); RESULTADO(PPL,MAQ); getch(); total_jogos = total_jogos +1; ESTATISTICA(PPL,MAQ,total_jogos); break; } case 7: { INFO_GAME(); getch(); break; } case 8: { printf("Saindo."); sair=0; break; } } }while(sair!=0); } Espero que gostem, e aproveitem bem, caso tenham dúvida de como foi implementado. Pode perguntar.
  3. tente, instalador o netbeans 7.3.1, pra ve se melhora. mas se estiver usando o win7, creio que pode ser memória sim. pois digamos 1,5gb de ram vai pro sistema, e ficar com 500mb de memória entre todos os outros processos, fica bem lento
  4. Sylerr

    Peça perdida

    Boa dica, sei que não foi explicado no contexto, mas se não faltasse 1 peça, e sim várias, pelo que vi assim de cara a sua lógica funcionaria apenas para 1 peças certo? enfim, caso queira tentar com mais de uma peças, pode fazer a chamada "gambiarra", onde voce vai informar o numero da peça, e voce aloca no INDICE de um vetor o numero que voce informou. pra ser mais prático. ficaria assim: DIGITEI: 1,2,5,6,8,9 estaria faltando as peças: 3,4,7. certo? então a cada scan do numero da peça, o vetor nesse indice receberia 1 valor +- assim digite o numero que "veio na caixa"; scan numero; vetor[numero] = 1 para isso funcionar, o seu vetor deve ser iniciado todo = 0, ou seja, fazer um for percorrendo todo ele com 0(zero) para marcar que tem essa peça, ou seja, ficaria assim após digitar os números acima. vetor[1] = 1; vetor[2] = 1; vetor[3] = 0; vetor[4] = 0; vetor[5] = 1; vetor[6] = 1; vetor[7] = 0; vetor[8] = 1; vetor[9] = 1; daí, para dizer as peças que não tem, faz um for percorrendo todo ele, e verificando se o valor for = 0, ou, diferente de 1. @edit: vi agora que sempre falta uma peça, porém creio que se for um exercício para escola/faculdade, verificar se falta mais de uma peça seria um ADICIONAL, certo? mostrar que pode fazer esse programa funcionar com mais de uma peça faltando.
  5. uma dica, você pode arrastar o .cpp e largar no seu Dev, que ele cria uma nova aba do seu programa
  6. ou pode tenta pra tirar o registro do netbeans, é outra opção, não sei se vai funcionar, mas testa a memória sim procurei e o primeiro resultado pra isso:
  7. processo que eu estava falando era se no (control alt esc), se poderia ter algo que possa ter vinculação do netbeans, como acontece as vezes com firefox, você abre, mas ele não abre, e quando vai abrir ele, diz que ele já está rodando, algo desse tipo mas apenas por curiosidade, tem apenas um usuário em seu pc? (seu usuario e o postgres (caso use o pgAdmin)) Se sim, a coisa ta feia, se não no ctrl alt esc vá em processos e clique para mostrar o processo de todos usuários, pode ser que ele (sabe Deus como) pode ter feito isso de executar algo do netbeans com outro usuário
  8. ja tentou ver se tem algum processo vinculado ao netbeans rodando?, tenta ve isso... "mata" os processos que pode se do netbeans
  9. tenta usar sem ser ponteiro, ou, tente achar um meio de converter ponteiro para "normal"
  10. e qual seria a sua dúvida?
  11. Criei uns Menus para utilizarem em C pré-definidos com os MENUS. Cada sub tópico consta como ele funciona. Lista de Cada Sub-Tópico: Menu 01 - Utilizando Setas do Teclado (CIMA/BAIXO) (OK) Menu 02 - Utilizando Setas do Telcado (DIREITA/ESQUERDA) (Em Breve) Menu 03 - Utilizando Duplo Clique do MOUSE - (Em Breve) Obs.: Caso Tenham Alguma Ideia, Postem Aqui que eu analise e Implemento pra vocês o mais rápido possível. Dúvidas? Opiniões? Críticas? Postem que eu respondo. Achou Legal? Agradeça Menu 01 - Utilizando Setas do Teclado (CIMA/BAIXO) Descrição: Menu de Cadastro, Edição e Exclusão de Alunos e Professores Utilização? Menu é acessado através das SETAS (Cima/Baixo) do Teclado. Para acesso ao Menu, Utilizando ENTER Código #include <iostream> #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <string.h> #include <windows.h> #include <cstdlib> #include <conio2.h> # define LIMPAMENS " " #define ACIMA 72 #define ABAIXO 80 #define ENTER 13 #define ESC 27 void gotoxy( int x, int y ) { COORD coord; coord.X = (short)x; coord.Y = (short)y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); } int MENU_PRINCIPAL() { int aux; int posicao = 6, tecla; do{ system("cls"); gotoxy(24,5);printf("____________MENU____________"); gotoxy(23,6);printf("| Cadastrar |"); gotoxy(23,7);printf("| Editar Cadastro |"); gotoxy(23,8);printf("| Listar |"); gotoxy(23,9);printf("| Deletar Cadastro |"); gotoxy(23,10);printf("| Importar BD |"); gotoxy(23,11);printf("| Exportar BD |"); gotoxy(23,12);printf("| relação |"); gotoxy(23,13);printf("| Fechar Programa |"); for(int i=24;i<52;i++) { gotoxy(i,14);printf("%c", 238); } gotoxy(24,posicao);printf("%c%c",16,16);gotoxy(50,posicao);printf("%c%c",17,17); tecla=getch(); if(tecla == ABAIXO) { posicao=posicao+1; if(posicao==14) { posicao=6; } } if (tecla == ACIMA) { posicao=posicao-1; if(posicao==5) { posicao=13; } } }while(tecla!= ENTER); return posicao; } main() { MENU_PRINCIPAL(); } Modos de Uso:: SwitchCase !!!! Para utilizar com Switch, o primeiro Case tera que ter o valor 6, pois ele retorna a posição do console ou seja. Menu Cadastro esta na posição 6. Abaixo a cabela com os cases. -------------------------------------------------------- Case 6 : Cadastro Case 7 : Alterar Cadastro Case 8 : Listar Case 9 : Deletar Cadastro Case 10 : Importar BD Case 11 : Exportar BD Case 12 : Relação Case 13 : Fechar Programa Vocês podem mudar o que cada CASE faz, porém não podem mudar os Números dos cases, se não. Não funciona.

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!