自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

trancybao的博客

菜鸟程序员的漫漫进阶路

  • 博客(10)
  • 资源 (7)
  • 收藏
  • 关注

原创 JAVA小游戏----坦克大战(swing贴图版)(七)

到了这里开始处理墙的问题了,一、画墙墙由一块块的砖组成,因此先定义一个wallpublic class Wall { /* * 墙由一块一块的砖组成,将整个面板分为26*26个格子,每个格子10*10大小,得出界面大小 */ int x; int y; int width = 10; int height = 10; boolean is_Dead; wallKind kin...

2018-07-12 11:12:24 1626 8

原创 JAVA小游戏----坦克大战(swing贴图版)(六)

这里我们处理一下坦克的击中效果,光击中坦克然后坦克消失总觉得缺了点意思,于是想到加个爆炸效果,实现方式也不复杂爆炸是一个过程,我们可以创建一个爆炸类,每次”播放“不同的照片,照片数量足够时,就能形成爆炸效果Boom类:public class Boom { // 位置 int x; int y; // 大小 int width = 20; int height = 20; // 爆炸...

2018-07-11 17:06:55 853 1

原创 JAVA小游戏----坦克大战(swing贴图版)(五)

一、多个坦克一个坦克打起来不过瘾,因此要一群坦克,ArrayList走起,控制一下其数目,就相当于一个无尽模式了ArrayList<EnemyTank> etanks = new ArrayList<>(); @Override public void run() { while (true) { //控制生成六只坦克 if(etanks.size()&l...

2018-07-11 11:42:19 715 4

原创 JAVA小游戏----坦克大战(swing贴图版)(四)

实现我方坦克的操作后,就要定义一个敌人了,敌人也是坦克,于是定义一个继承Tank类的EnemyTank类public class EnemyTank extends Tank { public EnemyTank(int local_x, int local_y, boolean is_enemy) { super(local_x, local_y, is_enemy); // TOD...

2018-07-10 23:16:29 1510

原创 JAVA小游戏----坦克大战(swing贴图版)(三)

坦克能移动了,接下来就是发射子弹了。于是我们需要一个子弹类public class Bullet { // 位置 int local_x; int local_y; // 大小 int width = 3; int height = 3; // 方向 Direction dir; // 存活 boolean is_Dead; // 敌我 boolean is_enemy;...

2018-07-10 17:47:49 952

原创 JAVA小游戏----坦克大战(swing贴图版)(二)

一、控制我方坦克移动1.在MyTank中定义一个内部类keyContral实现键盘控制MyTankpublic class KeyContral extends KeyAdapter {//按下方向改变 @Override public void keyPressed(KeyEvent e) { super.keyPressed(e); int key = e.getKeyC...

2018-07-10 14:58:28 873 1

原创 JAVA小游戏----坦克大战(swing贴图版)(一)

一、创建JFrame窗口public class TankFrame extends JFrame{ /** * */ private static final long serialVersionUID = 1L; public static int Frame_Width = 500; public static int Frame_Height = 500; ...

2018-07-10 13:26:03 2415 2

原创 getImage getResource的位置

在使用Toolkit.getDefaultToolkit().getImage("a.gif");以及URL Url = Tank.class.getResource("a.gif");       tankIma = Toolkit.getDefaultToolkit().getImage(Url);获取图片时,对图片资源的位置困惑了很久,终于得到了答案getImage:         "a....

2018-07-10 11:04:50 975

转载 关于Icon,Image,ImageIcon的简单的对比参考

Icon:Icon位于javax.swing包中,它是一个接口 public interface Icon,介绍为:一个小的固定大小的图片,通常用于装饰组件有三个方法:int getIconHeight();int getIconWidth();void paintIcon(Component c,Graphics g,int x,int y);Icon木有用过,提到它是因为ImageIcon实现...

2018-07-04 15:23:31 1355

原创 Icon Image ImageIcon的区别

Icon是接口,有以下方法int getIconHeight();int getIconWidth();void paintIcon(Component c, Graphics g, int x, int y);ImageIcon实现Icon,从图像绘制图标的实现。 使用MediaTracker预先从URL,文件名或字节数组中获取创建的图像,实现图像的加载。下面是几种常见构造方法ImageIc...

2018-07-04 15:05:04 9097 1

坦克大战源码(Swing贴图)

基于JAVA Swing的贴图版坦克大战,模仿红白机,只做了第一关,没有完全做完,读者有时间可自行完善

2020-10-03

中国象棋(人机对战)

文件包含源码和打包后的exe,可直接游玩,也可参考源码学习。本程序使用QT5.13.1在win10下编写,对应版本可直接导入。棋盘采用一维数组,基于博弈树,实现了剪枝优化、置换表、历史启发、迭代深化、宁静搜索等技术,以实现功能为主,界面比较简陋,没有改动的情况下玩家先走,采用迭代深化,中等难度电脑走一步花费10秒钟。

2020-03-11

QT象棋(人机对战)历史启发优化Alpha-Beta剪枝

象棋界面是通过网络课程资源学习制作的,使用QT5.13.1编写,使用对应版本导入pro文件就能运行,利用搜索树Alpha-Beta剪枝实现了人机对弈,并且使用了历史启发进行优化,搜索层数设为五层,每步一般不超过半分钟,本人水平有限,若有不妥之处,还请指正。(由于积分系统自主调整,若本资源积分过高,请下载我另一个版本的象棋,优化更好,功能更完整https://download.csdn.net/download/trancybao/12241653)

2019-12-23

人机对战五子棋(有禁手)

利用Java的Swing写的界面,通过博弈树实现人机对战,Alpha-Beta剪枝优化了速度,这里搜索深度设为6,下棋速度还可以接受,考虑了三三、四四、长连禁手。项目被打包成了exe,直接双击exe文件即可启动界面,勾选计算机先行则计算机执黑先行,点击重新开始即可开始对战。源码解压AIFive.jar文件即可看到。

2019-11-27

JAVA单机版五子棋

单机版五子棋,利用JAVA的Swing写界面,加入贴图,实现两人黑白棋轮流下子,无禁手,基本实现了所有功能(没有人机功能,需要人机对战的看我另一个版本的五子棋)

2019-11-18

JAVA小游戏----俄罗斯方块

Swing版俄罗斯方块,只实现基本功能,用以熟悉JAVA的基本操作,激发学习兴趣,后续功能读者自行思考添加

2018-06-25

JAVA小游戏-贪吃蛇

Swing版贪吃蛇,实现了基本的功能,主要用来熟悉java的用法,后续功能读者自行思考添加,新手代码拙劣还请见谅

2018-06-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除