Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.98 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include<Windows.h>
  5.  
  6. FILE *fp;
  7. int n=0;
  8. char map1[11][11];
  9.  
  10. struct data{
  11.         int highscore;
  12.         int posX;
  13.         int posY;
  14.         int level;
  15.         int score;
  16.         int turn;
  17. }player;
  18.  
  19. void initialize(){
  20.        
  21. fp=fopen("map1","r");
  22.  
  23. if (fp==NULL){printf("Failed");}
  24.  n=0;
  25. while(!feof(fp)){
  26.         fscanf(fp,"%[^\n]\n",map1[n]);n++;
  27. }
  28.  
  29. }
  30.  
  31.  
  32. void cetakMap (){
  33.         printf("High Score : %d\n",player.highscore);
  34.         printf("Level : %d\n",player.level);
  35.         printf("Score : %d\n",player.score);
  36.         printf("Turn : %d\n",player.turn);
  37.         for(int i=0;i<10;i++){
  38.        
  39.                 for(int j=0;j<10;j++){
  40.                         if(map1[i][j]=='1'){printf("%c",1);}
  41.                         else if (map1[i][j]=='2'){printf("%c",2);}
  42.                         else {printf("%c",map1[i][j]);}
  43.                 }
  44.                 printf("\n");
  45.         }
  46.        
  47.  
  48. }
  49.  
  50. void cariKarakter(){
  51.        
  52. int i=0;
  53.         int j=0;
  54.                 for (i=0;i<10;i++){
  55.                
  56.                 for(j=0;j<10;j++){
  57.                         if(map1[j][i]=='1'){player.posY=i;player.posX=j;break;}
  58.                         }
  59.                 }
  60.        
  61.        
  62. }
  63. void space(int a){
  64.     for(int n=0;n<a;n++){
  65.         printf("\n");
  66.     }
  67. }
  68.  
  69. void play(){
  70.         player.highscore=0;
  71.         player.level=1;
  72.         player.score=0;
  73.         player.turn=0;
  74.         player.posX=0;
  75.         player.posY=0;
  76.         int move;
  77.         do{
  78.         if (player.level==1){fp=fopen("map1","r");}
  79.         else if (player.level==2){fp=fopen("map2","r");}
  80.         else {fp=fopen("map3","r");}
  81.         n=0;
  82.         while(!feof(fp)){
  83.         fscanf(fp,"%[^\n]\n",map1[n]);n++;
  84.         }
  85.         fclose(fp);
  86.  
  87.        
  88.               /* if(player.posX!=0 || player.posY!=0)
  89.                 {
  90.                         map1[player.posY][player.posX]=1;
  91.                         if(player.level==1){map1[1][1]=0;}
  92.                         else if(player.level==2){map1[5][5]=0;}
  93.                        else {map1[8][1]=0;}
  94.                 }*/
  95.                 for(int a=0;a<10;a++){
  96.                     for(int b=0;b<10;b++){
  97.                         if(map1[a][b]=='1'){
  98.                             player.posX=b;
  99.                             player.posY=a;
  100.                         }
  101.                     }
  102.                 }
  103.  
  104.         do{
  105.         do{
  106.             system("cls");
  107.             space(25);
  108.                 cetakMap();
  109.         printf("1. Up\n");
  110.         printf("2. Down\n");
  111.         printf("3. Left\n");
  112.         printf("4. Right\n");
  113.         printf("5. Save And Exit\n");
  114.         printf("->");
  115.        
  116.         scanf("%d",&move);fflush(stdin);
  117.         }while(move<1 || move>5);
  118.  
  119.         if (move==1){  
  120.                 while(map1[player.posY-1][player.posX]!='#'){
  121.                     if(map1[player.posY-1][player.posX]=='2'){
  122.                         printf("diisi kondisinya");
  123.                         getchar();
  124.                     }
  125.                         cetakMap();
  126.                         map1[player.posY][player.posX] = ' ';
  127.                         map1[player.posY-1][player.posX] = '1';
  128.                         player.posY--;
  129.                         Sleep(100);
  130.                 }
  131.         }
  132.        
  133.         else if (move==2)
  134.         {
  135.                 while(map1[player.posY+1][player.posX]!='#'){
  136.                         if(map1[player.posY+1][player.posX]=='2'){
  137.                             printf("diisi kondisinya");
  138.                             getchar();
  139.                         }
  140.                         cetakMap();
  141.                         map1[player.posY][player.posX] = ' ';
  142.                         map1[player.posY+1][player.posX] = '1';
  143.                         player.posY++;
  144.                         Sleep(100);
  145.                 }
  146.         }
  147.         else if (move ==3){
  148.                 while(map1[player.posY][player.posX-1]!='#')
  149.                 {
  150.                     if(map1[player.posY][player.posX-1]=='2'){
  151.                         printf("diisi kondisinya");
  152.                         getchar();
  153.                     }
  154.                 cetakMap();
  155.                 map1[player.posY][player.posX] = ' ';
  156.                 map1[player.posY][player.posX-1] = '1';
  157.                 player.posX--;
  158.                 Sleep(100);
  159.                 }
  160.                
  161.  
  162.         }
  163.         else if (move ==4){
  164.                 while(map1[player.posY][player.posX+1]!='#')
  165.                 {
  166.                     if(map1[player.posY][player.posX+1]=='2'){
  167.                         printf("diisi kondisinya");
  168.                         getchar();
  169.                     }
  170.                 cetakMap();
  171.                 map1[player.posY][player.posX] = ' ';
  172.                 map1[player.posY][++player.posX] = '1';
  173.                 Sleep(100);
  174.                 }}
  175.         else {}
  176.        
  177.         }while(move!=5);
  178.         if(move==5)break;
  179.         }while(player.level!=4);
  180. }
  181.  
  182. void menuAwal(){
  183.  
  184. printf("Find The Way\n");
  185. printf("============\n\n\n");
  186.  
  187.  
  188. printf("Menu\n");
  189. printf("====\n");
  190. printf("1. New Game\n");
  191. printf("2. Continue Saved Game\n");
  192. printf("3. Exit\n");
  193. printf("->");
  194. }
  195.  
  196. void main(){
  197.         int choice;
  198.        
  199.  
  200.         do{
  201.         menuAwal();
  202.         scanf("%d",&choice); fflush(stdin);
  203.         }while(choice<1||choice>3);
  204.         if (choice ==1){
  205.  
  206.         play();
  207.         getchar();
  208.         }
  209.         else if (choice ==2){}
  210.         else{}
  211.  
  212.        
  213.  
  214.  
  215.  
  216.  
  217.         getchar();
  218. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement