Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

Benjamin Breeg

Membros Plenos
  • Total de itens

    89
  • Registro em

  • Última visita

  • Qualificações

    N/D

Reputação

86

2 Seguidores

Sobre Benjamin Breeg

Informações gerais

  • Cidade e Estado
    Rio de Janeiro/RJ
  • Sexo
    Masculino
  1. C preciso entender com resolve este problema em c

    Explicando melhor ao exemplo anterior que eu tinha feito, matemática não é muito meu forte hehe.. O quadrado perfeito é quando a soma dos números ímpares em sequencia (1+3+5+7+...) é igual ao número, Neste caso a quantidade de termos somados é a raiz quadrada deste número. Por exemplo: 4 = 1 + 3 9 = 1 + 3 + 5 16 = 1 + 3 + 5 + 7 Foram somados 2 termos que equivale a raiz quadrada de 4. Foram somados 3 termos que equivale a raiz quadrada de 9. Foram somados 4 termos que equivale a raiz quadrada de 16. Com isso em mente acho que você consegue fazer o algoritmo.
  2. C Converter codigo de C++ em C

    #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_PILHA 50 int topo = -1; char pilha[MAX_PILHA]; void push(char); void pop(); void verificaTopo(); int main() { int i; char expressao[MAX_PILHA]; printf("Digite a expressao: "); scanf("%s", &expressao); for (i = 0; expressao[i] != '\0'; i++) { if(expressao[i] == '(') { push(expressao[i]); } else if(expressao[i] == ')') { pop(); } } verificaTopo(); } void push(char a) { pilha[topo] = a; topo++; } void pop() { if (topo == -1) { printf("Expressao invalida\n"); exit(0); } else { topo--; } } void verificaTopo() { if (topo == -1) printf("\nExpressao valida\n"); else printf("\nExpressao invalida\n"); }
  3. C quantidade de vezes que o Caractere aparece na string

    Você pode fazer algo assim #include<stdio.h> int main() { int i, conta = 0; char caracteres[50], c; printf("Digite uma string: "); gets(caracteres); printf("Informe um caractere da string: "); scanf("%c", &c); for(i=0; caracteres[i]!='\0'; i++) { if(caracteres[i]==c) conta++; } if(conta==0) { printf("Caractere nao encontrado"); } else { printf ("Contagem de caracteres = %d\n", conta); } }
  4. C++ sucessor par em C++

    Melhor usar um do while. #include <iostream> using namespace std; int main() { int p, c=0; do { cout << "Digite um numero par ou 0 para sair: "; cout << "\nPar(" << c + 1 << "): "; cin >> p; c++; if (p != 0 && p % 2 == 0) { cout << p << ' ' << p + 2 << endl; } }while(p !=0); }
  5. C Como criar uma GUI "redonda"?

    Esse "efeito de túnel" não é algo muito simples de fazer não, fazendo uma procura rápida achei esse artigo(em inglês) que explica os fundamentos para conseguir "essa torcida" hehe. http://benryves.com/tutorials/tunnel/1
  6. C Código não funciona, onde está o erro?

    Funciona porque você não especificou o tipo no printf, coloque %f nas funções com float para você ver o resultado.
  7. C Código não funciona, onde está o erro?

    Você declarou 2 funções main. #include <stdio.h> int calcula (int x, int y) { int soma; soma = x + y; return soma; } int main() { int num1, num2, resultado; num1=2; num2=4; resultado = calcula (num1, num2); printf("o resultado vale: %d", resultado); return 0; }
  8. C Criação de Mapa com Allegro

    Eu não tenho certeza mas o draw_sprite só consegue manipular bmp de no máximo 256 cores, por isso o problema, testei alguns que tinha aqui nessa configuração e todos funcionaram, os que voce converteu ultrapassam esse limite por isso o executável falha. Cara aqui eu uso CodeBlocks 16:01 e MinGW 4.70.. os exemplos compilaram perfeitamente, um ou outro não executaram mas acho que é porque foram feitos para compiladores de 16 bits. Quanto a personalizar aquele menu, é possível sim mas ai precisa estudar as funções de gui do Allegro, esse que o vangodp postou esta excelente, o cara fez varios exemplos de menu com fundo, animação etc etc. Eu também comecei a estudar Allegro a pouco tempo. Baixa o arquivo, veja se consegue rodar. gui.zip
  9. C Criação de Mapa com Allegro

    Ah sim desculpe, os exemplos estão no arquivo do código fonte da biblioteca Allegro. Baixa esse arquivo: http://cdn.allegro.cc/file/library/allegro/4.4.2/allegro-4.4.2.zip
  10. C Criação de Mapa com Allegro

    Esse seu ultimo código não funcionou aqui, isso que você quer fazer não da porque o seu primeiro jogo usa a saída do console, no allegro você tem que desenhar os objetos na screen ou no buffer, teria que adaptar o menu usando funções do próprio Allegro. Não sei se da pra usar funções da winapi, pelo menos não as de texto. adicionado 13 minutos depois Saca só isso, pesquisando ontem achei uma forma bem simples de fazer menu com suporte a setas e mouse no Allegro nos próprios exemplos que vem no pacote do Allegro. Procura o arquivo "exgui.c" na pasta examples, compile e execute. Versão simplificada: #include <allegro.h> void jogar() { allegro_message("GAME"); } void rankings() { allegro_message("Rankings"); } void creditos() { allegro_message("Creditos"); } void sair() { allegro_message("sair"); } MENU opcao[] = { { "JOGAR", jogar, NULL, 0, NULL }, { "RANKINGS", rankings, NULL, 0, NULL }, { "CREDITOS", creditos, NULL, 0, NULL }, { "SAIR", sair, NULL, 0, NULL } }; int main() { allegro_init(); install_keyboard(); install_mouse(); set_color_depth(32); set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0); show_mouse(screen); do_menu(opcao, 300, 300); return 0; } END_OF_MAIN()
  11. C Mesmo erro em dois programas diferentes

    No primeiro programa: cstdlib - cabeçalhos sem o .h são usados pelo c++ Você criou um array de 5 elementos e nao usou os índices na entrada e nos loop for: num Int i = 0 é sintaxe do c89 se não me engano, criar a variável dentro do for so a partir do c99, no 89 você tem que criar a variável fora do for: int i; for (i= 0; i <= 4 ; i++ ) #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <stdlib.h> int main (void) { int num[5]; int soma = 0; int i; setlocale (LC_ALL, "portuguese"); for (i= 0; i <= 4 ; i++ ) { printf ("\nDigite o %d° número : ", i+1); scanf ("%d", &num[i]); } for (i=0;i<=4;i++) { soma += num[i]; } printf ("A soma dos 5 números é %d\n", soma); system ("pause"); return 0; }
  12. C Criação de Mapa com Allegro

    Cara o Loop tem todo sentido, quando se trata de jogos, todo jogo tem um Game Loop que vai conter toda a lógica, entrada de dados, renderização, atualização, regular fps, temporização etc etc, como C não é orientada e objetos e sim procedural, se usa funções para não poluir o Game Loop, isso é considerado uma boa pratica de programação. Isso que você quer fazer não é tão simples, teria que criar funções para carregar os mapas a partir de arquivos, criar eventos dentro do cenário para passar de fase, colisão etc etc. Ali no exemplo ele desenha tudo em um buffer, essa técnica chama double buffer, perceba que nao da aquele efeito de piscada nas atualizações de tela, ai ele usa a função blit para "imprimir" o que esta no buffer na screen, o allegro ja tem um ponteiro screen predefinido. Caso contrario você veria tudo preto.
  13. C Criação de Mapa com Allegro

    Eu postei no tópico errado hehe... Ah sim.. a logica é no c/c++. seria interessante você portar o código do menu para o allegro, naquele exemplo usou as funcoes da WinAPI, no Allegro você pode fazer menus com imagens ou ate mesmo esses de texto. Da uma olhada nesse video: Eu achei o código do primeiro tutorial do PACMAN do deividcoptero mas não esta completo, eu não cheguei terminar o tutorial mas da uma ideia de como fazer o labirinto usando um bmp. Veja se ajuda. Baixa os arquivos do tutorial, coloca o arquivo roca.bmp na pasta do seu projeto. https://www.mediafire.com/folder/cff2zi955gj265z,ej135roc11aho6z/shared #include <allegro.h> #define MAXFILAS 20 #define MAXCOLS 31 BITMAP *buffer; BITMAP *roca; char mapa[MAXFILAS][MAXCOLS]={ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X XXXXX X", "X XXX XXXXX XXXXX XXXXX XXX X", "X XXX XXXXX XXXXX XXXXX XXX ", "X X", "X XXX XX XXXXXXXXXXX XX XXX X", "X XX XXX XX X", "X XXX XXXXXX XXX XXXXXX XXX X", "X XXX XX XX XXX X", " XX XXXXXXXXXXX XX ", "X XXX XX XXXXXXXXXXX XX XXX X", "X XXX XX XX XXX X", "X XXX XXXXXX XXX XXXXXX XXX X", "X XX XXX XX X", "X XXX XX XXXXXXXXXXX XX XXX X", "X XXX XXX ", "X XXX XXXX XXXXXXXX XXX XXX X", "X XXX XXXX XXX XXX X", "X XXXXXXXX X", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX", }; void desenha_mapa() { int row, col; for (row = 0; row < MAXFILAS; row++) { for (col = 0; col < MAXCOLS; col++) { if(mapa[row][col] == 'X') { draw_sprite(buffer, roca, col*30, row*30); } } } } void pantalla() { blit(buffer, screen, 0, 0, 0, 0, 880, 600); } int main() { allegro_init(); install_keyboard(); set_color_depth(32); set_gfx_mode(GFX_AUTODETECT_WINDOWED, 880, 600, 0, 0); set_window_title("Labirinto"); buffer = create_bitmap(880, 600); roca = load_bitmap("roca.bmp", NULL); while(!key[KEY_ESC]) { desenha_mapa(); pantalla(); } } END_OF_MAIN()
  14. Por favor peço a moderação que apague essa mensagem, o conteúdo ja foi movido para o tópico correto.
  15. Por favor peço a moderação que apague essa mensagem, o conteúdo ja foi movido para o tópico correto.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×