Langsung ke konten utama

Program Game Pacman

Kali ini ali ini Admin @feidodol akan membuat Program Game Pacman ... Ikuti Terus yaaaaaa...

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

#define MAKS 10


void cetak(int kotak[MAKS][MAKS]);
int CekTujuan (int posisiX, int  posisiY, int tujuanX, int tujuanY);

int main(){
    int kotak[MAKS][MAKS] = {
        {    1, 1, 1, 1, 1, 1, 1, 1, 1, 1         },
        {    1, 0, 0, 0, 0, 0, 0, 0, 0, 1        },
        {    1, 0, 0, 0, 0, 0, 0, 0, 0, 1        },
        {    0, 0, 0, 0, 0, 0, 0, 0, 0, 1        },
        {    1, 0, 0, 1, 1, 1, 1, 0, 0, 1        },
        {    1, 0, 0, 1, 0, 0, 1, 0, 0, 1        },
        {    1, 0, 0, 1, 0, 0, 1, 0, 0, 1        },
        {    1, 0, 0, 1, 0, 0, 1, 0, 0, 1        },
        {    1, 0, 0, 1, 0, 0, 1, 0, 0, 0        },
        {    1, 1, 1, 1, 0, 0, 1, 1, 1, 1        },
    };
  
    int posisiX = 3, posisiY = 0, keluar;
    int karakter, banyakLangkah, tujuanX = 8, tujuanY = 9;
    kotak [posisiX][posisiY] = 2;
  
    keluar = 0;
    banyakLangkah = 0;
  
    do{
        system("cls");
        cetak(kotak);
        if(CekTujuan(posisiX, posisiY, tujuanX, tujuanY)){
            printf("\n\n\n\n\n\nSELESAI\n");
            printf("banyak langkah = %d\n\n\n\n\n\n", banyakLangkah);
            break;
        }
      
        karakter = getch();
        banyakLangkah++;
      
        switch(karakter){
            case 49: //atas
                if(posisiX > 0 && kotak[posisiX-1][posisiY] == 0){
                    kotak[posisiX][posisiY] = 0;
                    posisiX--;
                    kotak[posisiX][posisiY] = 2;
                }
                break;
              
            case 50: //bawah
                if(posisiX < MAKS-1 && kotak [posisiX+1][posisiY] == 0){
                    kotak[posisiX][posisiY] = 0;
                    posisiX++;
                    kotak[posisiX][posisiY] = 2;
                }
                break;
              
            case 51: //kiri
                if(posisiY > 0 && kotak[posisiX][posisiY-1] == 0){
                    kotak[posisiX][posisiY] = 0;
                    posisiY--;
                    kotak[posisiX][posisiY] = 2;
                }
                break;
          
            case 52: //kanan
                if(posisiY < MAKS-1 && kotak[posisiX][posisiY+1] == 0){
                    kotak[posisiX][posisiY] = 0;
                    posisiY++;
                    kotak[posisiX][posisiY] = 2;
                }
                break;
              
            case 53: keluar=1; break;
        }
    }while(!keluar );
  
    return 0;
}

void cetak(int kotak[MAKS][MAKS]){
    int baris, kolom;
  
    for(baris=0; baris<MAKS; baris++){
        for(kolom=0; kolom<MAKS; kolom++)
            switch(kotak[baris][kolom]){
                case 0: printf(" "); break;
                case 1: printf("+"); break;
                case 2: printf("*"); break;
            }
            printf("\n");
    }
}
int CekTujuan (int posisiX, int posisiY, int tujuanX, int tujuanY){
    return posisiX == tujuanX && posisiY == tujuanY;
}

Dan Hasilnya Akan Seperti ini...

Komentar

Postingan populer dari blog ini

Program Jam Pasir

Kali ini ali ini Admin @feidodol akan membuat Program JamPasir... Ikuti Terus yaaaaaa... #include <iostream> using namespace std; main () {     int b,k,c;     for(b=1;b<=7;b++)     {         for(k=1;k<=b;k++)         {             cout<<" ";         }             for(c=7;c>=b;c--)             {                 cout<<"* ";             }     cout<<endl;     }     for(b=6;b>=1;b--)     {         for(k=1;k<=b;k++)         {             cout<<" ";         }             for(c=7;c>=b;c--)             {                 cout<<"* ";             }     cout<<endl;     } }  Dan Hasilnya Akan Seperti Ini ...

Program Java Operator

Hello Guys, Kali ini Admin @feidodol akan menshare tentang Program Java Tentang Operator. Cekidot...  Program ini akan Berjalan apabila : 1. Project Bernama projectpbo1, 2. Classnya Bernama Operator. Dan Inilah Source Codenya : package projectpbo1; public class Operator {   public int a,b; boolean c,d,e; double f,g; public void testOperator() { a=19; b=2; c=true; d=false; e=!c; g=0.2; if (a%2==1) b=a++; else b=++a; f=(c&&!d||e)? a/g : a/(g+1); System.out.println("a : "+a); System.out.println("b : "+b); System.out.println("e : "+e); System.out.println("f : "+f); } public static void main(String args[]) { Operator oper= new Operator(); oper.testOperator(); System.out.println(oper.checkMonth(9, 2014)); } public int checkMonth(int month,int year) { int day=0; if (month<8) if(month%2==1) day=31; else if(month==2) day = (year%4==0)? 29: 28; else day=30; else if(month%2==1) day=30; else day=

Program Java Operator Logika

Hello Guys, Kali ini Admin @feidodol akan menshare tentang Program Java Tentang Operator Logika. Cekidot...  Program ini akan Berjalan apabila : 1. Project Bernama projectpbo1, 2. Classnya Bernama OperatorLogika. Ini Adalah SourceCode Saya, package projectpbo1; public class OperatorLogika { public static void main(String []args){ boolean a=true,b=true; System.out.println("A\tB\tA && B\tA OR B\tA XORB\tNOT A"); for (int i=0;i<2;i++) { for (int j=0;j<2;j++){ System.out.println(a+"\t"+b+"\t"+ (a && b)+"\t" +(a || b)+"\t"+(a ^ b) +"\t"+(!a)); b=!b; } a=!a; } } }     Dan Inilah Hasil Runningnya :