扫雷不能不说一款非常经典的游戏,无聊时候可以打发时间,虽然玩了很久,但还不知道它是怎么写的,所以自己就尝试动手做了个。

众所周知,java的swing采用mvc模式,即模型-视图-控制器,所以如果真的了解了这个模式,较c++,用java做个游戏还是比较容易的。下面是我写的扫雷的代码

import java.awt.*;

import java.io.*;

import java.net.URL;

import java.awt.geom.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.ArrayDeque;

import java.util.ArrayList;

import java.util.concurrent.*;

public class MineSweep

{

public static void main(String[] args)

{

JFrame frame = new MineFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

}

class MineFrame extends JFrame

{

private JPanel buttonPanel;

private MinePanel mp;

private int rn,cn;

public static final int DEFAULT_WIDTH = 650;

public static final int DEFAULT_HEIGHT = 450;

public static final int DEFAULT_CN = 9;

public static final int DEFAULT_RN = 9;

public JLabel remainMine;

public JLabel mes;

private JComboBox cb;

public MineFrame()

{

setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);

setTitle("扫雷");

mp = new MinePanel(DEFAULT_CN,DEFAULT_RN,this);

mp.setMinenum(10);

mp.setRC(9,9);

buttonPanel = new JPanel();

add(mp,BorderLayout.CENTER);

mes = new JLabel("");

mes.setEnabled(false);

add(mes,BorderLayout.EAST);

cb = new JComboBox();

cb.setEditable(true);

cb.addItem("初级");

cb.addItem("中级");

cb.addItem("高级");

cb.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

int index = cb.getSelectedIndex();

System.out.println(index);

switch(index)

{

case 0:

mp.setMinenum(10);

mp.setRC(9,9);

break;

case 1:

mp.setMinenum(40);

mp.setRC(16,16);

break;

case 2:

mp.setMinenum(99);

mp.setRC(30,16);

break;

}

}

}

);

用java写游戏_用java写的扫雷游戏相关推荐

  1. HTML5游戏_基于DOM平台跳跃小游戏开发_9.按键监听

    HTML5游戏_基于DOM平台跳跃小游戏开发 按键监听 视频讲解 HTML5游戏 效果图 本章知识点: 对象自定义名称属性,可以用变量来命名属性名称 //这段代码把多个属性(品牌, 型号, 排量)赋给 ...

  2. 信息学奥赛一本通 1970:【15NOIP普及组】扫雷游戏 | OpenJudge NOI 1.8 14:扫雷游戏地雷数计算 | 洛谷 P2670 [NOIP2015 普及组] 扫雷游戏

    [题目链接] ybt 1970:[15NOIP普及组]扫雷游戏 OpenJudge NOI 1.8 14:扫雷游戏地雷数计算 洛谷 P2670 [NOIP2015 普及组] 扫雷游戏 [题目考点] 1 ...

  3. java能做的游戏_用JAVA可以写出什么样的游戏?

    游戏设计 植物大战僵尸中有一个小游戏关卡,屏幕的正上方有一个滚轮机,会随机生成植物,玩家可以选中植物后自由选择草坪来进行安放.基于此游戏模式,我将该关卡抽取出来,单独做成了一个简易版的植物大战僵尸.游 ...

  4. java写华容道_基于java的华容道小游戏

    一.华容道游戏简介 华容道,古老的中国游戏,以其变化多端.百玩不厌的特点与魔方.独立钻石棋一起被国外智力专家并称为"智力游戏界的三个不可思议".它与七巧板.九连环等中国传统益智玩具 ...

  5. java写潜艇大作战游戏_基于Java实现的潜艇大战游戏

    一.需求分析 本次游戏课程设计小组成员团队合作的方式,通过游戏总体分析设计,场景画面的绘制,游戏事件的处理,游戏核心算法的分析实现,游戏的碰撞检测,游戏的反复测试,游戏的打包运行等一个完整的游戏设计编 ...

  6. java代码课程_助你写出优雅的 Java 代码,8 点建议给你收藏

    我越来越担心我作为一个java程序员的未来.恍然间,发现自己在这个行业里已经摸爬滚打了十年了,原以为自己就凭已有的项目经验和工作经历怎么着也应该算得上是一个业内比较资历的人士了,但是今年在换工作的过程 ...

  7. 怎样用java编写日志_用JAVA写一个日志类程序以供大家学习

    中华网络安全联盟    作者:jacoo    来源:本站原创    时间:2006-4-18 说明: 尽管JAVA类库和其他工具提供了不少的纪录程序运行状态的日志类,我发觉也 不是万能的,有时需要根 ...

  8. pygame做的著名游戏_用python写游戏之2D跑酷游戏(一)

    2D的跑酷游戏有很多,著名的例如Chrome的彩蛋小游戏,手机上的天天酷跑等. 打开Chrome浏览器输入 chrome://dino/,按空格激活彩蛋 这篇文章来分析一下这类横版跑酷游戏的主角奔跑, ...

  9. 用python写数字_用python 写游戏之数字华容道

    当初对这个游戏颇有印象还是在最强大脑节目上面,何猷君以几十秒就完成了这个游戏.写2048游戏的时候,又想起了这个游戏,想着来研究一下. 游戏玩法 用尽量少的步数,尽量短的时间,将棋盘上的数字方块,按照 ...

  10. java吃豆游戏_利用java编写的精灵吃豆的游戏

    学完线程的时候做了一个精灵吃豆的小游戏. 窗体类: package www.csdn.net.zuoye; //用窗体实现精灵吃豆子的小游戏 import java.awt.Color; import ...

最新文章

  1. 人类是怎么从猩猩身上惹来艾滋病的?人与兽的关系很单纯!
  2. setState 是异步的
  3. 文档和帮助创作工具提供商Innovasys实用教程(一)
  4. 电脑怎么换自己的壁纸_电脑硬件到底应该怎么选?自己应该如何组装电脑?
  5. mysql学习(2)索引的本质
  6. python框架django文档_Django基础——Django框架介绍及模板语言
  7. oracle 内核参数设置
  8. 主板检测卡c5_检测升级 | 华北工控推出机器视觉检测系统计算机产品方案
  9. Java通用工具类之按对象属性排序工具类
  10. 分享40个超棒的CSS3按钮教程
  11. 自制操作系统软盘镜像的创建过程
  12. SpringBoot2.6.5整合CXF框架
  13. win10 修改gitlab账号_win10--git安装以及gitlab配置
  14. 常见图片分类及适用场景
  15. 凛冬至送温暖,无价资源免费送
  16. Python 根据身高体重计算BMI值
  17. TS高级类型 Record、Pick、Partial、Required、Readonly、Exclude、Extract、Omit、NonNullable 使用
  18. spring boot 配置默认数据连接池 HiKariCP
  19. 全面解读量化中性策略
  20. TP5.1 支付宝app支付 (沙箱本地测试)

热门文章

  1. MySql入门笔记二~悲催的用户
  2. nginx在CDN加速或使用SLB代理后,获取真实IP,做并发访问限制的方法
  3. 临界区、事件、互斥量、 信号量--四种控制多线程同步与互斥的方法
  4. 类型转换操作符:static_cast, dynamic_cast, const_cast, reinterpret_cast.
  5. C/C++中退出线程的四种解决方法
  6. linux32安装pgsql,Linux安装pgsql
  7. class h5 点击后样式变化_H5学习笔记
  8. objective c 语法
  9. 编码最佳实践——Liskov替换原则
  10. 设计模式——代理模式