Permainan mengurutkan angka dengan variabel Array Java

https://wahcilik.blogspot.com/2019/05/permainan-mengurutkan-angka-dengan.html

Pada posting kali ini akan membuat program java dengan menggunakan variabel Array 2 Dimensi yaitu membuat permainan mengurutkan angka dengan variabel Array Java.
Untuk dapat mencoba program java ini, komputer di Install JDK yang bisa di download pada website Oracle, selanjut diatur claspath. Jika anda pakai windows buat folder C:\java untuk menyimpan program java. Pakai progam notepad / notepad+ untuk penulisan coding java. Coding java tinggal salin ke notepad+ dan disimpan dengan nama AmoveArray2.java di folde C:\java.
Langkah berikutnya buka command windows / CMD, masuk ke folder C:\java, lakukan perintan compile file AmoveArray.java dengan perintah :

C:\java\>javac AmoveArray.java

jika tidak ada komentar kesalahan berarti compile berhasil, jika muncul komentar kesalahan harus diperbaiki kesalahannya. Perintah compile akan membuat file class dengan nama AmoveArray.class.
file class dapat dijalankan dengan perintah java file_class, contohnya :

C:\java\>java AmoveArray

maka akan muncul tampilan program javanya

https://wahcilik.blogspot.com/2019/05/permainan-mengurutkan-angka-dengan.html

https://wahcilik.blogspot.com/2019/05/permainan-mengurutkan-angka-dengan.html

Tampilan pertama "#####" terus angka "8", "7", sampai dengan "1", jika kita menekan tombol D atau d maka ##### akan berpindah ke kanan, dan angka sebelah kanan "8" akan peindah ke tempat "#####".

https://wahcilik.blogspot.com/2019/05/permainan-mengurutkan-angka-dengan.html

Tombol X atau x akan memindahkan "#####" ke bawah.

https://wahcilik.blogspot.com/2019/05/permainan-mengurutkan-angka-dengan.html
Tombol A atau a memindahkan "#####" ke kiri.

https://wahcilik.blogspot.com/2019/05/permainan-mengurutkan-angka-dengan.html
Tombol w atau W akan memindahan "#####" ke atas.

Lakukan terus sampai permainan ini menang jika sudah urut dari "1" sampai "8".

1    2     3

4    5     6

7     8  #####


Coding lengkapnya :

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

public class AmoveArray2 {
public static void main( String[] args )
{       
// Variabel Array xy 2 dimensi 3 x 3 
String xy[][] = new String[3][3];
// Variabel untuk posisi variabel array xy[y][x] dimulai 
// xy[0][0]
int x=0;
int y=0;

// Varibel xy[yA0][xA0] nilainya akan dipindahkan ke 
// xy[yA1][xA1] dan nilai xy[yA1][xA1] akan dipindahkan ke 
// xy[yA0][xA0]
int xA0=0;
int yA0=0;
int xA1=0;
int yA1=0;

// Variabel untuk panjang Array
int makX=2;
int makY=2;
// xySem variabel swiching
String xySem = "";

// variabel nilai yang awal yang dimasukan ke variabel Array
int a=8;

// Pengulangan untuk memberi nilai pada variabel array xy
for (y = 0 ; y <= makY  ; y++) 
{
for (x = 0; x <= makX ; x++)
{
if (x==xA1 && y==yA1) 
{
xy[y][x]="#####";
} else {
xy[y][x]="  "+Integer.toString(a)+"  ";;
a=a-1;
}
}
}

// variabel tombol
String tombol="";

// Pengulangan sampai menekan tombol E atau e
while ( (!"E".equalsIgnoreCase(tombol)) )
{    
// Pengulangan mencetak variabel Array
System.out.println("");
for (y = 0 ; y <= makY  ; y++) 
{
for (x = 0; x <= makX ; x++)
{
System.out.print(xy[y][x]);
}
System.out.println("");
System.out.println("");
}
// Memasukan variabel tombol
BufferedReader dataIn = new BufferedReader(new 
InputStreamReader( System.in) );   
System.out.print("Tekan (A(kiri), D(kanan), W(atas), X(bawah), E(Keluar) :");
try{
tombol = dataIn.readLine();
   } catch( IOException e )
   {
System.out.println("Error!");
}
            
// Menyinpan nilai variabel xA1 dan yA1 pada variabel xA0 dan yA0
xA0=xA1;
yA0=yA1;
// Jika tombol di tekan huruf A atau a
if ("A".equalsIgnoreCase(tombol)) 
{
// Nilai xA1 dikurang 1
xA1 = xA1 - 1;
// Jika xA1 < 0 maka xA1 diberi nilai 0
if ( xA1 < 0 ) xA1 = 0;
}

// Jika tombol di tekan huruf D atau d
if ("D".equalsIgnoreCase(tombol))
{
// Nilai xA1 ditambah 1
xA1 = xA1 + 1;

// Jika xA1 > makX maka xA1 diberi nilai makX (panjang array)
if ( xA1 > makX) xA1 = makX;
}

// Jika tombol di tekan huruf W atau w
if ("W".equalsIgnoreCase(tombol))
{
// Nilai yA1 dikurang 1
yA1 = yA1 - 1;

// Jika yA1 < 0 maka yA1 diberi nilai 0
if (yA1 < 0 ) yA1 = 0;
}

// Jika tombol di tekan huruf X atau x
if ("X".equalsIgnoreCase(tombol))
{
// Nilai yA1 ditambah 1
yA1 = yA1 + 1;

// Jika yA1 > makY maka yA1 diberi nilai maky (panjang array)
if (yA1 > makY ) yA1 = makY;
}

// Menyimpan nilai variabel xy[yA0[xA0] pada varibel xySem
xySem = xy[yA0[xA0];
// Mengganti nilai varibel xy[yA0][xA0] dengan nilai varibel xy[yA1][xA1]
xy[yA0][xA0]= xy[yA1][xA1];

// Mengganti nilai varibel xy[yA1][xA1] dengan nilai variabel xy[yA0][xA0] 
// sebelum diganti nilainya yaitu tersimpan pada variabel xySem
xy[yA1][xA1]= xySem;
}
}
}