?? memorypokergame.java
字號:
import java.applet.Applet; // for Applet
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.swing.*; // for ImageIcon
class CardSuit
{
static final public int BACK = 4;
static final public int SPADE = 3;
static final public int HEART = 2;
static final public int DIAMOND = 1;
static final public int CLUB = 0;
static final public int A = 0;
static final public int K = 12;
static final public int Q = 11;
static final public int J = 10;
}
public class MemoryPokerGame extends JApplet {
int appletW=300, appletH=350;
int pokerW=71, pokerH=96;
int sideX=6, sideY=5, backType;
int cards[][][] = new int[sideY][sideX][2];
int px=10, py=20;
int left=0, top=0;
int prevX, prevY;
boolean showAll = false;
Image bgBuffer, img;
Graphics bgGC;
int cardNo=0, guess, right, pickX[], pickY[];
//This method is called when the applet becomes visible
public void init()
{
//img = getImage(getCodeBase(), "poker.png");
//img = new ImageIcon("lena.jpg").getImage();
//img = new ImageIcon("poker.png").getImage();
img = new ImageIcon(JigsawPuzzle.class.getResource("poker.png")).getImage();
//img = new ImageIcon("fruit.jpg").getImage();
appletW = pokerW*sideX;
appletH = pokerH*sideY;
setSize(appletW, appletH);
bgBuffer = createImage(appletW, appletH);
bgGC = bgBuffer.getGraphics();
cardNo = guess = right = 0;
pickX = new int[2];
pickY = new int[2];
addMouseListener(
new MouseAdapter()
{ //public void mouseClicked(MouseEvent e)
//public void mouseReleased(MouseEvent e)
public void mousePressed(MouseEvent e)
{
int button = e.getButton();
if ( button==MouseEvent.BUTTON1 )
{
//System.out.println("Mouse's left button pressed!");
guess++;
px = e.getX();
py = e.getY();
px = px - ( px % pokerW );
py = py - ( py % pokerH );
left = px / pokerW;
top = py / pokerH;
if ( cards[top][left][1]>=1 ) // click a opened card
{
if ( cardNo<2 ) return;
else
{ if ( cards[pickY[0]][pickX[0]][0]!=cards[pickY[1]][pickX[1]][0] ) //right<sideX*sideY )
{ cards[pickY[0]][pickX[0]][1] = 0;
cards[pickY[1]][pickX[1]][1] = 0;
cardNo = 0;
}
}
}
else
{
if ( cardNo==2 )
{ if ( cards[pickY[0]][pickX[0]][0]==cards[pickY[1]][pickX[1]][0] )
{ cards[pickY[0]][pickX[0]][1] = 2;
cards[pickY[1]][pickX[1]][1] = 2;
right += 2;
}
else
{ cards[pickY[0]][pickX[0]][1] = 0;
cards[pickY[1]][pickX[1]][1] = 0;
}
cardNo = 0;
}
pickX[cardNo] = left;
pickY[cardNo] = top;
cardNo++;
if ( right<sideX*sideY-2 )
cards[top][left][1] = 1;
else cards[top][left][1] = 2;
}
}
else if ( button==MouseEvent.BUTTON2 )
{
System.out.println("Mouse's middle button pressed!");
}
else if ( button==MouseEvent.BUTTON3 )
{
//System.out.println("Mouse's right button pressed!");
//showAll = true;
}
repaint(); // 璶―
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -