资源简介
自己动手制作的对对碰完整源码及素材,游戏符合对对碰游戏规则,游戏开始后在规定时间内消去图案可加分,时间条读完游戏结束,具备历史记录的读取及更新功能;
代码片段和文件信息
package 对对碰;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JPanel;
public class GamePanel extends JPanel implements ActionListener MouseListenerKeyListener{
MapUtil mapUtil;
int[][] map;
Image[] pics;
int leftX=100leftY=40;
int nscore=0;
int clickXclickY;
boolean isClick = false;
public static final int EMPTY = -1W = 50;
public GamePanel(int n){
this.n = n;
mapUtil = new MapUtil(n);
mapUtil.initMap();
map = mapUtil.getMap();
pics = new Image[n-1];//一共n-1种图案
setSize(600 600);
this.setVisible(true);
this.setFocusable(true);
getPics();
while(globalSearach(1)){
globalSearach(2);
downAnimal();
updateAnimal();
}
score = 0;
HelpPanel.score.setText(0+““);
repaint();
}
private void getPics() {
for(int i=0;i pics[i] = Toolkit.getDefaultToolkit().getImage(“D://Game//SupperzzleGame//pic“+i+“.png“);
}
}
public void paint(Graphics g){
g.clearRect(0 0 700 600);
for(int i=0;i for(int j=0;j if(map[i][j]!=EMPTY){
g.drawImage(pics[map[i][j]]leftX+W*jleftY+W*iWWthis);
}else{
g.clearRect(leftX+W*jleftY+W*iW W);
}
}
}
}
public void startGame(){
this.requestFocus();
isClick = false;
while(globalSearach(1)){
globalSearach(2);
downAnimal();
updateAnimal();
repaint();
}
score = 0;
}
public void resetMap(){
isClick = false;
map = mapUtil.getResetMap();
repaint();
while(globalSearach(1)){
globalSearach(2);
downAnimal();
updateAnimal();
repaint();
}
}
@Override
public void mousePressed(MouseEvent e) {
int x = e.getX()-leftX;
int y = e.getY()-leftY;
if(x<0||y<0||x>=50*n||y>=50*n){
return ;
}
int tempX = y/W;
int tempY = x/W;
if(isClick){//第二次点击
if((tempX==clickX&&(tempY==clickY+1||tempY==clickY-1))||(tempY==clickY&&(tempX==clickX+1||tempX==clickX-1))){//如果两次点击的图案相邻
//交换
int help = map[tempX][tempY];
map[tempX][tempY] = map[clickX][clickY];
map[clickX][clickY] = help;
repaint();
if(isThreelinked(tempXtempY)||isThreelinked(clickXclickY)){//判断是否存在可消去的方块
// System.out.println(“可以消去“);
if(isThreelinked(tempXtempY)){
removeThreelinked(tempXtempY);
}
if(isThreelinked(clickXclickY)){
removeThreelinked(clickXclickY);
}
downAnimal();
updateAnimal();
repaint();
while(globalSearach(1)){
globalSearach(2);
downAnimal();
updateAnimal();
repaint();
}
}else{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 70 2018-12-17 22:40 使用说明.txt
目录 0 2018-12-17 22:39 对对碰\
文件 301 2018-12-17 10:29 对对碰\.classpath
文件 385 2018-12-17 10:29 对对碰\.project
目录 0 2018-12-17 22:39 对对碰\.settings\
文件 598 2018-12-17 10:29 对对碰\.settings\org.eclipse.jdt.core.prefs
目录 0 2018-12-17 22:39 对对碰\bin\
目录 0 2018-12-17 22:39 对对碰\bin\对对碰\
文件 7624 2018-12-17 22:22 对对碰\bin\对对碰\GamePanel.class
文件 4204 2018-12-17 20:11 对对碰\bin\对对碰\HelpPanel.class
文件 2108 2018-12-17 21:44 对对碰\bin\对对碰\MapUtil.class
文件 2338 2018-12-17 22:29 对对碰\bin\对对碰\Myfr
文件 1509 2018-12-17 22:29 对对碰\bin\对对碰\Myfr
文件 1693 2018-12-17 22:29 对对碰\bin\对对碰\Myfr
目录 0 2018-12-17 22:39 对对碰\src\
目录 0 2018-12-17 22:39 对对碰\src\对对碰\
文件 8051 2018-12-17 22:22 对对碰\src\对对碰\GamePanel.java
文件 3113 2018-12-17 20:11 对对碰\src\对对碰\HelpPanel.java
文件 1366 2018-12-17 21:44 对对碰\src\对对碰\MapUtil.java
文件 2539 2018-12-17 22:29 对对碰\src\对对碰\Myfr
目录 0 2018-12-17 22:40 素材\
文件 4665 2018-12-17 17:16 素材\pic0.png
文件 4008 2018-12-17 17:15 素材\pic1.png
文件 4142 2018-12-17 17:14 素材\pic2.png
文件 3922 2018-12-17 17:14 素材\pic3.png
文件 4103 2018-12-17 17:14 素材\pic4.png
文件 4209 2018-12-17 17:14 素材\pic5.png
文件 5119 2018-12-17 17:15 素材\pic6.png
文件 4106 2018-12-17 17:15 素材\pic7.png
文件 4505 2018-12-17 17:14 素材\pic8.png
文件 3952 2018-12-17 17:13 素材\pic9.png
............此处省略0个文件信息
- 上一篇:中国象棋联机版完整源码及素材Java实现
- 下一篇:JAVA实现抖音代码跳舞源码
相关资源
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
- 操作系统作业 (pv,作业管理,等5个
- 基于C/S架构考试系统(Java)
- java access 仓库管理系统 源码
- 一元多项式相加 java实现
- java软件工程师简历模板——应届生
- DES(CFB) JAVA
- java读取局域网共享机器文件
- [免费]java学习 存储过程
- pl/0词法分析器和语法分析器(java)
- 回归算法Java程序
评论
共有 条评论