用java编写斗兽棋

本文介绍了如何使用Java编程语言编写斗兽棋小游戏,首先简单介绍了斗兽棋的规则,然后阐述了编程的初步步骤,包括导入必要的类库,并解释了MyIcon和getPath()的用途,为后续的游戏规则和走法实现奠定基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hello 大家好!我们今天来尝试用java来编写一个斗兽棋的小游戏

可能有些人对斗兽棋比较陌生,这里简单的介绍一下。
https://baike.baidu.com/item/斗兽棋/896091?fr=aladdin

斗兽棋从写法上就比五子棋要复杂的多了
开始编程

第一步还是一样,import所需要的类库

import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
`




斗兽棋还是继承JPanel父类
public class 斗兽棋 extends JPanel{

定义一些变量
private static final long serialVersionUID=1l;
 private final int rows=7;
 private final int cols=9;
 private final int BLOCKWIDTH=50,BLOCKHEIGHT=50;

//这个说明一下,这是一个列表,给每一个动物赋值,后面用来判断吃子
 private static HashMap<String,Integer> power; 
 
 private int clickcount;

//这个表示你要走的棋子
 private MyIcon movingpiece;
 
//这个表示该哪一方走棋
private static String sidetomove;

//这里用的不是普通的JLabel,而是他的一个子类MyLabel
 private static MyLabel[][] labels;
( 呈上MyLabel class 
 import javax.swing.JLabel;
 
 public class MyLabel extends JLabel{
 private static final long serialVersionUID = 1L;
 //这里给MyLabel赋予两个参数,一个行数,一个列数。
 protected int row;
 protected int col;
    public MyLabel(String a,int b) {
     super(a,b);
    }
})

//表示大本营是否被占据
private boolean campoccupied;
 
//表示movingpiece所在的label
 private MyLabel movinglabel;

还有一个变量,因为要知道设计斗兽棋的棋盘是需要外部的一些图片的,所以我们需要知道所有图片的地址,以便于需要的时候可以随时引用。
至于图片,大家可以自己从网上下,也可以引用我的。我会把图片单独传上来。

//这里就是一个装有所有图片地址的array
private static String[] paths= {"C:/Users/Lenovo/eclipse-workspace/xiaoyouxi/src/斗兽棋/dsq_副本.png",
   "
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值