⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memorypokergame.java

📁 利用Java寫的記憶訓練遊戲(Applet型式)
💻 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 + -