06B3
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.



 
Trang ChínhPortalLatest imagesTìm kiếmĐăng kýĐăng Nhập

 

 game trong Java

Go down 
Tác giảThông điệp
NhocYD
Thành Viên Vàng
Thành Viên Vàng
NhocYD


Tổng số bài gửi : 240
Điểm : 1
Thanks : 0
Join date : 09/09/2008
Age : 36
Đến từ : Biển

game trong Java Empty
Bài gửiTiêu đề: game trong Java   game trong Java I_icon_minitimeTue Sep 23, 2008 1:16 am

Helo pà con!
Tui vừa kiếm được code 1 game caro trên mạng nè. có ai quan tâm đến cái này ko í nhỉ??
=====================================
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.Math;

public class CaroAuto extends JFrame
{
private Boolean[] o=new Boolean[15*15];
private Boolean[] x=new Boolean[15*15];
private MyButton[] bt=new MyButton[15*15];
private JOptionPane jop=new JOptionPane();
private Boolean[] b=new Boolean[15*15];
private int sodiem=-1;
private int max=0;
private Diem[] vt=new Diem[50];
public CaroAuto()
{
super("Tro choi co Caro");
setSize(700,700);
setLayout(new GridLayout(15,15));
setDefaultCloseOperation(EXIT_ON_CLOSE);
for (int i=0;i<15*15;i++)
{
o[i]=false;
x[i]=false;
b[i]=false;
}
BuiGui();
setVisible(true);
}
public void BuiGui()
{
int i;
for ( i=0;i<15*15;i++)
{
bt[i]=new MyButton(i);
add(bt[i]);
bt[i].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{

MyButton tg=(MyButton)ae.getSource();
if ( (o[tg.pos]==false) & (x[tg.pos]==false) )
{
b[tg.pos]=false;
if ( (tg.pos-1>=0))
if ((o[tg.pos-1]==false) & (x[tg.pos-1]==false) ) b[tg.pos-1]=true;
if ( (tg.pos+1<15*15))
if ((o[tg.pos+1]==false) & (x[tg.pos+1]==false) ) b[tg.pos+1]=true;
if ( (tg.pos-15>=0))
if ((o[tg.pos-15]==false) & (x[tg.pos-15]==false) ) b[tg.pos-15]=true;
if ( (tg.pos+15<15*15))
if ((o[tg.pos+15]==false) & (x[tg.pos+15]==false) ) b[tg.pos+15]=true;
if ( (tg.pos-14>=0))
if ((o[tg.pos-14]==false) & (x[tg.pos-14]==false) ) b[tg.pos-14]=true;
if ( (tg.pos+14<15*15))
if ((o[tg.pos+14]==false) & (x[tg.pos+14]==false) ) b[tg.pos+14]=true;
if ( (tg.pos-16>=0))
if ((o[tg.pos-16]==false) & (x[tg.pos-16]==false) ) b[tg.pos-16]=true;
if ( (tg.pos+16<15*15))
if ((o[tg.pos+16]==false) & (x[tg.pos+16]==false) ) b[tg.pos+16]=true;
tg.setIcon(new ImageIcon("icono.gif"));
o[tg.pos]=true;
if (win(o,tg.pos))
{
jop.showMessageDialog(null,"quan O da~ chien thang !!");
setVisible(false);
new CaroAuto();
}
tim(b);
}
}
});
}
}
public static void main(String[] args)
{
new CaroAuto();
}
private class MyButton extends JButton
{
private int pos;
public MyButton(int j)
{
pos=j;
setText("");
}
}
private class Diem
{
private int dodai;
private int toado;
private boolean loai;
}
public void tim(Boolean[] b)
{
int i;
max=0;
int chon;
Diem tg;
sodiem=0;
Boolean tancong=false;
for (i=0;i<15*15;i++)
{
if (b[i])
{
tg=xet(i);
if (((int)tg.dodai)==max)
{
if ((tancong) & (tg.loai==false))
{
sodiem++;
vt[sodiem]=tg;

}
if (tancong==false)
{
sodiem++;
vt[sodiem]=tg;
}
if (tg.loai==false)
tancong=true;
}
if (tg.dodai>max)
{
max=tg.dodai;
sodiem=0;
vt[sodiem]=tg;
if (tg.loai==false) tancong=true;
}
}
}
chon=(int)Math.round(Math.random()*10*sodiem)%(sod iem+1);
{
bt[vt[chon].toado].setIcon(new ImageIcon("iconx.gif"));
x[vt[chon].toado]=true;
b[vt[chon].toado]=false;
if ( (vt[chon].toado-1>=0))
if ((o[vt[chon].toado-1]==false) & (x[vt[chon].toado-1]==false) ) b[vt[chon].toado-1]=true;
if ( (vt[chon].toado+1<15*15))
if ((o[vt[chon].toado+1]==false) & (x[vt[chon].toado+1]==false) ) b[vt[chon].toado+1]=true;
if ( (vt[chon].toado-15>=0))
if ((o[vt[chon].toado-15]==false) & (x[vt[chon].toado-15]==false) ) b[vt[chon].toado-15]=true;
if ( (vt[chon].toado+15<15*15))
if ((o[vt[chon].toado+15]==false) & (x[vt[chon].toado+15]==false) ) b[vt[chon].toado+15]=true;
if ( (vt[chon].toado-14>=0))
if ((o[vt[chon].toado-14]==false) & (x[vt[chon].toado-14]==false) ) b[vt[chon].toado-14]=true;
if ( (vt[chon].toado+14<15*15))
if ((o[vt[chon].toado+14]==false) & (x[vt[chon].toado+14]==false) ) b[vt[chon].toado+14]=true;
if ( (vt[chon].toado-16>=0))
if ((o[vt[chon].toado-16]==false) & (x[vt[chon].toado-16]==false) ) b[vt[chon].toado-16]=true;
if ( (vt[chon].toado+16<15*15))
if ((o[vt[chon].toado+16]==false) & (x[vt[chon].toado+16]==false) ) b[vt[chon].toado+16]=true;
if (win(x,vt[chon].toado))
{
jop.showMessageDialog(null,"quan X da~ chien thang !!");
setVisible(false);
new CaroAuto();
}
}
}
public Diem xet(int k)
{
Diem tg=new Diem();
int dodai=0;
int d,dem=1;
int vovan=0;
d=1;
int i=k+d;
if (i<15*15)
{
while ((o[i])&(i%15>=k%15))
{
dem++;
i=i+d;
if (i>=15*15) { vovan++; break; }
if ((x[i])&(i%15>=k%15))
vovan++;
}
}
i=k-d;
if (i>=0)
{
while ((o[i])&(i%15
{
dem++;
i=i-d;
if (i<0) { vovan++; break; }
if ((x[i])&(i%15
vovan++;
}
}
if (dem<5) dem=dem-vovan;
if (dem>=dodai)
{
dodai=dem;
tg.dodai=dem;
tg.toado=k;
}
vovan=0;
dem=1;
d=15;
i=k+d;
if (i<15*15)
{
while ((o[i])&(i/15>=k/15))
{
dem++;
i=i+d;
if (i>=15*15) { vovan++; break; }
if ((x[i])&(i/15>=k/15))
vovan++;
}
}
i=k-d;
if (i>=0)
{
while ((o[i])&(i/15
{
dem++;
i=i-d;
if (i<0) { vovan++; break; }
if ((x[i])&(i/15
vovan++;
}
}
if (dem<5) dem=dem-vovan;
if (dem>=dodai)
{
dodai=dem;
tg.dodai=dem;
tg.toado=k;
}
vovan=0;
dem=1;
d=16;
i=k+d;
if (i<15*15)
{
while ((o[i])&(i%15>=k%15))
{
dem++;
i=i+d;
if (i>=15*15) { vovan++; break; }
if ((x[i])&(i%15>=k%15))
vovan++;
}
}
i=k-d;
if (i>=0)
{
while ((o[i])&(i%15
{
dem++;
i=i-d;
if (i<0) { vovan++; break; }
if ((x[i])&(i%15
vovan++;
}
}
if (dem<5) dem=dem-vovan;
if (dem>=dodai)
{
dodai=dem;
tg.dodai=dem;
tg.toado=k;
}
vovan=0;
dem=1;
d=14;
i=k+d;
if (i<15*15)
{
while ((o[i])&(i%15<=k%15))
{
dem++;
i=i+d;
if (i>=15*15) { vovan++; break; }
if ((x[i])&(i%15<=k%15))
vovan++;
}
}
i=k-d;
if (i>=0)
{
while ((o[i])&(i%15>k%15))
{
dem++;
i=i-d;
if (i<0) { vovan++; break; }
if ((x[i])&(i%15>k%15))
vovan++;
}
}
if (dem<5) dem=dem-vovan;
if (dem>=dodai)
{
dodai=dem;
tg.dodai=dem;
tg.toado=k;
}
tg.loai=true;
vovan=0;
dem=1;
d=1;
i=k+d;
if (i<15*15)
{
while ((x[i])&(i%15>=k%15))
{
dem++;
i=i+d;
if (i>=15*15) { vovan++; break; }
if ((o[i])&(i%15>=k%15))
vovan++;
}
}
i=k-d;
if (i>=0)
{
while ((x[i])&(i%15
{
dem++;
i=i-d;
if (i<0) { vovan++; break; }
if ((o[i])&(i%15
vovan++;
}
}
if (dem<5) dem=dem-vovan;
if (dem>=dodai)
{
dodai=dem;
tg.dodai=dem;
tg.toado=k;
tg.loai=false;
}
vovan=0;
dem=1;
d=15;
i=k+d;
if (i<15*15)
{
while ((x[i])&(i/15>=k/15))
{
dem++;
i=i+d;
if (i>=15*15) { vovan++; break; }
if ((o[i])&(i/15>=k/15))
vovan++;
}
}
i=k-d;
if (i>=0)
{
while ((x[i])&(i/15
{
dem++;
i=i-d;
if (i<0) { vovan++; break; }
if ((o[i])&(i/15
vovan++;
}
}
if (dem<5) dem=dem-vovan;
if (dem>=dodai)
{
dodai=dem;
tg.dodai=dem;
tg.toado=k;
tg.loai=false;
}
vovan=0;
dem=1;
d=16;
i=k+d;
if (i<15*15)
{
while ((x[i])&(i%15>=k%15))
{
dem++;
i=i+d;
if (i>=15*15) { vovan++; break; }
if ((o[i])&(i%15>=k%15))
vovan++;
}
}
i=k-d;
if (i>=0)
{
while ((x[i])&(i%15
{
dem++;
i=i-d;
if (i<0) { vovan++; break; }
if ((o[i])&(i%15
vovan++;
}
}
if (dem<5) dem=dem-vovan;
if (dem>=dodai)
{
dodai=dem;
tg.dodai=dem;
tg.toado=k;
tg.loai=false;
}
vovan=0;
dem=1;
d=14;
i=k+d;
if (i<15*15)
{
while ((x[i])&(i%15<=k%15))
{
dem++;
i=i+d;
if (i>=15*15) { vovan++; break; }
if ((o[i])&(i%15<=k%15))
vovan++;
}
}
i=k-d;
if (i>=0)
{
while ((x[i])&(i%15>k%15))
{
dem++;
i=i-d;
if (i<0) { vovan++; break; }
if ((o[i])&(i%15>k%15))
vovan++;
}
}
if (dem<5) dem=dem-vovan;
if (dem>=dodai)
{
dodai=dem;
tg.dodai=dem;
tg.toado=k;
tg.loai=false;
}
return(tg);
}
public Boolean win(Boolean[] a,int k)
{
int d,dem=0;
d=1;
int i=k;
while ((a[i])&(i%15>=k%15))
{
dem++;
i=i+d;
if (i>=15*15) { break; }
}
i=k-d;
if (i>=0)
{
while ((a[i])&(i%15
{
dem++;
i=i-d;
if (i<0) { break; }
}
}
if (dem==5) return(true);

dem=0;
d=15;
i=k;
while ((a[i])&(i/15>=k/15))
{
dem++;
i=i+d;
if (i>=15*15) { break; }
}

i=k-d;
if (i>=0)
{
while ((a[i])&(i/15
{
dem++;
i=i-d;
if (i<0) { break; }
}
}
if (dem==5) return(true);

dem=0;
d=16;
i=k;
while ((a[i])&(i%15>=k%15))
{
dem++;
i=i+d;
if (i>=15*15) { break; }
}
i=k-d;
if (i>=0)
{
while ((a[i])&(i%15
{
dem++;
i=i-d;
if (i<0) { break; }
}
}
if (dem==5) return(true);

dem=0;
d=14;
i=k;
while ((a[i])&(i%15<=k%15))
{
dem++;
i=i+d;
if (i>=15*15) break;
}
i=k-d;
if (i>=0)
{
while ((a[i])&(i%15>k%15))
{
dem++;
i=i-d;
if (i<0) break;
}
}
if (dem==5) return(true);

return(false);
}
}
Về Đầu Trang Go down
http://manutdvn.net/
 
game trong Java
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Giáo trình Java _ CD nha
» Mã lệnh trong AOE này anh em!
» Các Lệnh Cơ Bản Trong DOS
» Lời giải đề 1,2,3,4 ASM trong bộ đề
» Update Tin trong lớp ^^

Permissions in this forum:Bạn không có quyền trả lời bài viết
06B3 :: THẾ GIỚI IT :: Thủ thuật-
Chuyển đến