软件设计之基于Java的连连看小游戏(一)——开题及游戏首页的制作

  原本计划紧张忙碌的考试月在图书馆和实验室度过,结果突如其来为期两周的软件设计把课余时间几乎捆绑在了机房。软设没有太多知识上的要求,只要成品简洁美观、实用准确即可。考虑了很久决定要用Java swing做一个完善的连连看小游戏。

(一)工作计划安排:

1.16周完成游戏界面的制作以及图形消除功能的实现。

2.17周完成连线的显示以及菜单功能的实现(退出、再来一局等功能),并进行界面及性能的优化。

今天第一天确定了具体的实施方案,决定了游戏界面要达到的效果,并开始着手制作游戏首页的界面。

(二)目前进度

  目前完成第一个界面的制作,背景图片是航拍的学校夜景。想到去年用Qt做的小游戏界面太low,因此这次想做得稍微高大上一些。游戏计划分为多个等级,其中第一等级的图形由编程语言、相关软件的logo组成,后面等级的图形初步计划可以分为男生喜欢的游戏形象及女生喜欢的影视形象,如果考虑受众面的话可以设置多种情景供选择,不过这样的话软件就会很复杂,根据具体实施情况及时间确定情景选择功能是否添加。

(三)开发过程

  第一个界面的制作很容易,只需要添加背景图片和按钮即可。在查找相应函数时偶然发现可以设置窗口图标,于是简单添加了校徽。

  //窗口图标  static JFrame frame1=new JFrame("工大连连看");
    Toolkit tool=frame1.getToolkit();
    Image image1=tool.getImage("E:\\学习\\Sophomore\\软件设计\\picture\\hit.jpg");
    frame1.setIconImage(image1);

  背景图片的添加花费了比较长的时间,原因是一开始打算直接用JLabel添加图片,但是由于图片不能缩放,只能显示出一部分。后来打算改用JPanel写背景的方法,但是重新制作了一个背景图之后发现新的背景图不需要缩放就能直接使用JLabel。因此就沿用了JLabel。

   //插入背景图片   frame1.setLayout(null);//否则不会显示图片
    ImageIcon img=new ImageIcon("E:\\学习\\Sophomore\\软件设计\\picture\\frame.jpg");
    JLabel imglabel=new JLabel(img);
    frame1.add(imglabel);
    imglabel.setBounds(0,0,800,450);//也可以适应图片的宽度和高度,我是直接设置好了

  下面就是插入按钮开始游戏,按钮的插入很简单不需要赘述了,不足就是button不够美观。

    //设置开始按钮
    JButton begin_index=new JButton("开始冒险");
    frame1.add(begin_index);
    begin_index.setBounds(300,350,150,40);
    begin_index.setBackground(Color.white);
    begin_index.setFont(new Font("Dialog",1,20));

  最后设置frame大小及可见。至此第一个界面就完成了,明天继续做游戏界面。

    frame1.setSize(810,490);
    frame1.setVisible(true);

(四)效果

  图片清晰度有待提高,大概是因为强行被增大。

  有错误欢迎指出或讨论哦~

  还有祝我明天的2000m体测顺利跑下来!

原文地址:https://www.cnblogs.com/xioayantongxue/p/12052049.html

时间: 2024-12-13 18:13:41

软件设计之基于Java的连连看小游戏(一)——开题及游戏首页的制作的相关文章

基于JAVA的邮件客户端的设计和实现

获取项目源文件,技术交流与指导联系Q:1225467431 摘  要 Java是Sun Microsystem公司推出的新一代面向对象和面向网络的程序设计语言,特别适合于Internet/Intranet上的应用软件开发,因此也把Java语言称为新一代网络程序设计语言.Java语言将面向对象.多线程.安全和网络等特征集于一身,为软件开发人员提供了很好的程序设计环境,当今企业级计算和应用中相当成熟和稳定的平台,在这个领域中不可否认地占据着领导地位.JBuilder是Borland公司推出的Java

基于Java Web的猜歌游戏设计与实现

获取项目源文件,技术交流与指导联系Q:1225467431 摘   要 随着社会的不断发展,越来越多的人面临的压力越来越大,人们渴望随时随地都能放松自我.然而游戏正成为人们释放压力,放松自己最行之有效的娱乐方式之一.而基于Java Web的猜歌游戏以其界面美观,操作简单,对硬件要求低等优点将会备受大家的青睐.系统通过数据库对用户基本信息和歌曲信息进行统一管理,借助经典的框架Servlet对数据进行处理,又选择了前端一些功能强大的插件对数据进行展示,将猜歌与游戏很好的结合起来,意在给用户创造了一个

基于Java/Swing技术的KTV包间管理系统的设计与实现

获取项目源文件,技术交流与指导联系Q:1225467431 摘 要 KTV包房管理系统的设计必须考虑众多因素及其相互之间的关联,因此如何选择有效的设计模式是非常重要的.在本系统中,基于Java/Swing技术设计并实现了客户端. 它由模型-视图-控制器(MVC)模式设计而成. 本项目基于Java Swing的窗体布局技术进行软件的窗体布局. 本KTV管理系统是一个功能强大的.可靠的.方便的平台处理KTV包房管理业务. 该系统不仅能提高KTV包房管理的工作效率,另一方面也为客人在预订时提供一种较为

C#软件设计——小话设计模式原则之:依赖倒置原则DIP

前言:很久之前就想动笔总结下关于软件设计的一些原则,或者说是设计模式的一些原则,奈何被各种bootstrap组件所吸引,一直抽不开身.群里面有朋友问博主是否改行做前端了,呵呵,其实博主是想做“全战”,即各方便都有战斗力.关于设计模式,作为程序猿的我们肯定都不陌生.博主的理解,所谓设计模式就是前人总结下来的一些对于某些特定使用场景非常适用的优秀的设计思路,“前人栽树,后人乘凉”,作为后来者的我们就有福了,当我们遇到类似的应用场景的时候就可以直接使用了.关于设计模式的原则,博主将会在接下来的几篇里面

第五届蓝桥杯全国软件设计大赛--2013年校内选拔赛Java题目

第五届蓝桥杯全国软件设计大赛 2013年校内选拔赛Java题目 一.考生注意: (1)[结果填空题]要求参赛选手根据题目描述直接填写结果.求解方式不限.不要求源代码. 把答案存入[考生文件夹]下对应题号的文件中即可. (2)[代码填空题]要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确.完整.所填写的代码不超过一条语句(即中间不能出现分号). 把填空的答案(仅填空处的答案,不包括题面已存在的代码)存入[考生文件夹]下对应题号的文件中中即可. (3)[编程题]要求选手设计

基于Java Bean Validation对Request参数进行校验的设计思路

摘自Hibernate Validator文档: 数据校验是任何一个应用程序都会用到的功能,无论是显示层还是持久层. 通常,相同的校验逻辑会分散在各个层中, 这样,不仅浪费了时间还会导致重复代码的发生. 为了避免重复, 开发人员经常会把这些校验逻辑直接写在领域模型里面, 但是这样又把领域模型代码和校验代码混杂在了一起, 而这些校验逻辑更应该是描述领域模型的元数据. JSR 303 - Bean Validation (version 1.1)- 为实体验证定义了元数据模型和API. 默认的元数据

[计算机图形学] 基于C#窗口的Bresenham直线扫描算法、种子填充法、扫描线填充法模拟软件设计(一)

一.首先说明: 这是啥? —— 这是利用C#FORM写的一个用来演示计算机图形学中 ①Bresenham直线扫描算法(即:连点成线):②种子填充法(即:填充多边形):③扫描线填充法 有啥用? ——  无论是连点成线还是区域填充在高级编程中基本上都提供很高效的库函数来调用.这里拿出这些算法一方面有利于大家理解那些封装的函数底层是实现:另一方面是方便嵌入式TFT屏幕底层驱动开发时借鉴的. 是啥样? ——  如下面的操作,不言而喻. 二.进入正题: 2-1.直线的扫描转换 图形的扫描转换实质就是在光栅

基于JAVA平台游戏之小坦克

一: 需求描述 功能性需求 在功能需求分析阶段,我们的主要任务是指定系统必须提供哪些服务,定义软件完成哪些功能,提供给那些人使用,功能需求是软件开发的一项基本需求,是需求分析必不可少的一部分.坦克大战是一款经典游戏了,本游戏学习了一些前辈们的经验,整体来说讲,游戏分为敌我双方,主要参与战斗的坦克有玩家控制,敌人坦克可以智能随机出现在屏幕上,并且移动,发射一定数量的子弹:玩家可以在规定的区域内随意移动坦克,当有子弹击中玩家时,玩家死亡,游戏结束:敌人坦克智能运行,敌方坦克由于需要具有一定智能性,随

小项目特供 简易迷宫(基于Java)

明天返校,于是昨天和今天简单熟系了一下JAVA的GUI,做了一个简易的迷宫小游戏(暂时没有时间实现随机迷宫及多关卡,仅供学习) 源码及运行文件(提供JRE8):简易迷宫  访问密码 8dd8 小项目特供 简易迷宫(基于Java)