Program java memindahkan huruf A menggunakan variabel Array



Program java ini pengembangan dari posting sebelumnya yaitu Program java memindahkanhuruf A.

Program java kali ini akan memindahkan huruf  “A” ke kiri, kanan, atas atau bawah dengan menekan tombol A, D, W atau X, dirubah untuk memudahkan menekan tombol tidak terlalu jauh tombol – tombolnya. Program ini mengunakan variabel Array 2 dimensi yaitu variabel xy tipe string.
Tombol A : memindahkan huruf “A” ke kiri.
Tombol D : memindahkan huruf “A” ke kanan.
Tombol W : memindahkan huruf “A” ke atas.
Tombol x : memindahkan huruf “A” ke bawah.

Pertama kali dijalankan program akan menampilkan delapan  baris dan delapan  kolom, baris pertama kolom pertama adalah huruf “A” yang lainnya  “.”.

 A  .  .  .  .  .  .  .
 .  .  .  .  .  .  .  .
 .  .  .  .  .  .  .  .
 .  .  .  .  .  .  .  .
 .  .  .  .  .  .  .  .
 .  .  .  .  .  .  .  .
 .  .  .  .  .  .  .  .
 .  .  .  .  .  .  .  .
  Tekan (A(kiri), D(kanan), W(atas), X(bawah), 1-5(Level), E(Keluar) :

Tombol level untuk merubah jumlah baris dan kolom,
Tombol 1 : (4 x 4)
Tombol 2 : (5 x 5)
Tombol 3 : (6 x 6)
Tombol 4 : (7 x 7)
Tombol 5 : (8 x 8)

Jika tekan tombol D, huruf “A” akan pindah ke kanan,

 .  A  .  .  .  .  .  .
 .  .  .  .  .  .  .  .
 .  .  .  .  .  .  .  .
 .  .  .  .  .  .  .  .
 .  .  .  .  .  .  .  .
 .  .  .  .  .  .  .  .
 .  .  .  .  .  .  .  .
 .  .  .  .  .  .  .  .
Tekan (A(kiri), D(kanan), W(atas), X(bawah), 1-5(Level), E(Keluar) :

Anda bisa mencoba untuk tombol yang lain, perhatikan huruf “A” akan berpindah-pindah

Untuk mengakhiri tekan tombol “E”.

Program lengkapnya sebagai berikut:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;


public class Amove {
public static void main( String[] args )
{       
int x=0;
int y=0;
int xA=0;
int yA=0;
int makX=3;
int makY=3;

String tombol="";
while ( (!"E".equalsIgnoreCase(tombol)) )
{    

for (y = 0 ; y <= makY  ; y++) 
{
for (x = 0; x <= makX ; x++)
{
if (x==xA && y==yA) 
{
System.out.print(" A ");
} else {
System.out.print(" . ");
}
}
System.out.println("");
}

BufferedReader dataIn = new BufferedReader(new 
InputStreamReader( System.in) );   
System.out.print("Tekan (L(kiri), R(kanan), U(atas), D(bawah), 1-5(Level), E(Keluar) :");
try{
tombol = dataIn.readLine();
   } catch( IOException e )
   {
System.out.println("Error!");
   }
                if ("L".equalsIgnoreCase(tombol)) 
{
xA = xA - 1;
if ( xA < 0 ) xA = 0;
}
if ("R".equalsIgnoreCase(tombol))
{
xA = xA + 1;
if ( xA > makX) xA = makX;
}
if ("U".equalsIgnoreCase(tombol))
{
yA = yA - 1;
if (yA < 0 ) yA = 0;
}
if ("D".equalsIgnoreCase(tombol))
{
yA = yA + 1;
if (yA > makY ) yA = makY;
}

if ("1".equals(tombol)) { makX=3; makY=3; }
if ("2".equals(tombol)) { makX=4; makY=4; }
if ("3".equals(tombol)) { makX=5; makY=5; }
if ("4".equals(tombol)) { makX=6; makY=6; }
if ("5".equals(tombol)) { makX=7; makY=7; }

}
}
}




Penjelasan Program:
1. Variabel Array 2 dimensi xy tipe  dengan panjang 8 dan 8.
String xy[][] = new String[8][8];

2. Variabel x tipe integer untuk kolom dan y untuk baris.
int x=0;
                  int y=0;
3. Variabel xA0  dan  yA0 tipe integer untuk menyimpan nilai variabel xA1 dan yA1.  Variabel  xA1 untuk kolom dan yA1 untuk baris dimana huruf “A” disimpan pada variabel Array xy[yA1][xA1] bernilai “ A ”.
                  int xA0=0;
                  int yA0=0;
                  int xA1=0;
                  int yA1=0;

4.  Variabel makX tipe integer untuk kolom dan makY untuk baris adalah jumlah kolom dan baris.
                  int makX=7;
                  int makY=7;

5. Dengan menggunakan pengulangan untuk memberi nilai variabel Array xy, dimana nilai xy[0][0] = “ A “ sedangan lainnya berniai “ . “.
for (y = 0 ; y <= makY  ; y++)
                                    {
                                                      for (x = 0; x <= makX ; x++)
                                                      {
                                                                        if (x==xA1 && y==yA1)
                                                                        {
                                                                                          xy[y][x]=" A ";
                                                                        } else {
                                                                                          xy[y][x]=" . ";
                                                                        }
                                                      }
                                    }                                                                     
6. Variable tombol tipe string untuk tombol yang di tekan.
                  String tombol="";
7.  Pengulangan selama tombol yang ditekan bukan “E” atau “e”.
while ( (!"E".equalsIgnoreCase(tombol)) )
8.  Pengulangan  untuk menampilan variabel Arral xy.
for (y = 0 ; y <= makY  ; y++)
                  {
                                    for (x = 0; x <= makX ; x++)
                                    {
                                                      System.out.print(xy[y][x]);
                                    }
                                    System.out.println("");
                  }
9. Untuk memasukan nilai variabel tombol dengan menekan tombol keyboard.
                  BufferedReader dataIn = new BufferedReader(new
                                                                        InputStreamReader( System.in) );  
                  System.out.print("Tekan (A(kiri), D(kanan), W(atas), X(bawah), 1-5(Level), E(Keluar) :");
                  try{
                                    tombol = dataIn.readLine();
                  } catch( IOException e )
                  {
                                    System.out.println("Error!");
                  }

10. Jika nilai “ A “ berpindah maka dari variabel lama haru diganti nilai menjadi “ . “ dan variabel baru menjadi “ A “,  dibawah ini perintah unetuk menyimpan Array variabel lama. Dimana x[yA0][xA0] variabel Arral lama yg berisi “ A “ .
                  xA0=xA1;
                  yA0=yA1;
11. Jika nilai tombol samadengan “A” atau “a” maka nilai variabel xA1 berkurang 1,  jika
     hasil akhir nilai xA1 kurang dari 0 maka nilai xA1 adalah 0.
                  if ("A".equalsIgnoreCase(tombol))
                  {
                                    xA1 = xA1 - 1;
                                    if ( xA1 < 0 ) xA1 = 0;
                  }

12.  Jika nilai tombol samadengan “D” atau “d” maka nilai variabel xA1 bertambah 1,  jika
     hasil akhir nilai xA1 lebih dari makX maka nilai xA1 adalah makX.
                  if ("D".equalsIgnoreCase(tombol))
                  {
                                    xA1 = xA1 + 1;
                                    if ( xA1 >makX ) xA1 = makX;
                  }

13. Jika nilai tombol samadengan “W” atau “w” maka nilai variabel yA1 berkurang 1,  jika hasil akhir nilai yA1 kurang dari 0 maka nilai yA1 adalah 0.
                  if ("W".equalsIgnoreCase(tombol))
                  {
                                    yA1 = yA1 - 1;
                                    if ( yA1 < 0 ) yA1 = 0;
                  }


14. Jika nilai tombol samadengan “X” atau “x” maka nilai variabel yA1 bertambah 1,  jika
     hasil akhir nilai yA1 lebih dari makY maka nilai yA 1adalah makY.
                  if ("X".equalsIgnoreCase(tombol))
                  {
                                    yA1 = xA1  + 1;
                                    if ( yA1 >makY ) yA1 = makY;
                  }

12. Merubah nilai variabel Array yang bernilai “ A “menjadi “ . “ yaitu xy[yA0][xA0] dan  merubah nilai variabel Array yang bernilai “ . “menjadi “ A “ yaitu xy[yA1][xA1].
xy[yA0][xA0]=" . ";
               xy[yA1][xA1]=" A ";

12. Merubah nilai variabel makX dan makY saat menekan ( 1 sd 5)
if ("1".equals(tombol)) { makX=3; makY=3; }
                  if ("2".equals(tombol)) { makX=4; makY=4; }
                  if ("3".equals(tombol)) { makX=5; makY=5; }
                  if ("4".equals(tombol)) { makX=6; makY=6; }
                  if ("5".equals(tombol)) { makX=7; makY=7; }


Tampilan  Program:





-->
Demikian program Amove.java semoga bermanfaat.