Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- #include<Windows.h>
- FILE *fp;
- int n=0;
- char map1[11][11];
- struct data{
- int highscore;
- int posX;
- int posY;
- int level;
- int score;
- int turn;
- }player;
- void initialize(){
- fp=fopen("map1","r");
- if (fp==NULL){printf("Failed");}
- n=0;
- while(!feof(fp)){
- fscanf(fp,"%[^\n]\n",map1[n]);n++;
- }
- }
- void cetakMap (){
- printf("High Score : %d\n",player.highscore);
- printf("Level : %d\n",player.level);
- printf("Score : %d\n",player.score);
- printf("Turn : %d\n",player.turn);
- for(int i=0;i<10;i++){
- for(int j=0;j<10;j++){
- if(map1[i][j]=='1'){printf("%c",1);}
- else if (map1[i][j]=='2'){printf("%c",2);}
- else {printf("%c",map1[i][j]);}
- }
- printf("\n");
- }
- }
- void cariKarakter(){
- int i=0;
- int j=0;
- for (i=0;i<10;i++){
- for(j=0;j<10;j++){
- if(map1[j][i]=='1'){player.posY=i;player.posX=j;break;}
- }
- }
- }
- void space(int a){
- for(int n=0;n<a;n++){
- printf("\n");
- }
- }
- void play(){
- player.highscore=0;
- player.level=1;
- player.score=0;
- player.turn=0;
- player.posX=0;
- player.posY=0;
- int move;
- do{
- if (player.level==1){fp=fopen("map1","r");}
- else if (player.level==2){fp=fopen("map2","r");}
- else {fp=fopen("map3","r");}
- n=0;
- while(!feof(fp)){
- fscanf(fp,"%[^\n]\n",map1[n]);n++;
- }
- fclose(fp);
- //PERBAIKAN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- /* if(player.posX!=0 || player.posY!=0)
- {
- map1[player.posY][player.posX]=1;
- if(player.level==1){map1[1][1]=0;}
- else if(player.level==2){map1[5][5]=0;}
- else {map1[8][1]=0;}
- }*/
- //PERBAIKAN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- for(int a=0;a<10;a++){
- for(int b=0;b<10;b++){
- if(map1[a][b]=='1'){
- player.posX=b;
- player.posY=a;
- }
- }
- }
- do{
- do{
- system("cls");
- space(25);
- cetakMap();
- printf("1. Up\n");
- printf("2. Down\n");
- printf("3. Left\n");
- printf("4. Right\n");
- printf("5. Save And Exit\n");
- printf("->");
- scanf("%d",&move);fflush(stdin);
- }while(move<1 || move>5);
- //PERBAIKAN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- if (move==1){
- while(map1[player.posY-1][player.posX]!='#'){
- if(map1[player.posY-1][player.posX]=='2'){
- printf("diisi kondisinya");
- getchar();
- }
- cetakMap();
- map1[player.posY][player.posX] = ' ';
- map1[player.posY-1][player.posX] = '1';
- player.posY--;
- Sleep(100);
- }
- }
- //PERBAIKAN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- else if (move==2)
- {
- while(map1[player.posY+1][player.posX]!='#'){
- if(map1[player.posY+1][player.posX]=='2'){
- printf("diisi kondisinya");
- getchar();
- }
- cetakMap();
- map1[player.posY][player.posX] = ' ';
- map1[player.posY+1][player.posX] = '1';
- player.posY++;
- Sleep(100);
- }
- }
- //PERBAIKAN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- else if (move ==3){
- while(map1[player.posY][player.posX-1]!='#')
- {
- if(map1[player.posY][player.posX-1]=='2'){
- printf("diisi kondisinya");
- getchar();
- }
- cetakMap();
- map1[player.posY][player.posX] = ' ';
- map1[player.posY][player.posX-1] = '1';
- player.posX--;
- Sleep(100);
- }
- }
- //PERBAIKAN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- else if (move ==4){
- while(map1[player.posY][player.posX+1]!='#')
- {
- if(map1[player.posY][player.posX+1]=='2'){
- printf("diisi kondisinya");
- getchar();
- }
- cetakMap();
- map1[player.posY][player.posX] = ' ';
- map1[player.posY][++player.posX] = '1';
- Sleep(100);
- }}
- else {}
- }while(move!=5);
- //PERBAIKAN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- //.................
- }while(player.level!=4);
- }
- void main(){
- int choice;
- do{
- //PERBAIKAN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- printf("Find The Way\n");
- printf("============\n\n\n");
- printf("Menu\n");
- printf("====\n");
- printf("1. New Game\n");
- printf("2. Continue Saved Game\n");
- printf("3. Exit\n");
- printf("->");
- scanf("%d",&choice); fflush(stdin);
- }while(choice<1||choice>3);
- if (choice ==1){
- play();
- getchar();
- }
- else if (choice ==2){}
- else{}
- getchar();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement