Game Catur secara Konseptual
Catur adalah permainan yang
dimainkan antara dua pemain . Permainan
ini dimainkan pada papan catur ,
yang merupakan papan kotak-kotak persegi dengan 64 kuadrat diatur dalam
sebuah-oleh-delapan grid delapan. Pada awalnya, tiap pemain kontrol enam
belaspotongan :
satu raja ,
satu ratu ,
dua rooks ,
dua kesatria ,
dua uskup ,
dan delapan pion . Tujuan
permainan ini adalah untuk sekakmat lawan raja, dimana raja adalah
serangan langsung (di ” cek “)
dan tidak ada cara untuk menghapus atau mempertahankannya dari serangan pada
langkah berikutnya.
Bentuk
permainan saat ini muncul di Eropa pada
paruh kedua abad ke-15 setelah berevolusi dari game yang lebih tua (Shatranj )
dariIndia asal. Aspek seni dapat
ditemukan dalam komposisi catur . Teoretikus
telah mengembangkan luascatur strategi dan taktikpermainan sejak awal
itu. Salah satu tujuan awal para ilmuwan komputer adalah untuk menciptakan mesin-bermain catur . Catur
sekarang sangat dipengaruhi oleh kemampuan dari program catur dan kesempatan
untuk bermain online. Pada tahun 1997 Deep Blue menjadi komputer pertama yang
mengalahkan seorang memerintah Juara Dunia dalam pertandingan ketika
mengalahkan Garry Kasparov.
Tradisi
catur kompetitif terorganisir dimulai pada abad ke-16. Resmi pertama Juara Catur Dunia , Wilhelm Steinitz ,
mengklaim gelar pada tahun 1886; Juara Dunia saat ini adalah Viswanathan Anand . Catur
adalah olahraga yang diakuidari Komite Olimpiade Internasional ,
dan dipimpin oleh FIDE . Hari
ini, catur merupakan salah satu dunia yang paling populer games, dimainkan oleh
jutaan orang di seluruh dunia di rumah, di klub ,
online, melalui korespondensi ,
dan diturnamen .
Untuk membuat game ini dapat menggunakan program strowberry prolog, java dsb
Kali ini saya akan menjelaskan menggunakan java.
Kali ini saya akan menjelaskan menggunakan java.
Pertama-tama buat dahulu class utama sebagai inti dari program yang dapat menghasilkan execute yaitu class Chess.java, kemudian simpan class itu dalam folder /src/ChessGame
/* coding program pemanggilnya*/
package ChessGame;
import MainFrame.ChessFrame.MainFrame;
public class Chess {
public static void main(String[] args) {
MainFrame F=new MainFrame() ;
}
}
Dibawah ini adalah listing dari langkah-langkah catur :
1 .Untuk langkah castle (benteng) adalah berjalan lurus dengan alur horizontal atau vertikal.
/*listing langkah castle (benteng)*/
public boolean PieceInMYway(int x, int y,Point othersPostion) {
int j=y;
int i=x;
if(((y==Y)&&(x>(X)||(x<(X))))) {
if((X
while( (i!=X+1)) {
i--;
if(((othersPostion.y)==j)&&((othersPostion.x==i)))//there Same Color piece
{
return true;
}
}
else if((X>i)) {
while( (i!=X-1)) {
i++;
if(((othersPostion.y)==j)&&((othersPostion.x==i))) {
return true;
}
}
}
} else if((((y>Y)||(y
if((Y
while((j!=Y+1)) {
j--;
if(((othersPostion.y)==j)&&((othersPostion.x==i))) {
return true;
}
}
} else if((Y>j)) {
while((j!=Y-1)) {
j++;
if(((othersPostion.y)==j)&&((othersPostion.x==i))) {
return true;
}
}
}
}
return false;
}
2. Untuk langkah Elephant (Sluncur) adalah berjalan lurus diagonal ke kanan & kekiri.
/* langkah-langkah (elephant) sluncur */
public boolean checkKing(int x, int y,Point othersPostion)
{
int j=y;
int i=x;
if((x-y)==(X-Y))
{
if(x>X&&y>Y)
{
while((j!=Y )&&(i!=X ))
{
j--;i--;
if(((othersPostion.y)==j)&&((othersPostion.x==i)))
{
return true;
}
}
}
else if(x
while((j!=Y )&&(i!=X ))
{
j++;i++;
if(((othersPostion.y)==j)&&((othersPostion.x==i)))
{
return true;
}
}
}
else if(((x+y))==((X+Y)))
{
if((Xj))
{
while(((j!=Y ))&&((i!=X )))
{
j++;i--;
if(((othersPostion.y)==j)&&((othersPostion.x==i)))
{
return true;
}
}
}
else if((X>i)&&(Y
{
while((j!=X )&&(i!=X ))
{
j--;i++;
if(((othersPostion.y)==j)&&((othersPostion.x==i)))
{
return true;
}
}
}
}
return false;
}
3. Untuk langkah Horse (Kuda) adalah berjalan membentuk huruf “L”.
/* listting langkah horse (kuda)*/
public boolean Canmove(int x, int y) {
if((x+1==X)&&(y+2==Y)||(x+1==X)&&(y-2==Y)||(x-1==X)&&(y+2==Y)||(x-1==X)&&(y-2==Y)||(x+2==X)&&(y+1==Y)||(x+2==X)&&(y-1==Y)||(x-2==X)&&(y+1==Y)||(x-2==X)&&(y-1==Y))
{
return true;
} else {
return false;}
}
4. Untuk langkah Queen (Patih) adalah berjalan bebas ke berbagai arah.
/* listing langkah queen (patih)*/
public boolean PieceInMYway(int x, int y,Point othersPostion)
{
int j=y;
int i=x;
if(((y==Y)&&(x>(X)||(x<(X)))))
{
if((X
while( (i!=X+1))
{
i--;
if(((othersPostion.y)==j)&&((othersPostion.x==i)))//there Same Color piece
{
return true;
}
}
else if((X>i))
{
while( (i!=X-1))
{
i++;
if(((othersPostion.y)==j)&&((othersPostion.x==i)))
{
return true;
}
}
}
}
else if((((y>Y)||(y
{
if((Y
{
while((j!=Y+1))
{
j--;
if(((othersPostion.y)==j)&&((othersPostion.x==i)))
{
return true;
}
}
}
else if((Y>j))
{
while((j!=Y-1))
{
j++;
if(((othersPostion.y)==j)&&((othersPostion.x==i)))
{
return true;
}
}
}
}
else if((x-y)==(X-Y))
{
if(x>X&&y>Y)
{
while((j!=Y+1)&&(i!=X+1))
{
j--;i--;
if(((othersPostion.y)==j)&&((othersPostion.x==i)))
{
return true;
}
}
}
else if(x
while((j!=Y-1)&&(i!=X-1))
{
j++;i++;
if(((othersPostion.y)==j)&&((othersPostion.x==i)))
{
return true;
}
}
}
else if((x+y)==(X+Y))
{
if((Xj))
{
while((j!=Y-1)&&(i!=X+1))
{
j++;i--;
if(((othersPostion.y)==j)&&((othersPostion.x==i)))
{
return true;
}
}
}
else if((X>i)&&(Y
{
while((j!=Y+1)&&(i!=X-1))
{
j--;i++;
if(((othersPostion.y)==j)&&((othersPostion.x==i)))
{
return true;
}
}
}
}
return false;
}
5. Untuk langkah King (Raja) adalah berjalan bebas ke berbagai arah dengan langkah 1 kotak.
/* listing langkah king (raja)*/
public boolean Canmove(int x, int y)
{
if(((y==Y)&&(x==(X-1)))||((y==Y-1)&&(x==(X+1)))
||((y==Y-1)&&(x==(X-1)))||((y==Y+1)&&(x==(X+1)))
||(((y==Y+1)&&x==(X-1)))||((y==Y)&&(x==(X+1)))
||((y==Y-1)&&x==((X)))||((y==Y+1)&&(x==(X))))
{
return true;
}
return false;
}
6. Untuk langkah Piece (Pion) adalah berjalan vertikal 2 kotak atau 1 kotak.
/* listing langkah piece (pion)*/
public boolean PieceInMYway(int x, int y,Point othersPostion ,String typeColor ) {
if(Y-y==2||Y-y==-2) {
if((typeColor.equals("black"))) {
if((((y-1==othersPostion.y)&&(x==(othersPostion.x))))&&!movedbefore) {
return true;
} else return false;
}
else if (typeColor.equals("white")) {
if(((y+1==othersPostion.y)&&(x==(othersPostion.x)) &&!movedbefore)) {
return true;
} else
return false;
}
}
return false;
}
Demikianlah Cara membuat Catur sederhana .
Daftar Pustaka :
http://kaidarbilly.blogspot.com/2014/06/t2-rancangan-pembuatan-game.html
http://tobay.wordpress.com/2010/05/30/membuat-permainan-catur-dengan-java/
http://oinkseterez.wordpress.com/2010/06/01/permainan-catur/