资源简介
用java写的对战版的俄罗斯方块,用到了网络编程,多线程,数据库,文件操作。用swing写的页面。
代码片段和文件信息
package Controller;
import MySocket.ExchangeThread;
import dao.UserDaoImplements;
import entity.Rect;
import model.GameDao;
import user.UserInfo;
import view.LoginUI;
import view.OfflinePanel;
import view.OnlinePanel;
import javax.swing.*;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
/**
* 游戏整体控制器,比如命令方块移动,暂停游戏等
*
*/
public class GameController {
public UserInfo user= LoginUI.user;
public static GameController localController;
// 界面
private JPanel panel;
// 时间控制器,加载Gametask,每过一段时间,界面就变化一次
private Timer timer;
private boolean isRunning =false;
public GameDao getGamedao() {
return gamedao;
}
public Rect getCurRect() {
return curRect;
}
public Rect getNextRect() {
return nextRect;
}
// 游戏进程控制器,比如碰撞检测之类的
private GameDao gamedao;
// 当前图形与下一个图形
private Rect curRect;
private Rect nextRect;
// 远程通信用的线程
private ExchangeThread exchangeThread;
private class Gametask extends TimerTask {
private int speed = 5;
public void run() {
if(!isRunning){
return ;
}
// speed来控制时间间隔。。
if(speed <= 0){
if(gamedao.isput(curRect)){
if(gamedao.gameover()) {
System.out.println(“游戏结束!“);
// 先暂停游戏
isRunning = false;
//对战模式
if(exchangeThread!=null){
exchangeThread.sendMessage(“gameover“);
int myScore = gamedao.score;
int remoteScore = RemoteController.remoteController.getGameDao().score;
String str = Integer.toString(myScore) + “比“ + Integer.toString(remoteScore) + ““;
if (myScore > remoteScore) {
// WIN
JOptionPane.showMessageDialog(panel str + “你赢了“);
} else if (myScore < remoteScore) {
// LOSE
JOptionPane.showMessageDialog(panel str + “你输了“);
} else {
// pingju
JOptionPane.showMessageDialog(panel str + “这是一场平局“);
}
}else{
//单机模式
int myScore = gamedao.score;
System.out.println(“结束1“);
user.setScore(myScore);
new UserDaoImplements().writeScore(user);
System.out.println(“结束2“);
JOptionPane.showMessageDialog(panel “游戏结束.“+
“你的得分为:“+Integer.toString(myScore));
}
return;
}
Random random = new Random();
// 已经放下来了的意思
if(exchangeThread!=null){
exchangeThread.sendMessage(“isput“);
}
curRect.setColor(0);
int temp=random.nextInt(7)+1;
curRect = new Rect(nextRect.color);
nextRect = new Rect(temp);
if(exchangeThread!=null){
// 更新rect的命令只发送下一个的
exchangeThread.sendMessage(Integer.toString(temp));
}
if(gamedao.ispop()){
// 消去一行
if(exchangeThread!=null){
exchangeThread.sendMessage(“ispop“);
}
}
}else{
curRect.down();
if(exchangeThread!=null)
exchangeThread.sendMessage(“down“);
}
// 如果没有放下来,就down
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 388 2017-12-25 15:04 final\.classpath
文件 315 2017-12-20 20:31 final\.git\config
文件 73 2017-12-20 20:31 final\.git\desc
文件 110 2017-12-20 20:31 final\.git\FETCH_HEAD
文件 23 2017-12-20 20:31 final\.git\HEAD
文件 177 2017-12-20 20:31 final\.git\hooks\README.sample
文件 6112 2017-12-20 20:31 final\.git\index
文件 113 2017-12-20 20:31 final\.git\info\exclude
文件 387 2017-12-20 20:31 final\.git\logs\HEAD
文件 387 2017-12-20 20:31 final\.git\logs\refs\heads\master
文件 144 2017-12-20 20:31 final\.git\logs\refs\remotes\origin\master
文件 1132 2017-12-20 20:31 final\.git\ob
文件 83 2017-12-20 20:31 final\.git\ob
文件 1217 2017-12-20 20:31 final\.git\ob
文件 813 2017-12-20 20:31 final\.git\ob
文件 289 2017-12-20 20:31 final\.git\ob
文件 168 2017-12-20 20:31 final\.git\ob
文件 319 2017-12-20 20:31 final\.git\ob
文件 89 2017-12-20 20:31 final\.git\ob
文件 2000 2017-12-20 20:31 final\.git\ob
文件 584 2017-12-20 20:31 final\.git\ob
文件 863 2017-12-20 20:31 final\.git\ob
文件 4611 2017-12-20 20:31 final\.git\ob
文件 948926 2017-12-20 20:31 final\.git\ob
文件 480 2017-12-20 20:31 final\.git\ob
文件 57 2017-12-20 20:31 final\.git\ob
文件 152 2017-12-20 20:31 final\.git\ob
文件 153 2017-12-20 20:31 final\.git\ob
文件 679 2017-12-20 20:31 final\.git\ob
文件 183 2017-12-20 20:31 final\.git\ob
............此处省略285个文件信息
相关资源
- Docker and Kubernetes for Java Developers pdf+
- TinyOS源码说明
- java版语义解析
- JavaSSH界面美观大方 设备管理系统-v
- 海康威视SDK自动拍照java代码亲测有效
- IEEE802.3以太网帧封装 课程设计 java+
- 基于java编写的网上书店管理系统
- 经典java编程100例
- java桌宠透明
- 3年工作经验java面试宝典
- 基于Servlet实现的增删改查角色权限控
- 基于HTML5和Java交互式校园订餐系统
- 传智播客Java SE基础毕向东老师全程笔
- Java+MySQL培训机构课程管理系统的设计
- 超市人事管理系统(java)
- 国泰新点java面试题-停车管理系统-j
- 基于Android的学生成绩管理系统
- 基于spring Boot的Java秒杀系统
- 亮剑Java项目开发案例导航 源代码
- java学生课程及成绩管理系统
- javaWeb 学生管理系统
- 海康威视sdk java demo
- Java语言程序设计原书第十版复习题,
- java web个人相册系统
- java实现各种数据统计图柱形图,饼图
- 易买网JAVAWEB源码,可运行,内含sql数
- JAVA健康档案管理系统源码
-
Java How to Program Early ob
jects 11th Edit - java 开发 IBM WebSphere MQ 最新jar
- Javaweb-网上书城项目前后端分离,代码
评论
共有 条评论