Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * File: main.c
- * Author: shio
- *
- * Created on 12 de junio de 2015, 12:52 AM
- */
- #include <stdio.h>
- #include <time.h>
- #include <stdlib.h>
- #include <conio.h>
- #include<ctype.h>
- #include <windows.h>
- #include <process.h>
- #define N 800
- void record(){
- char plname[20],nplname[20],cha,c;
- int i,j,px;
- FILE *info;
- info=fopen("record.txt","a+");
- getch();
- system("cls");
- printf("Enter your name\n");
- scanf("%[^\n]",plname);
- //************************
- for(j=0;plname[j]!='\0';j++){ //to convert the first letter after space to capital
- nplname[0]=toupper(plname[0]);
- if(plname[j-1]==' '){
- nplname[j]=toupper(plname[j]);
- nplname[j-1]=plname[j-1];}
- else nplname[j]=plname[j];
- }
- nplname[j]='\0';
- //*****************************
- //sdfprintf(info,"\t\t\tPlayers List\n");
- fprintf(info,"Player Name :%s\n",nplname);
- //for date and time
- time_t mytime;
- mytime = time(NULL);
- fprintf(info,"Played Date:%s",ctime(&mytime));
- //**************************
- //fprintf(info,"Score:%d\n",px=Scoreonly());//call score to display score
- //fprintf(info,"\nLevel:%d\n",10);//call level to display level
- for(i=0;i<=50;i++)
- fprintf(info,"%c",'_');
- fprintf(info,"\n");
- fclose(info);
- printf("wanna see past records press 'y'\n");
- cha=getch();
- system("cls");
- if(cha=='y'){
- info=fopen("record.txt","r");
- do{
- putchar(c=getc(info));
- }while(c!=EOF);}
- fclose(info);
- }
- void clrscr()
- {
- COORD inicio = {0, 0};
- DWORD n;
- FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE), ' ', 80 * 25, inicio, &n);
- }
- void gotoxy(int x,int y){
- HANDLE hcon;
- hcon = GetStdHandle(STD_OUTPUT_HANDLE);
- COORD dwPos;
- dwPos.X = x;
- dwPos.Y= y;
- SetConsoleCursorPosition(hcon,dwPos);
- }
- void imprimirMapa(int n){
- switch(n){
- case (1):{
- gotoxy(5,8);
- printf("_________P_________W_____________________________________________ |\n");//20
- gotoxy(5,11);
- printf("| _________________________________________________________________\n");//20
- gotoxy(5,14);
- printf("_______M_________________________________________________________ |\n");//20
- gotoxy(5,17);
- printf("| _________________________________________________________________\n");//20
- gotoxy(5,20);
- printf("____A_____________________________________________________________F\n");//20*/
- break;}
- case (2):{
- gotoxy(5,8);
- printf("_________P________________________________________________A______ |\n");//20
- gotoxy(5,11);
- printf("| _____M___________________________________________________________\n");//20
- gotoxy(5,14);
- printf("_______________________A_________________________________________ |\n");//20
- gotoxy(5,17);
- printf("| __P_____________________________M_________________________A______\n");
- gotoxy(5,20);
- printf("_______M___________________________________________________________\n");
- gotoxy(5,23);
- printf("| _____________P_________________________________A_________________\n");
- gotoxy(5,26);
- printf("____A_________________________________________________________M__AF\n");
- break;}
- case (3):{
- gotoxy(5,8);
- printf("_________P_________________________________________________A_____ |\n");//20
- gotoxy(5,11);
- printf("| _________________MM______________________________________________\n");//20
- gotoxy(5,14);
- printf("______________A______________P______________________M____A_______ |\n");//20
- gotoxy(5,17);
- printf("| ________________________________M________________________________\n");//20
- gotoxy(5,20);
- printf("_______________________________________A_________________________ |\n");
- gotoxy(5,23);
- printf("| __M___________________________________________________A______M___\n");
- gotoxy(5,26);
- printf("________________________P________________________________________ |\n");
- gotoxy(5,29);
- printf("| __________________________________________A______________________\n");
- gotoxy(5,32);
- printf("_________________A_________M_____________________________________MF\n");
- break;}
- }
- }
- void borde(char nombre[N],int nivel){
- int i;
- gotoxy(0,0);
- printf(" RPG \n");
- printf(" Nombre del Jugador: %s",nombre);
- printf(" Nivel :%d\n",nivel);
- gotoxy(60,2);
- printf(" Score: ");//,score );
- switch(nivel){
- case (1):{
- //Lineas horizontales
- for (i=2;i<78;i++){
- gotoxy(i,3);
- printf("%c",205);
- gotoxy(i,23);
- printf("%c",205);
- }
- //Lineas Verticales
- for (i=4;i<23;i++){
- gotoxy(2,i);
- printf("%c",186);
- gotoxy(77,i);
- printf("%c",186);
- //Esquinas
- gotoxy(2,3); printf("%c",201);
- gotoxy(2,23); printf("%c",200);
- gotoxy(77,3); printf("%c",187);
- gotoxy(77,23); printf("%c",188);
- }
- break;}
- case (2):{
- // aqui va el marco nivel 2//
- break;}
- case (3):{
- //aqui va el marco nivel 3//
- break;}
- }
- }
- void load(){
- int row,col,r,c,q;
- gotoxy(36,14);
- printf("loading...");
- gotoxy(30,15);
- for(r=1;r<=20;r++){
- for(q=0;q<=100000000;q++);//para mostrar el recorrido del caracter despacio
- printf("%c",177);}
- getch();
- system("cls");
- }
- void menu()
- { clrscr();
- int opc;
- //GotoXY(10,12);
- printf("\n\n");
- printf("\t *******BIENVENIDOS A RPG******** \n");
- printf("\n\n\t*******MENU*******");
- printf("\n\n");
- printf("\n\t1-JUEGO NUEVO");
- printf("\n\t2-INSTRUCCIONES");
- printf("\n\t3-SALIR");
- printf("\n\n\tSelecione una opcion: ");
- scanf("%d",&opc);
- switch(opc){
- case (1):{
- load();
- break;}
- case (2):{
- load();
- system("cls");
- printf("\t INSTRUCCIONES DEL JUEGO:\n");
- printf("\n -Con las flechas del teclado se movera el heroe, -> DERECHA, <- IZQUIERDA \n");
- printf(" \n -Cuando el heroe llegue a una casilla vacia, podra manipular el contenido de su cinturon o de su mochila. Es decir, podra retirar o usar elementos de cualquiera de sus objetos. Ademas,podra avanzar a la proxima casilla. \n");
- printf("\n -Cuando el heroe llega a una casilla con un elemento, debe interactuar con este (guardarlo o descartarlo), luego de ello debera cambiarse automaticamente a la siguiente casilla. \n");
- printf("\n -Si el elemento encontrado es una pocion, podra recuperar ciertos puntos de vida. \n");
- printf("\n -Cuando el heroe se encuentre con un enemigo, debe realizar el proceso de 'Batalla'(se atacaran por turnos), luego de ello debera cambiarse automaticamente a la siguiente casilla. \n");
- printf("\n -Durante la Batalla, se disminuye los puntos de vida considerando las capacidades de ataque del arma del enemigo. \n");
- printf("\n -Si el heroe gana la batalla, puede continuar con el mapa, de lo contrario, el juego termina. \n");
- printf("\n -Si el heroe termina de pasar todos los niveles , el juego termina. \n");
- printf("\n (W) Arma \n");
- printf("\n (P) Posiones \n");
- printf("\n (M) Enemigo \n");
- printf("\n");
- printf("presiona enter para empezar el juego");
- if(getch()==27);
- load();
- break;}
- case (3):{
- exit(0);
- break;}
- }
- }
- void izquierda(int *a, int *b, char camino[N],int e, char nombre[N],int *nivel, int *conta){
- char C;
- gotoxy(a,b);
- moverHeroe(a,b);
- while (camino[e] != '|'){
- borde(nombre,nivel);
- imprimirMapa(nivel);
- C = getch();
- clrscr();
- moverHeroe(a,b);
- if (C==75){
- a--;
- gotoxy(a,b);
- imprimirMapa(nivel);
- moverHeroe(a,b);
- //verificacamino(e,camino);
- conta--;
- e--;
- }
- }
- }/*
- void verificacamino(int e, char camino[N]){
- char caracter;
- camino[e]= caracter;
- switch(caracter){
- case ('A'):{
- printf("dfd");
- load();
- break;}
- case ('M'):{
- printf("fefd");
- load();
- break;}
- case ('P'):{
- load();
- break;}
- case ('_'):{
- exit(0);
- break;
- }
- }
- }*/
- void derecha(int *a, int *b, char camino[N],int e, char nombre[N],int *nivel, int *conta ){
- char C;
- gotoxy(a,b);
- moverHeroe(a,b);
- while (camino[e] != '|'){
- borde(nombre,nivel);
- imprimirMapa(nivel);
- C = getch();
- clrscr();
- moverHeroe(a,b);
- if (C==77){
- a++;
- gotoxy(a,b);
- imprimirMapa(nivel);
- moverHeroe(a,b);
- //verificacamino(e,camino);
- e++;
- ;}
- };
- conta--;
- if (conta>0){
- izquierda(a,b,camino,e,nombre,nivel,conta);
- }
- conta--;
- }
- void moverHeroe(int c,int d){
- //cambio de movimiento
- //cabeza
- gotoxy(c,d);
- printf("%c",254);
- //brazos
- gotoxy(c-1,d+1);
- printf("%c",200);
- gotoxy(c,d+1);
- printf("%c",177);
- gotoxy(c+1,d+1);
- printf("%c",188);
- //piernas
- gotoxy(c,d+2);
- printf("%c",186);
- }
- /*
- void moves(char camino[N],char nombre[N],int *nivel,int *a,int *b,int *cont){
- char C;
- int e=0;
- gotoxy(a,b);
- moverHeroe(a,b);
- while (cont>=0){
- borde(nombre,nivel);
- imprimirMapa(nivel);
- derecha(a,b,camino,e,nombre,nivel,cont);
- }
- }
- */
- int main() {
- char C;
- char nombre[10], camino[N];
- load();
- int estado=1;
- int i=5,j=6, nivel=1, cont;
- printf("Ingrese el nombre del jugador : ");
- gets(nombre);//obtenemos el nombre
- menu();
- system("cls");
- load();
- char camino1[N]={'_','_','_','_','_','_','_','_','_','P','_','_','_','_','_','_','_','_','_','W','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_',' ','|',
- '|',' ','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_',
- '_','_','_','_','_','_','_','M','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_',' ','|',
- '|',' ','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_',
- '_','_','_','_','A','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','F'};
- char camino2[N]={'_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','A','_','_','_','_','_','_',' ','|',
- '|',' ','_','_','_','_','_','M','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_',
- '_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','A','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_',' ','|',
- '|',' ','_','_','P','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','M','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','A','_','_','_','_','_','_',
- '_','_','_','_','_','_','_','M','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_',' ','|',
- '|',' ','_','_','_','_','_','_','_','_','_','_','_','_','_','P','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','A','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_',
- '_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','M','_','_','A','F'};
- char camino3[N]={'_','_','_','_','_','_','_','_','_','P','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','A','_','_','_','_','_',' ','|',
- '|',' ','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','M','M','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_',
- '_','_','_','_','_','_','_','_','_','_','_','_','_','_','A','_','_','_','_','_','_','_','_','_','_','_','_','_','_','P','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','M','_','_','_','_','A','_','_','_','_','_','_','_',' ','|',
- '|',' ','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','M','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_',
- '_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','A','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_',' ','|',
- '|',' ','_','_','M','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','A','_','_','_','_','_','_','M','_','_','_','_',
- '_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','P','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_',' ','|',
- '|',' ','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','A','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_',
- '_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','A','_','_','_','_','_','_','_','_','_','M','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','M','F'};
- //iniciamos el juego//
- while(estado != 0){//comenzamos en el nivel 1
- switch(nivel){
- case (1):{
- nivel=1; cont=5; camino[N]=camino1[N];
- break;}
- case (2):{
- nivel=2; cont=7; camino[N]=camino2[N];
- break;}
- case (3):{
- nivel=3; cont=9; camino[N]=camino3[N];
- break;}
- }
- system("cls");
- borde(nombre,nivel);
- gotoxy(i,j);
- imprimirMapa(nivel);
- moverHeroe(i,j);
- borde(nombre,nivel);
- //moves(camino,nombre,&nivel,&i,&j,&cont);
- //estado=0//;
- }
- record();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement