java - 如何在java小程序中翻转卡片

标签 java eclipse

我需要一个程序,当我点击卡片时,它会翻转到卡片的背面,当我再次点击它时,它会再次显示卡片的面孔。请帮忙,我有它,当我点击卡片时,它会显示它的背面,但我如何让它再次显示正面?

import java.awt.Button;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Random;

import javax.swing.JApplet;

public class DealCard extends JApplet implements ActionListener, MouseListener {

Random gen = new Random();
Button dealButton = new Button("Deal");
int card1 = 0;
Image[] card = new Image[53];
Image[] back= new Image[1];
int number = 0;

public void init() {

    setSize(200, 200);
    setLayout(null);

    for (int i = 0; i < 53; i++) {
        card[i] = getImage(getCodeBase(), "card" + (i + 1) + ".gif");
    }
    dealButton.setBounds(100, 200, 80, 30);

    add(dealButton);

    dealButton.addActionListener(this);

    dealButton.setEnabled(true);

    addMouseListener(this);
}

public void paint(Graphics g) {
    super.paint(g);
    g.drawImage(card[card1], 100, 100, 82, 82, this);
}

public void actionPerformed(ActionEvent e) {
    if (e.getSource() == dealButton) {
        card1 = gen.nextInt(52);
    }
    repaint();
}

public void mouseClicked(MouseEvent e){
    int x = e.getX();
    int y = e.getY();
    if(x > 100 && x < (100+82) && y > 100 && y < (100+82)){

    card1 = 52;
    System.out.println(card1);
    repaint();
    e.consume();

    }
}
public void mouseEntered(MouseEvent e) {
}

public void mouseExited(MouseEvent e) {
}

public void mousePressed(MouseEvent e) {
}

public void mouseReleased(MouseEvent e) {
}
}

最佳答案

您需要一个 boolean 值来表明卡片是否面朝上。

然后在抽奖语句中添加一个条件,检查卡片是否面朝上。

希望有帮助。

<小时/>

您还应该添加一张背面卡片图像,它不需要是一个数组,因为它只是一个。

Image back= new Image();

或者将 card[0] 作为您的背面卡片图像。

关于java - 如何在java小程序中翻转卡片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20023155/

相关文章:

java - Java内存模型中的重新排序

eclipse - Eclipse 中的 Liferay 开发

eclipse - 可以使用命令行将 CVS 与 Eclipse 结合使用吗?

java - Tomcat - Java 类未包含在我的 jsp 页面中

java - 从命令行为 Eclipse 动态 Web 项目创建 WAR 文件

windows - 使用 NativeActivity 制作 Android NDK 应用程序?

c - 'Table1' 未声明(在此函数中首次使用)

html - 阻止 Eclipse-Kepler 显示 html 页面的实时预览

java - 从 Spring MVC servlet 安排长时间运行的进程的最佳方法

java - 获取在 Jpanel 上绘制的 Path2D 形状的(起始)X 和 Y 坐标