Ir ao conteúdo
  • Cadastre-se

Daniel Bittencourt

Membro Pleno
  • Posts

    75
  • Cadastrado em

  • Última visita

Tudo que Daniel Bittencourt postou

  1. @Lucca Rodrigues o que eu quis dizer é que não quero que tenha janela branca, eu queria a linha na janela preta sem a janela branca
  2. @Lucca Rodrigues @Benjamin Breeg eu quis dizer a janela de fundo branco q aparece adicionado 0 minutos depois essa olhe adicionado 1 minuto depois eu queria colocar a linha na janela de fundo preto
  3. @Taynara Diniz eu recomendaria que se você resolver fazer outro rpg, o faça com gráficos, não necessariamente de bibliotecas terceirizadas,exportando imagens, você pode fazer com characteres ascii, assim olhe printf("%c",219); a saída seria um quadrado. Você pode juntar vários desses com laços e fazer uma parede, um quadrado maior e outros. também pode colori-los, dê uma olhada na função SetConsoleTextAttribute.
  4. @Benjamin Breeg Cara, seu programa foi perfeito, mas eu gostaria de saber se há uma forma de tirar a linha da message box pois ja tenho o jogo na tela de execução, se você puder ajudar, agradeceria
  5. @arfneto sim eu entendo mas fiz isso e não mudou absolutamente nada adicionado 1 minuto depois FILE *coordpers; coordpers = fopen("xy.txt","r+"); fscanf(coordpers,"%d %d ",y,x); fprintf(coordpers,"\b\b\b\b\b%d %d",y,x); adicionado 2 minutos depois escrevi assim só que em partes diferentes do programa e não mudou nada adicionado 2 minutos depois e pus o fclose(coordpers); adicionado 3 minutos depois sabia o que tinha que fazer até antes de perguntar, mas fazia várias vezes e não mudou nada adicionado 4 minutos depois sim eu li e entendi tudo
  6. mas enfim, você tem alguma ideia de como fazer eu mudar o xy no arquivo, porque não está funcionando bem
  7. Na verdade é assim o que eu quis fazer colocando o vetor: quando o jogador 1 estivesse em x12 e y30 seria registrado lá no arquivo, e se ele deslogasse e depois logasse, o programa iria no arquivo do coordpers[1] , pegaria a coordenada e colocaria o player lá, se o jogador 4567 estivesse em x4 e y 46 seria registrado no arquivo coordpers[4567] a coordenada e quando deslogasse e depois logasse de novo iria estar nessa coordenada adicionado 0 minutos depois estarei com as aspas é testarei com as aspas, faltou um t adicionado 3 minutos depois resumo: preciso pegar a coordenada do jogador e regitrá-la em um arquivo, mudando a coordenada anterior que lá estava depois disso, pode deixar comigo
  8. @arfneto eu pus 90.000 arquivos por que um dia eu ainda vou terminar esse jogo e deixá-lo online, então já declarei um tanto dessas coordenadas para facilitar na criação de outros personagens mas vou tentar sem o vetor adicionado 2 minutos depois tirei o vetor mas continua na mesma adicionado 4 minutos depois e praticamente sempre que eu mexo com arquivos nos programas ocorre uma "corrupção" e aparecem aqueles sinaizinhos da foto, no código fonte, ou no arquivo adicionado 5 minutos depois testarei com as aspas adicionado 7 minutos depois definitivamente aspas não funcionam
  9. Oi eu estava fazendo um jogo e queria salvar o progresso feito em uma compilação até as próximas. Primeiramente queria salvar as coordenadas do personagem em um arquivo txt e quando o usuário entrasse no programa, e a cada vez que mudasse a coordenada, mudasse a que estava no arquivo também, desse jeito: FILE *coordpers[90000]; coordpers[1]= fopen("xy.txt","r+"); fscanf(coordpers[1],"%d %d ",y,x); for(;;){ tecla=getch(); if(tecla=='M')x++; if(tecla=='K')x--; if(tecla=='P')y++; if(tecla=='H')y--; fprintf(coordpers[1],"\b\b\b\b\b%d %d",x,y); } Mas parece que simplesmente foi ignorado pois fiz várias vezes e nunca mudou nada. até fiz outro programa int main() { FILE * arquivo; arquivo = fopen("xy.txt","r+"); fprintf(arquivo,"\b\b\b\b\b\b\b\b\b26 12"); fclose(arquivo); } nesse outro até mudou mas, enfim, se alguém tiver uma ideia, por favor comente aqui
  10. @arfneto eu tenho o visual studio code mas mesno com a dotnet ainda não consegui fazer os programas serem executáveis
  11. @Benjamin Breeg funcionou, muito obgd vai ajudar muito
  12. obgd glr vou testar lá aí já venho falar o resultado
  13. Eu uso um windows 7 e programo c++ no dev c++ e estou criando um jogo nele sem bibliotecas de terceiros(tentando pelo menos) e para fazer a barra de vida dos inimigos, precisava de caracteres menores ou até PIXELS. Então fiquei em uma busca enorme na web e achei a função SetPixel() da biblioteca windows.h só que sempre que pego um programa da web para testar como é e depois reproduzì-lo aparece o famoso "id returned 1 exit staus" e eu não faço ideia do que devo mudar nesses programas para arrumar ou se é minha máquina que não consegue fazer isso. Será que alguém poderia me dar uma ideia?
  14. Onde eu posso instalar allegro no dev c++ versão 4.9.2 de forma segura?
  15. ja fizeram pelo visto adicionado 1 minuto depois ia fazer quase a mesma coisa
  16. então você mexeu bastante no exemplo pois n tinha nem a parte de perguntar qtos numeros haveriam na multiplicação
  17. a movimentação está praticamente perfeita adicionado 8 minutos depois no void rato o for(;;) faz o rato se mover de um lado para o outro e abaixo q fica a dúvida pois ainda n consegui fazer ele ir pelo menos na mesma latitude do cara(do rato é coordraty e do cara é y) void rato(void * parg) { HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO consoleInfo; WORD saved_attributes; /* Salvar estado atual */ GetConsoleScreenBufferInfo(hConsole, &consoleInfo); saved_attributes = consoleInfo.wAttributes; for(;;){ mgotoxy(24,7); printf("%c",219); coordratx=24; coordraty=7; Sleep(1000); mgotoxy(24,7); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6); printf("%c",219); SetConsoleTextAttribute(hConsole, saved_attributes); if(gorat==2){ ajuda=1; goto FUNCONA;; } mgotoxy(25,7); printf("%c",219); coordratx=24; coordraty=7; Sleep(1000); mgotoxy(25,7); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6); printf("%c",219); SetConsoleTextAttribute(hConsole, saved_attributes); if(gorat==2){ ajuda=2; goto FUNCONA: } } FUNCONA: if(coordraty<y){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6); printf("%c",219); SetConsoleTextAttribute(hConsole, saved_attributes); for(coordraty<=y;coordraty++;){ mgotoxy(coordratx,coordraty); printf("%c",219); } } } adicionado 10 minutos depois desculpa mas em algumas partes do code existem resquícios de tentativas anteriores adicionado 16 minutos depois nesta parte(ainda no main) o w1 é a a metade da longitude da visão do rato(sim eu a dividi em 2) k1 é a latitude usada de auxílio para o w1 e o mesmo cm k2 e w2(mas da outra metade) a cada 4 do tipo w, eu aumento um no tipo k e vlto os w ao valor anterior, 7 vezes para se fazer a área de visão completa for(i=-1;i<28;i++){ int w1=20,k1=3,w2=28,k2=11; w1++; w2--; if(i%4==0){ k1++; k2--; w1=20; w2=28; } if(x==w1&&y==k1){ gorat=2; } if(x==w2&&y==k2){ gorat=2; } } } adicionado 18 minutos depois e la no movimento do rato, se gorat for igual a 2, ou seja, o cara está na visão do rato, o mesmo vai aumentando seu y e se locomovendo até o jogador
  18. adicionado 0 minutos depois o rato está no esgoto que aparece quando passa no jogo da velha(escada) da linha 51 até a linha 99 é a construção das paredes, da 100 até a 178 é a planície, da 179 até a 251 é o esgoto, mas o problema é abaixo no void rato(que graças à beginthread é executada junto ao esgoto)
  19. @devair1010 aqui no círculo, você o move cm as setas do teclado adicionado 1 minuto depois o quadrado que você chamou de rato nem eu sei o que é no meu n tem pelo menos
  20. @devair1010 bom no meu as cores ficaram diferentes mas o rato só aparece quando desce esse joguinho da velha(uma escada) que leva para um "esgoto" e lá fica o rato
  21. @arfneto bom eu tinha achado que para fazer o code era com o teclado e n esse botão. Eu acho que já consegui resolver vou olhar qualquer coisa eu falo
  22. oi o determinado numero de valores é um que será definido na programação??
  23. oi Eu estou fazendo um jogo e nele muitas vezes eu fiquei semanas para conseguir fazer partes, ainda está no início mas dá um pouco de trabalho. Eu decidi que não quero mais ficar assim e vou passar a perguntar algumas coisas. Nesse momento, preciso fazer o 1 inimigo (um rato) se mover até o personagem só q n dá certo. Aqui está o cod <#include<windows.h> #include<stdio.h> #include<conio.h> #include<iostream> #include <stdlib.h> #include <time.h> #include<process.h> void mgotoxy(int x, int y){ SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),(COORD){x,y}); } /* 0 1 2 3 4 5 6 7 8 */ typedef enum{black,blue,green,cyan,red,magenta,brown,lightgray,darkgray, /* nome das cores */ lightblue,lightgreen,lightcyan,lightred,lightmagenta,yellow,white} colors; /* 9 10 11 12 13 14 15 */ static int __BACKGROUND = green/*BLACK*/;/*pode ser o numero ou o nome da cor*/ static int __FOREGROUND = lightgray; void textcolor_2 (int letras, int fundo){/*para mudar a cor de fundo mude o background*/ __FOREGROUND = letras; __BACKGROUND = fundo; SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), letras + (__BACKGROUND << 4)); } void rato( void * parg ); void funcona( void * parg); //void rato2( void *); //void movimenta_cara(); int x=12,y=23,gorat=1,coordratx,coordraty,ajuda; int main() { int coordratx=24,coordraty=11,r=23,d=22,h=30,e,q,t=1,predeA1=11, predeA2,v,c,predehom1a,predehom2a=4,predehom3a,predeB2,predeB1=12,predeC2,predeC1=13; typedef struct entidades { int HP; int MP; char name; int SKILL; int LV; int FORCA; }entidades; entidades personagem, rat; HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO consoleInfo; WORD saved_attributes; /* Salvar estado atual */ GetConsoleScreenBufferInfo(hConsole, &consoleInfo); saved_attributes = consoleInfo.wAttributes; system("color 20"); for(predehom3a=5;predehom3a<11;predehom3a++) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6); mgotoxy(13,predehom3a); //vertical esquerda.// printf("%c",219); SetConsoleTextAttribute(hConsole, saved_attributes); } for(predehom2a=13;predehom2a<24;predehom2a++) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6); mgotoxy(predehom2a,4); //horizontal superior// printf("%c",219); if(q==y-1&&y==4&&x==predehom2a)y--; if(q==y+1&&y==4&&x==predehom2a)y++; if(e==x-1&&x==predehom2a&&y==4)x--; if(e==x+1&&x==predehom2a&&y==4)x++; SetConsoleTextAttribute(hConsole, saved_attributes); } for(predehom1a=5;predehom1a<11;predehom1a++) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6); mgotoxy(23,predehom1a); //vertical direita// printf("%c",219); if(e==x-1&&x==23&&y==predehom1a)x--; if(e==x+1&&x==23&&y==predehom1a)x++; SetConsoleTextAttribute(hConsole, saved_attributes); } for(predeA2=13;predeA2<19;predeA2++){ mgotoxy(predeA1,predeA2); printf("%c",219); if(x==predeA1&&y==predeA2)x++; } for(predeB2=1;predeB2<13;predeB2++){ mgotoxy(predeB1,predeB2); printf("%c",219); if(x==predeB1&&y==predeB2)x++; } for(predeC2=19;predeC2<29;predeC2++){ mgotoxy(predeC1,predeC2); printf("%c",219); if(x==predeC1&&y==predeC2)x++; } char tecla='a'; mgotoxy(x,y); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14); printf("%c",219); /* Voltando ao estado original */ SetConsoleTextAttribute(hConsole, saved_attributes); for(;;){ e = x; q = y; tecla=getch(); if(tecla=='M')x++; if(tecla=='K')x--; if(tecla=='P')y++; if(tecla=='H')y--; if(x==18&&y==8||y==9&&x==18)goto while2; mgotoxy(18,8); printf("%c%c%c",197,196,197); mgotoxy(18,9); printf("%c%c%c",197,196,197); for(predehom3a=5;predehom3a<11;predehom3a++) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6); mgotoxy(13,predehom3a); //vertical esquerda.// printf("%c",219); SetConsoleTextAttribute(hConsole, saved_attributes); } for(predehom2a=13;predehom2a<24;predehom2a++) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6); mgotoxy(predehom2a,4); //horizontal superior// printf("%c",219); if(q==y-1&&y==4&&x==predehom2a)y--; if(q==y+1&&y==4&&x==predehom2a)y++; if(e==x-1&&x==predehom2a&&y==4)x--; if(e==x+1&&x==predehom2a&&y==4)x++; SetConsoleTextAttribute(hConsole, saved_attributes); } for(predehom1a=5;predehom1a<11;predehom1a++) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6); mgotoxy(23,predehom1a); //vertical direita// printf("%c",219); if(e==x-1&&x==23&&y==predehom1a)x--; if(e==x+1&&x==23&&y==predehom1a)x++; if(q==y-1&&y==4&&x==predehom1a)y--; if(q==y+1&&y==4&&x==predehom1a)y++; SetConsoleTextAttribute(hConsole, saved_attributes); } for(predeA2=13;predeA2<19;predeA2++){ if(predeA2%2==0 ){ mgotoxy(predeA1,predeA2); printf("%c",219); if(x==predeA1&&y==predeA2)x++; } if(predeA2%2==1 ){ mgotoxy(predeA1,predeA2); printf("%c",219); if(x==predeA1&&y==predeA2)x++; } } for(predeB2=1;predeB2<13;predeB2++){ mgotoxy(predeB1,predeB2); printf("%c",219); if(x==predeB1&&y==predeB2)x++; } for(predeC2=19;predeC2<29;predeC2++){ mgotoxy(predeC1,predeC2); printf("%c",219); if(x==predeC1&&y==predeC2)x++; } mgotoxy(x,y); printf("%c",219); if(x==e+1 or e-1==x){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 2); mgotoxy(e,y); printf("%c",219); } if(y==q+1 or q-1==y){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 2); mgotoxy(x,q); printf("%c",219); SetConsoleTextAttribute(hConsole, saved_attributes); } } while2: system("cls"); x=24; y=12; for(t=1;t<45;t++){ mgotoxy(23,t); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6); printf("%c%c%c%c%c%c%c%c",219,219,219,219,219,219,219,219); SetConsoleTextAttribute(hConsole, saved_attributes); } for(predeA2=0;predeA2<45;predeA2++){ mgotoxy(22,predeA2); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7); printf("%c",219); if(x==22&&y==predeA2)x++; SetConsoleTextAttribute(hConsole, saved_attributes); } for(predeA2=0;predeA2<45;predeA2++){ mgotoxy(30,predeA2); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7); printf("%c",219); if(x==30&&y==predeA2)x--; SetConsoleTextAttribute(hConsole, saved_attributes); } for(predeA2=21;predeA2<30;predeA2++){ mgotoxy(predeA2,0); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7); printf("%c",219); if(y==0&&x==predeA2)x--; SetConsoleTextAttribute(hConsole, saved_attributes); } mgotoxy(x,y); printf("%c",219); _beginthread( rato, 0, NULL ); for(;;){ e = x; q = y; if(ajuda==1||ajuda==2){ _beginthread( funcona, 0, NULL ); } tecla=getch(); if(tecla=='M')x++; if(tecla=='K')x--; if(tecla=='P')y++; if(tecla=='H')y--; mgotoxy(x,y); printf("%c",219); if(x==e+1 or e-1==x){ mgotoxy(e,y); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6); printf("%c",219); SetConsoleTextAttribute(hConsole, saved_attributes); } if(y==q+1 or q-1==y){ mgotoxy(x,q); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6); printf("%c",219); SetConsoleTextAttribute(hConsole, saved_attributes); } int i; for(i=-1;i<28;i++){ int w1=20,k1=3,w2=28,k2=11; w1++; w2--; if(i%4==0){ k1++; k2--; w1=20; w2=28; } if(x==w1&&y==k1){ gorat=2; } if(x==w2&&y==k2){ gorat=2; } } } } void rato(void * parg) { HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO consoleInfo; WORD saved_attributes; /* Salvar estado atual */ GetConsoleScreenBufferInfo(hConsole, &consoleInfo); saved_attributes = consoleInfo.wAttributes; for(;;){ mgotoxy(24,7); printf("%c",219); coordratx=24; coordraty=7; Sleep(1000); mgotoxy(24,7); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6); printf("%c",219); SetConsoleTextAttribute(hConsole, saved_attributes); if(gorat==2){ ajuda=1; _endthread(); } mgotoxy(25,7); printf("%c",219); coordratx=24; coordraty=7; Sleep(1000); mgotoxy(25,7); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6); printf("%c",219); SetConsoleTextAttribute(hConsole, saved_attributes); if(gorat==2){ ajuda=2; _endthread(); } }> ignorem os nomes de variaveis

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!