↓↓xuống cuối trang↓↓
Chào mừng bạn đến với wap DinhLoi.XtGem.Com | Chúc bạn có 1 năm mới vui vẻ tốt lành hạnh phúc! Hãy giới thiệu website này cho bạn bè nhé!img
DinhLoi.XtGem.Com =>> CaFe9x.Gq
Bạn đến từ quốc gia:



Hôm nay ngày
16.06.26/19:57
img- Hi. Xin chào! Mozilla/5.0
logo
.
HOMECHÁTTruyệnFORUM
logo

Chatbox|Admin nhận làm wap/web, giá cả thương lượng... Thông tin admin tại mỗi bài viết.
Home · Bang hội ·
* Đăng Nhập hoặc Đăng Kí
để sử dụng hết chức năng của diễn đàn.
Hi, Khách!
HomeBang hội » Thủ thuật » Nokia s40 » » Xem bài viết
Xuống dưới »
avatar by Pham_loi Pham_loi
Chức vụ:
17:26:10, 01-06-2016

trò chơi chó cắn
Cờ chó cắn chắc là cờ đơn giản nhất mà tôi từng chơi khi còn nhỏ và ở bất cứ đâu cũng có thể chơi được. nó còn đơn giản hơn là tic tac toe nữa đấy, và hôm nay tôi sẽ hướng dẫn viết một bàn cờ chó cắn đơn giản. đầu tiên là quân cờ chó cắn, gồm có các thông tin sau:
C:\Users\thanhliem\Documents\NetBeansProjects\Tree\src\tree.java

<?php
public class tree {
    
//vị trí hiện tại của quân cờ và màu của quân cờ
     
int position,color;
     
//hàm khởi tạo nhận giá trị vị trí và màu quân cờ
     
public tree(int pos,int color){
     
this.position=pos;
     
this.color=color;}
 }
?>

Copy code

Còn đây là file banco.java dùng để tiến hành các lệnh vẽ theo game, điều kiện trò chơi, cách chơi….
C:\Users\thanhliem\Documents\NetBeansProjects\Tree\src\banco.java
<?php
import javax
.microedition.lcdui.*;
import java.util.*;

public class 
banco extends Canvas {
    
Midlet m;
    
//biến các điểm tọa độ của bàn cờ
    
int[[ moc;
    
//biến các điểm có thể di chuyển trên bàn cờ
    
booleanfree=new boolean[5;
    
int w,h,dx,dy,k;
    
boolean mot=true,finish=false,win=false;
    
//biến các quân cờ, vị trí của ta là 0, 2 của máy là 1, 3
    
treequan;
    
//biến rd này dùng để chọn ngẫu nhiên nhân vật tự động
    
Random rd=new Random();
    public 
banco(Midlet m){
    
setFullScreenMode(true);
    
w=getWidth(); h=getHeight();
    
//điểm vẽ bàn cờ
    
dx=(w-128)/2;
    
dy=(h-128)/2;
    
//tạo các tọa độ vẽ bàn cờ, 128x128
    
moc=new int[5[2;
    for(
int i=0;i<2;i++){
    for(
int j=0;j<2;j++){
    
moc[i*2+j[0=i*128;
    
moc[i*2+j[1=j*128;}}
    
moc[4[0=64;
    
moc[4[1=64;
    
//tạo các quân cờ ban đầu, của ta là số chẵn 0, 2
    
quan=new tree[4;
    for(
int i=0;i<quan.length;i++){
        
//các điểm đặt quân không còn trống, không thể di chuyển vào
        
free[i=false;
        
//đặt màu cho các quân cờ, quân ta màu xanh lá 0, 2 chia hết cho 2
        
quan[i=new tree(i,i%2==0?0x00f000:0x0000f0);}
    
//điểm còn lại chưa đặt quân cờ trống là ở giữa bàn cờ vị trí 4
    
free[4=true;
    
this.m=m;}
    public 
void paint(Graphics g){
    
g.setColor(0);
    
g.fillRect(0,0,w,h);
    
//vẽ bàn cờ
    
vebanco(g);
    
//vẽ quân cờ
    
vequanco(g);
    
g.setColor(0xf000f0);
    
//nếu kết thúc thì vẽ kết quả
    
if(finish)
    
g.drawString(win?"you win!":"you lose!",w/2,h,Graphics.BOTTOM|Graphics.HCENTER);
    
//vẽ hướng dẫn chơi game
    
g.drawString("nhấn 5 để di chuyển.",w/2,0,Graphics.TOP|Graphics.HCENTER); 
    
g.drawString("nhấn * để thay đổi đối tượng",w/2,0+g.getFont().getHeight(),Graphics.TOP|Graphics.HCENTER);
    
repaint();
    }
    protected 
void keyPressed(int k){
        
//nếu mot==true thì ta điều khiển quân 0, sai ta điều khiển quân 2
        //tìm ra vị trí trống có thể đi tiếp
        
int focus=mot?0:2,move=free();
        
//nếu chưa xong game thì cho di chuyển
        
if(!finish)
            
//nếu như bấm phím 5 thì cho di chuyển
    
if(k==KEY_NUM5||k==-5)
        
//nếu di chuyển được thì cho auto di chuyển
    
if(move(focus,move)){
    
auto();}
    
//nếu không thì chuyển qua quân còn lại di chuyển, nếu được thì auto di chuyển
    
else if(move(focus==0?2:0,move)){
    
auto();
    }
    
//ngược lại thì thua và kết thúc trò chơi
    
else{finish=truewin=false;}
        
//nhấn phím * để thay đổi đối tượng điều khiển
   
if(k==KEY_STAR)mot=!mot;}
    
    
//di chuyển nhân vật tự động
    
void auto(){
        
//tìm ra vị trí còn trống
    
int move=free();
    
//chọn ngẫu nhiên nhân vật tự động giữa 1 và 3
    
int focus=rd.nextInt()%2==0?1:3;
    
//cho di chuyển, nếu 1 không di chuyển thì chuyển qua 3 và ngược lại
    
if(move(focus,move)){}else{
        
//nếu cả 1 và 3 đều không còn di chuyển được nữa thì kết thúc trò chơi, người chơi thắng
        
if(!move(focus==1?3:1,move)){
        
finish=true;
        
win=true;}}}
    
    
//vẽ bàn cờ
   
void vebanco(Graphics g){
   
g.setColor(0xf0f000);
   
//vẽ 2 gạch chéo bàn cờ
   
g.drawLine(dx+moc[0[0,dy+moc[0[1,dx+moc[3[0,dy+moc[3[1);
   
g.drawLine(dx+moc[1[0dy+moc[1[1,dx+moc[2[0dy+moc[2[1);
   
//vẽ khung vuông bàn cờ
   
g.drawRect(dxdy128128);
   
//vẽ nơi dành cho con chó, chữ "chó"
   
g.drawString("chó",dx+64,dy,Graphics.BASELINE|Graphics.HCENTER);
    }
   
   
//vẽ các quân cờ
   
void vequanco(Graphics g){
       
//xác định đối tượng đang chọn, 0 hay là 2
       
int focus=mot?0:2;
   for(
int i=0;i<4;i++){
       
//tìm ra vị trí hiện tại của quân được chọn
       
int pos=quan[i.position;
       
//vẽ con trỏ chọn đối tượng
       
if(i==focus){
       
g.setColor(0xf00000);
       
g.fillArc(dx+moc[pos[0-9dy+moc[pos[1-918180360);}
       
g.setColor(quan[i.color);
   
g.fillArc(dx+moc[pos[0-8dy+moc[pos[1-816160360);
   }
   }
   
   
//kiểm tra xem có thể chuyển từ vị trí này tới vị trí trống được ko
   
boolean cango(int pos,int npos){
   if(
pos==1&&npos==2)return false;
   if(
pos==2&&npos==1)return false;
   if(
pos==0&&npos==3)return false;
   if(
pos==3&&npos==0)return false;
   if(
pos==0&&npos==2)return false;
   if(
pos==2&&npos==0)return false;
   return 
true;}
   
   
//tìm ra vị trí còn trống
   
int free(){
       
//kiểm tra trong mảng free xem có vị trí nào trống thì trả lại
       
for(int i=0;i<5;i++){
   if(
free[i)return i;}
   return 
0;}
   
   
//cho di chuyển và nếu di chuyển được thì trả lại giá trị đúng sai
   
boolean move(int pos,int npos){
       if(
cango(quan[pos.position,npos)){
           
//đặt vị trí đang đứng thành trống
       
free[quan[pos.position=true;
       
//cho chuyển sang vị trí mới
       
quan[pos.position=npos;
       
//đặt vị trí mới không còn trống nữa
       
free[quan[pos.position=false;
       return 
true;}
   return 
false;}
}
?>

Copy code

Và cũng cần có file Midlet.java để ứng dụng có thể hiện thị được. Cái này thì cũng đơn giản và quen quá rồi.
C:\Users\thanhliem\Documents\NetBeansProjects\Tree\src\Midlet.java
<?php
public class Midlet extends MIDlet {

    public 
void startApp() {
        
Display.getDisplay(this).setCurrent(new banco(this));
    }
    
    public 
void pauseApp() {
    }
    
    public 
void destroyApp(boolean unconditional) {
    }
}
?>

Copy code


Source: Tree-99352.zip
Jar: Tree-17566.jar

Like: 0

Trực Tuyến: Khách: 1
Diễn đàn teen Việt Nam
CopyRight 2014
Tag:
Bạn đến từ:
Share: img img img img img

Thanks To:XtGem
Liên kết:U-ON

Pair of Vintage Old School Fru