patricklm 0 Denunciar post Postado Junho 17, 2013 Estou fazendo um jogo em C (Bubble Shooter) e gostaria de saber como faço para salvar a pontuaçao do usuario, para fazer um rank (highscores). Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
reebr 94 Denunciar post Postado Junho 17, 2013 Grava em um arquivo de texto. Compartilhar este post Link para o post Compartilhar em outros sites
patricklm 0 Denunciar post Postado Junho 17, 2013 Sou iniciante em C poderia me ajudar? Ou mandar algum topico em relacao a isso? Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
reebr 94 Denunciar post Postado Junho 17, 2013 Fiz algo rápido aqui e comentei, se estiver muito confuso procure pelas funções fopen, putc, getc. # include <stdio.h> # include <string.h> void savescore (char score []) { int i = 0; /* ponteiro p/ manipular um arquivo, * não precisa ficar assustado com "ponteiros", é o ÚNICO que você * vai usar por enquanto... */ FILE *file; // dê o nome que quiser /* a função fopen abre um arquivo (ou cria, se precisar). vai depender do MODO DE ABERTURA ESCOLHIDO * o primeiro parametro é o nome do arquivo, o segundo o seu tipo de abertura... * pode ser: * A - Cria um arquivo (caso nao exista) e grava os dados nele (se ja existir algo gravado no arquivo, será salvo sempre abaixo do que já existir, ou seja, sem perder os dados). W - Cria um novo arquivo, se já existir um arquivo com o mesmo nome, ele será apagado e criado um novo. R - Somente leitura. É possivel ler os dados, mas nao alterá-los... (editar, gravar, etc)... A não ser que você use o '+'... mas isso é outra história, vamos com calma... */ file = fopen ("Highscores.txt", "a"); // pronto, arquivo aberto... /* optei por gravar de 1 em 1, mas é possível gravar como de outras formas, com outras funções... VIDE GOOGLE. */ while (score [i]) { /* PUTC... o primeiro parametro é o caracter a ser gravado, o segundo é o arquivo onde será gravado */ putc(score[i], file); i++; } /* fecha o arquivo */ fclose (file); }; int main (void) { char str[128]; printf("HIGHSCORE: "); fgets(str, 128, stdin); str[strlen(str) -1 ] = '\0'; savescore(str); // SALVA!! :) } Edit: No caso, o arquivo será criado na pasta do projeto. É possível mudar o diretório na função fopen, exemplo: file = fopen ("C:\\Highscores.txt", "a"); Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
patricklm 0 Denunciar post Postado Junho 18, 2013 Muito obrigado Neelix, agradeço pelos comentarios feitos no programa para um melhor entendimento, nao sabia dessas funcoes mencionadas, ja procurei e ja me "antenei", obrigado, abraços. Compartilhar este post Link para o post Compartilhar em outros sites