资源简介
自己动手制作的对对碰完整源码及素材,游戏符合对对碰游戏规则,游戏开始后在规定时间内消去图案可加分,时间条读完游戏结束,具备历史记录的读取及更新功能;
代码片段和文件信息
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实现抖音代码跳舞源码
相关资源
- 北大青鸟java第一单元项目迷你TXT小说
- 汉诺塔 迷宫用java实现,并且拥有可视
- JAVA 转C++工具
- 超市管理系统(Swing)
- java 内部排序算法的性能分析
- java web 简单留言板
- Eclipsejsp+MySQL 汽车销售信息管理系统
- (java源代码+详细注释)大富翁
- 管系统仿真与GPSSJAVA
- mysql-connector-java-5.1.6.zip
- 哲学家就餐:Java多线程图形版+java_
- 粗糙集属性约简java实现代码
- 消息中间件 RocketMQ 发布和订阅 Demo
- java解哲学家就餐问题
- javaidlb.jar
- 2016底 至 2017-01的最新整理达内Java视频
- Java心理测试小程序
- 仿百度搜索功能附带数据库 java+jsp
- 麻将游戏Java源码
- JMS简明教程创建消息 -> 发送消息 ->
- 坦克大战(java源码)288820
- mongodb-2.6.3.jar
- POJ 1328 java AC
- java课设学生成绩管理
- 物资管理系统 JAVA
- 网上在线订餐系统网站毕业设计论文
- Java实验-多态.docx
- 电脑配件管理系统java+SQL server
- Java简易计算器
- Calculator(Javafx).rar
评论
共有 条评论