-
Posts
42 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que pardorio postou
-
Placa-mãe B550M Aorus Elite é boa?
pardorio respondeu ao tópico de Mr.pastel de cabelo em Placas-mãe
Opa amigo, tenho a aorus já faz um bom tempo e nunca tive problema... Porém moro no sul, bem longe da praia (lugar menos úmido). Que eu saiba esse problema é causado nas chipset 300 e 400, que são muito frágeis a umidade, já vi em alguns fóruns aconselhando não comprar placas com esses chips se você mora no litoral... A aorus tá bemm em conta, na open box da kabum ta 739 -
Vale a pena pegar uma placa menos potente só porque ela tem 12gb de VRAM ? Vi uns rumores de que as 6gb e as 8gb vão ir para o saco com a nova geração...
-
Quero comprar uma placa de vídeo nova até R$ 1.200,00.
pardorio respondeu ao tópico de Fernandotkd em Placas de vídeo
RX 6600>>>>>qualquer GTX de baixa série, na terabyte tem uma por 1350 -
Olá, estou prestes a comprar minha placa de vídeo e decidi optar pelo modelo RX 6650 XT, porém me deparei com duas marcas que estão na promoção com o mesmo preço, são elas a MSI e a QICK... XFX AMD Radeon RX 6650 XT ULTRA QICK 308 MSI Radeon RX 6650 XT MECH 2X OC Como é minha primeira vez comprando placa AMD nunca ouvi falar dessa QICK, somente da MSI, mas vi que a da QICK possui 3 fans o que é bem interessante, se puderem me ajudar agradeço muito!
-
Sobre a placa de vídeo, preciso dar muita atenção para a marca dela? vi que o chip é o mesmo, só muda a estrutura... Pergunto pois achei uma da MSI e outra da Qick pelo mesmo preço na promoção, única diferença que de forma leiga eu reparei é que a Qick tem 3 fan
-
@pedrin_howzz Olá , meu orçamento está entre 4200~4500, já comprei um monitor então seria esse valor para o pc mesmo Aliás, já comprei o processador, a fonte e o gabinete que tu tinha me recomendado, estou esperando o cartão virar agora hehe
-
@pedrin_howzz Comecei a procurar na Pichau algumas peças (não tinha visto antes porque parecia ser um site mais caro), Vi um kit upgrade de placa-mãe e o Ryzen 5 5600 com uma placa-mãe b550m da Pichau, vale a pena ?
-
@pedrin_howzz Simm acabei de ver que ele é bem ruim, tinha visto o wheel jack agora pouco que é bem melhor, mas teria que comprar as fans, vi que o que você mandou ja vem com 4 fans o que me alivia alguns pilas haha... Vou no que você mandou! O cooler da AMD resfria bem mesmo? Só estava atrás de um porque me disseram que ele era ruim
-
@pedrin_howzz Olá novamente, obrigado pelas dicas Vou pegar o gabinete: Gabinete Gamer Redragon Grapple, Mid Tower, RGB, Fans: Cooler Fan Rise Mode Hex, ARGB, 120mm, Cooler para o processador ainda estou em dúvida Sobre o SSD vou pegar um M2 da kingston, a fonte vou pegar essa pylon 650W, a placa-mãe Gigabyte B550M Aorus Elite (achei um open box dela barato) e valeu pela dica do processador, vou pegar sem o X mesmo !
-
Olá, estou montando um computador do zero, sou meio leigo sobre a compatibilidade de peças e as composições, estou com dúvida em qual placa-mãe utilizar nele e se o conjunto das peças que escolhi parece bom, aceito todos os tipos de críticas, segue abaixo: placa-mãe Gigabyte B450M Gaming Ryzen 5 5600x Rx 6650 xt 8gb x2 Memória DDR4 Kingston Fury Beast, 8GB, 3200Mhz SSD 480gb Kingston Fonte Gigabyte P550B 550W, 80 Plus Bronze, PFC Ativo
-
Olá ,não estou conseguindo colocar sprites de mortes no meu jogo, eu usei a mesma logica que as outras sprites, porém a sprite de morte tem que ter um limite de quantas imagens aparecem else if(ev.timer.source==timersprite) { swat.cur += keys[DOWN]; swat.cur += keys[UP]; swat.cur+= keys[LEFT]; swat.cur+= keys[RIGHT]; if(swat.cur>=4) { swat.cur=0; } zcur += 1; if(zcur >= 4) { zcur=0; } } for(z=0;z<ZOMBIES1;Z++ { if(zombie1[z].vidas<=0) { if(zombie1[z].dir==0) {al_draw_bitmap_region(zombie_direita_morto,32*mcur,0,32,26,zombie1[z].x,zombie1[z].y,0); } if(zombie1[z].dir==1) {al_draw_bitmap_region(zombie_esquerda_morto,32*mcur,0,32,26,zombie1[z].x,zombie1[z].y,0); zombie1[z].vivo=false;}} Segue o pedaço do meu codigo dessa parte
-
- 1
-
-
#include <stdio.h> #include <allegro5/allegro.h> #include <allegro5/allegro_image.h> #include <allegro5/allegro_font.h> #include <allegro5/allegro_ttf.h> #include <allegro5/allegro_primitives.h> #include <allegro5/allegro_audio.h> #include <allegro5/allegro_acodec.h> #include <stdlib.h> #include <time.h> #include "main.h" const int ZOMBIES1 = 10; const int AKPENTE = 40; const int largura = 717; const int altura = 664; const float FPS = 60.0; const float FPSsprite = 5.0; int i,z; bool keys[8]={false,false,false,false,false,false,false,false}; enum KEYS{UP, DOWN, LEFT, RIGHT, SPACE, ESCAPE, J, B}; enum FASES{MENU,TUTORIAL,APOCALIPSE,YOU_LOSE}; int main(void) { bool redraw = true; bool acaba = false; int fases = MENU; ALLEGRO_DISPLAY *display = NULL; ALLEGRO_EVENT_QUEUE *fila = NULL; ALLEGRO_TIMER *timer = NULL; ALLEGRO_TIMER *timersprite = NULL; ALLEGRO_BITMAP *tutorialimg = NULL; ALLEGRO_BITMAP *becomimg = NULL; ALLEGRO_BITMAP *menuimg = NULL; ALLEGRO_BITMAP *Akplayer = NULL; ALLEGRO_BITMAP *Akplayer_esquerda = NULL; ALLEGRO_BITMAP *zombie_direita = NULL; ALLEGRO_BITMAP *zombie_esquerda = NULL; if(!al_init()) {fprintf(stderr, "falhou ao inicializar o Allegro!\n");return -1;} display = al_create_display(largura,altura); if(!display) {fprintf(stderr, "falhou ao inicializar o Allegro!\n");return -1;} al_init_primitives_addon(); al_install_keyboard(); al_init_image_addon(); al_init_font_addon(); al_init_ttf_addon(); al_init_acodec_addon(); al_install_audio(); fila = al_create_event_queue(); timer = al_create_timer(1.0/FPS); timersprite = al_create_timer(1.0/FPSsprite); tutorialimg = al_load_bitmap("img/tutorialimg.png"); becomimg = al_load_bitmap("img/becoimg.png"); menuimg = al_load_bitmap("img/zombiemenu.png"); Akplayer = al_load_bitmap("img/player_ak1.png"); Akplayer_esquerda = al_load_bitmap("img/player_ak_esquerda.png"); zombie_direita = al_load_bitmap("img/zombie1"); zombie_esquerda = al_load_bitmap("img/zombie_esquerda"); al_register_event_source(fila,al_get_keyboard_event_source()); al_register_event_source(fila,al_get_display_event_source(display)); al_register_event_source(fila, al_get_timer_event_source(timer)); al_register_event_source(fila, al_get_timer_event_source(timersprite)); al_start_timer(timersprite); al_start_timer(timer); srand(time(NULL)); for(i = 0; i < AKPENTE; i++) { akbala[i].v = 5; akbala[i].ativo = false; } for(i=0;i<ZOMBIES1;i++) { zombie1[i].v = 2; zombie1[i].larg_x = 32; zombie1[i].alt_y = 26; zombie1[i].vidas = 100; zombie1[i].dir = 1; zombie1[i].cur=0; zombie1[i].dano=50; } while(!acaba) { ALLEGRO_EVENT ev; al_wait_for_event(fila,&ev); fases = APOCALIPSE; if(ev.type == ALLEGRO_EVENT_TIMER) { redraw = true; if(!(keys[RIGHT])&&!(keys[LEFT])&&!(keys[UP])&&!(keys[DOWN])) {swat.cur=0;} if(swat.vidas>0) { swat.y -= keys[UP] *swat.vup; swat.x -= keys[LEFT] *swat.vleft; swat.y += keys[DOWN] *swat.vdown; swat.x += keys[RIGHT] *swat.vright; } if(swat.y < 150){swat.y = 150;} if(swat.y > 620){swat.y = 620;} if(swat.x < 28){swat.x = 28;} if(swat.x > 540){swat.x = 540;} for(i=0;i< AKPENTE;i++) { if(!akbala[i].ativo) { if(swat.dir==1) { akbala[i].dir = 1; } } if(!akbala[i].ativo) { if(swat.dir==0) { akbala[i].dir = 0; } } if((akbala[i].ativo) && (akbala[i].dir == 1)) { akbala[i].x += akbala[i].v; if(akbala[i].x > largura) akbala[i].ativo = false;} if((akbala[i].ativo) && (akbala[i].dir==0)) { akbala[i].x -= akbala[i].v; if(akbala[i].x < 0) akbala[i].ativo = false;} if(akbala[i].ativo) { for(z=0;z<ZOMBIES1;z++) { if(zombie1[z].vidas>0) { if(akbala[i].x < (zombie1[z].x + zombie1[z].larg_x) && akbala[i].x > (zombie1[z].x - zombie1[z].larg_x) && akbala[i].y < (zombie1[z].y + zombie1[z].alt_y) && akbala[i].y > (zombie1[z].y - zombie1[z].alt_y)) { zombie1[z].vidas -= swat.dano; akbala[i].ativo=false; if(zombie1[z].vidas<=0) {swat.pontos += 10; akbala[i].ativo=false; zombie1[z].vivo=false;} } } } } } for(z=0;z<ZOMBIES1;z++) { if(!zombie1[z].vivo) { if(rand() % 500 == 0) { zombie1[z].vivo=true; zombie1[z].x = largura; zombie1[z].y = 270 + rand() % (altura - 500); } } } for(z=0;z<ZOMBIES1;++z) { if(zombie1[z].vivo) { zombie1[z].x -= zombie1[z].v; if(zombie1[z].x<0) { zombie1[z].vivo=false; } } if(zombie1[z].vivo) { if((swat.x + swat.larg_x) > (zombie1[z].x - zombie1[z].larg_x)&&(swat.x - swat.larg_x) < (zombie1[z].x + zombie1[z].larg_x) && (swat.y + swat.alt_y) > (zombie1[z].y - zombie1[z].alt_y)&&(swat.y - swat.alt_y) < (zombie1[z].y + zombie1[z].alt_y)) { swat.vidas -= zombie1[z].dano; zombie1[z].semdano = true; if(zombie1[z].semdano) { zombie1[z].dano = 0; zombie1[z].semdano = false; } } } } } if(ev.type == ALLEGRO_EVENT_KEY_DOWN) { switch(ev.keyboard.keycode) { case ALLEGRO_KEY_ESCAPE: keys[ESCAPE] = true; break; case ALLEGRO_KEY_UP: keys[UP] = true; break; case ALLEGRO_KEY_DOWN: keys[DOWN] = true; break; case ALLEGRO_KEY_RIGHT: keys[RIGHT] = true; swat.dir= 1; break; case ALLEGRO_KEY_LEFT: keys[LEFT] = true; swat.dir= 0; break; case ALLEGRO_KEY_SPACE: swat.disp= 1; for(i=0;i<AKPENTE;i++) { if((!akbala[i].ativo) && (akbala[i].dir==0)) { akbala[i].x = swat.x - 17; akbala[i].y = swat.y + 20; akbala[i].ativo = true; break; } if((!akbala[i].ativo) && (akbala[i].dir==1)) { akbala[i].x = swat.x + 17; akbala[i].y = swat.y + 20; akbala[i].ativo = true; break; } } } } else if (ev.type == ALLEGRO_EVENT_KEY_UP) { switch(ev.keyboard.keycode) { case ALLEGRO_KEY_UP: keys[UP] = false; break; case ALLEGRO_KEY_ESCAPE: keys[ESCAPE] = false; break; case ALLEGRO_KEY_DOWN: keys[DOWN] = false; break; case ALLEGRO_KEY_RIGHT: keys[RIGHT] = false; break; case ALLEGRO_KEY_LEFT: keys[LEFT] = false; break; case ALLEGRO_KEY_SPACE: keys[SPACE] = false; break; } } else if(ev.timer.source==timersprite) { swat.cur += keys[DOWN]; swat.cur += keys[UP]; swat.cur+= keys[LEFT]; swat.cur+= keys[RIGHT]; if(swat.dir==1 && swat.cur>=4){swat.cur=1;} if(swat.dir==0 && swat.cur>=4){swat.cur=1;} } //PARA PODER FECHAR O JOGO else if(ev.type == ALLEGRO_EVENT_DISPLAY_CLOSE) { acaba=true; } //=============================GAME STATES=======================================================// else if(ev.type==ALLEGRO_EVENT_TIMER) { if(ev.timer.source==timer) { if(fases == MENU) { if(keys[SPACE]) {fases = TUTORIAL;} if(keys[ESCAPE]) {acaba=true;} al_draw_bitmap(menuimg,0,0,0); } if(fases == TUTORIAL) { if(keys[SPACE]) {fases = APOCALIPSE;} if(keys[ESCAPE]) {acaba=true;} al_draw_bitmap(tutorialimg,0,0,0); } if(fases == APOCALIPSE) { if(keys[ESCAPE]) {acaba=true;} al_draw_bitmap(becomimg,0,0,0); } if(fases == YOU_LOSE) { if(keys[SPACE] || keys[ESCAPE]) {acaba=true;} } } } if(redraw && al_is_event_queue_empty(fila)) { redraw = false; for(i=0;i<AKPENTE;i++) { if(akbala[i].ativo) al_draw_filled_circle(akbala[i].x, akbala[i].y, 1, al_map_rgb(255, 255, 255)); } for(i=0;i<ZOMBIES1;i++) { if(zombie1[i].vivo) { al_draw_filled_circle(zombie1[i].x,zombie1[i].y,10,al_map_rgb(255,0,255)); } } if(swat.vidas>0) { if(swat.dir==1) { al_draw_bitmap_region(Akplayer,31*swat.cur,0,32,31,swat.x,swat.y,0); } if(swat.dir==0) {al_draw_bitmap_region(Akplayer_esquerda,31*swat.cur,0,32,31,swat.x,swat.y,0);} } al_flip_display(); al_clear_to_color(al_map_rgb(0,0,0)); } } al_destroy_bitmap(becomimg); al_destroy_bitmap(tutorialimg); al_destroy_bitmap(Akplayer_esquerda); al_destroy_bitmap(menuimg); al_destroy_bitmap(Akplayer); al_destroy_event_queue(fila); al_destroy_timer(timer); al_destroy_display(display); return 0; } //BONECOS CONTROLADOS struct PLAYER { int x, y, vidas, vleft, vright, vup, vdown, larg_x, alt_y, cur, dir, disp, dano, pontos; }; struct PLAYER swat={400,200,100,5,5,5,5,32,31,0,0,45,50}; //PROJETEIS struct PROJETEIS { bool ativo; int v, x, y, dir; }; struct PROJETEIS akbala[5]; struct ZOMBIES { bool vivo; int x, y, v, larg_x, alt_y, dir, cur, dano, vidas; bool semdano; }; struct ZOMBIES zombie1[10]; Estou com 2 problemas nele ,operar com lógica de GameStates e com a inteligencia artificial dos zumbis
-
Olá, não consigo ter a mínima ideia de como fazer um sistema de atração do inimigo ao meu personagem por isso não postei o codigo, alguém pode me dar uma luz ? Eu já fiz o sistema de colisão que quando se colidem meu boneco perde vida ,mas não consigo fazer o inimigo se mover até o meu personagem
-
Olá ,poderia me explicar e exemplificar como coloco sprites no meu jogo ? Eu consegui colocar a imagem bem de cima da esquerda, porém o boneco não está fazendo o movimento.
-
Opa valeu pela dica ,vou dar uma testada aqui, achei que meu metodo iria funcionar, pois fiz basicamente a mesma coisa com os "inimigos" eles aumentavam conforme o valor colocado no vetor
-
#include <stdio.h> #include <allegro5/allegro.h> #include <allegro5/allegro_image.h> #include <allegro5/allegro_font.h> #include <allegro5/allegro_ttf.h> #include <allegro5/allegro_primitives.h> #include <allegro5/allegro_audio.h> #include <allegro5/allegro_acodec.h> #include "main.h" const int AKPENTE = 5; const int largura = 1920; const int altura = 1080; const float FPS = 60.0; int i; bool keys[8]={false,false,false,false,false,false,false,false}; enum KEYS{UP, DOWN, LEFT, RIGHT, SPACE, ESCAPE, J, B}; int main(void) { bool redraw = true; bool acaba = false; ALLEGRO_DISPLAY *display = NULL; ALLEGRO_EVENT_QUEUE *fila = NULL; ALLEGRO_TIMER *timer = NULL; if(!al_init()) {fprintf(stderr, "falhou ao inicializar o Allegro!\n");return -1;} display = al_create_display(largura,altura); if(!display) {fprintf(stderr, "falhou ao inicializar o Allegro!\n");return -1;} al_init_primitives_addon(); al_install_keyboard(); fila = al_create_event_queue(); timer = al_create_timer(1.0/FPS); al_register_event_source(fila,al_get_keyboard_event_source()); al_register_event_source(fila,al_get_display_event_source(display)); al_register_event_source(fila, al_get_timer_event_source(timer)); al_start_timer(timer); for(i = 0; i < 5; i++) { akbala[i].v = 10; akbala[i].ativo = false; } while(!acaba) { ALLEGRO_EVENT ev; al_wait_for_event(fila,&ev); if(ev.type == ALLEGRO_EVENT_TIMER) { redraw = true; if(swat.vidas>0) { swat.y -= keys[UP] *swat.vup; swat.x -= keys[LEFT] *swat.vleft; swat.y += keys[DOWN] *swat.vdown; swat.x += keys[RIGHT] *swat.vright; } if(swat.y < 0){swat.y = 0;} if(swat.y > altura){swat.y = altura;} if(swat.x < 0){swat.x = 0;} if(swat.x > largura){swat.x = largura;} for(i=0;i< 5;i++) { if(akbala[i].ativo) { akbala[i].x += akbala[i].v; if(akbala[i].x > largura) akbala[i].ativo = false; } } } if(ev.type == ALLEGRO_EVENT_KEY_DOWN) { switch(ev.keyboard.keycode) { case ALLEGRO_KEY_ESCAPE: keys[ESCAPE] = true; break; case ALLEGRO_KEY_UP: keys[UP] = true; break; case ALLEGRO_KEY_DOWN: keys[DOWN] = true; break; case ALLEGRO_KEY_RIGHT: keys[RIGHT] = true; break; case ALLEGRO_KEY_LEFT: keys[LEFT] = true; break; case ALLEGRO_KEY_SPACE: keys[SPACE] = true; for(i=0;i<5;i++) { if(!akbala[i].ativo) { akbala[i].x = swat.x + 17; akbala[i].y = swat.y; akbala[i].ativo = true; } break; } } } else if (ev.type == ALLEGRO_EVENT_KEY_UP) { switch(ev.keyboard.keycode) { case ALLEGRO_KEY_UP: keys[UP] = false; break; case ALLEGRO_KEY_ESCAPE: keys[ESCAPE] = false; break; case ALLEGRO_KEY_DOWN: keys[DOWN] = false; break; case ALLEGRO_KEY_RIGHT: keys[RIGHT] = false; break; case ALLEGRO_KEY_LEFT: keys[LEFT] = false; break; case ALLEGRO_KEY_SPACE: keys[SPACE] = false; break; } } //PARA PODER FECHAR O JOGO else if(ev.type == ALLEGRO_EVENT_DISPLAY_CLOSE) { acaba=true; } if(redraw && al_is_event_queue_empty(fila)) { redraw = false; al_draw_filled_rectangle(swat.x, swat.y - 9, swat.x + 10, swat.y - 7, al_map_rgb(255, 0, 0)); al_draw_filled_rectangle(swat.x, swat.y + 9, swat.x + 10, swat.y + 7, al_map_rgb(255, 0, 0)); al_draw_filled_triangle(swat.x - 12, swat.y - 17, swat.x + 12, swat.y, swat.x - 12, swat.y + 17, al_map_rgb(0, 255, 0)); al_draw_filled_rectangle(swat.x - 12, swat.y - 2, swat.x + 15, swat.y + 2, al_map_rgb(0, 0, 255)); for(i=0;i<5;i++) { if(akbala[i].ativo) al_draw_filled_circle(akbala[i].x, akbala[i].y, 2, al_map_rgb(255, 255, 255)); } al_flip_display(); al_clear_to_color(al_map_rgb(0,0,0)); } } al_destroy_event_queue(fila); al_destroy_timer(timer); al_destroy_display(display); return 0; } Aqui com as structs /BONECOS CONTROLADOS struct PLAYER { int x, y, vidas, vleft, vright, vup, vdown, larg_x, alt_y, dano; }; struct PLAYER swat={1920/2,1080/2,100,4,4,4,4,48,62,25}; //PROJETEIS struct PROJETEIS { bool ativo; int v, x, y; }; struct PROJETEIS akbala[5];
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