软件设计之基于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体测顺利跑下来!
软件设计之基于Java的连连看小游戏(一)——开题及游戏首页的制作的更多相关文章
- 软件设计之基于Java的连连看小游戏(二)——游戏基础界面的制作及事件的添加
上次完成到游戏首页的制作,今天完成了游戏基础界面的制作以及事件的简单添加.由于功能尚未完全实现,因此游戏界面的菜单列表只是简单地添加了一下,其余菜单列表以及倒计时等在后续的制作中逐一完善. 1.首先在 ...
- 软件设计之基于Java的连连看小游戏(三)——所有功能的实现
新年快乐!期末接二连三的考试实在太忙了忘记连连看没有更新完,今天想要学习生信时才发现.所以这次直接把连连看所有功能全部放上. 在传统的连连看的基础上,我增加了上传头像的功能,即可以自行上传图片作为游戏 ...
- C#软件设计——小话设计模式原则之:依赖倒置原则DIP
前言:很久之前就想动笔总结下关于软件设计的一些原则,或者说是设计模式的一些原则,奈何被各种bootstrap组件所吸引,一直抽不开身.群里面有朋友问博主是否改行做前端了,呵呵,其实博主是想做“全战”, ...
- [计算机图形学] 基于C#窗口的Bresenham直线扫描算法、种子填充法、扫描线填充法模拟软件设计(二)
上一节链接:http://www.cnblogs.com/zjutlitao/p/4116783.html 前言: 在上一节中我们已经大致介绍了该软件的是什么.可以干什么以及界面的大致样子.此外还详细 ...
- 基于Qt的P2P局域网聊天及文件传送软件设计
基于Qt的P2P局域网聊天及文件传送软件设计 zouxy09@qq.com http://blog.csdn.net/zouxy09 这是我的<通信网络>的课程设计作业,之 ...
- 基于Java Mina框架的部标jt808服务器设计和开发
在开发部标GPS平台中,部标jt808GPS服务器是系统的核心关键,决定了部标平台的稳定性和行那个.Linux服务器是首选,为了跨平台,开发语言选择Java自不待言.需要购买jt808GPS服务器源码 ...
- C#软件设计——小话设计模式原则之:单一职责原则SRP
前言:上篇C#软件设计——小话设计模式原则之:依赖倒置原则DIP简单介绍了下依赖倒置的由来以及使用,中间插了两篇WebApi的文章,这篇还是回归正题,继续来写写设计模式另一个重要的原则:单一职责原则. ...
- C#软件设计——小话设计模式原则之:接口隔离原则ISP
前言:有朋友问我,设计模式原则这些东西在园子里都讨论烂了,一搜一大把的资料,还花这么大力气去整这个干嘛.博主不得不承认,园子里确实很多这方面的文章,并且不乏出色的博文.博主的想法是,既然要完善知识体系 ...
- C#软件设计——小话设计模式原则之:开闭原则OCP
前言:这篇继续来看看开闭原则.废话少说,直接入正题. 软件设计原则系列文章索引 C#软件设计——小话设计模式原则之:依赖倒置原则DIP C#软件设计——小话设计模式原则之:单一职责原则SRP C#软件 ...
随机推荐
- CMU-14445 数据库原理 汇总
LAB1:Extendible Hash Table, LRU, BUFFER POOL MANAGER LAB2:实现一个支持并发操作的B+树 LAB3:事务隔离,two-phase locking ...
- 升鲜宝V2.0_生鲜配送管理系统_杭州生鲜配送行业,升鲜宝使用教程 客户管理 第二章
1.新增客户 (1)新增客户有两种方式,单个添加和批量添加,客户的结构可以是独立的,也可以是父子结构(比如杭州升鲜宝科技有限公司下有西湖区部门,滨江区部门,余杭区部门等多个分部,就可以建立父子结构,这 ...
- Android 菜单 使用XML
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to th ...
- Java面试题_第三阶段(Spring、MVC、IOC、AOP、DI、MyBatis、SSM、struts2)
1.1 何为Spring Bean容器?Spring Bean容器与Spring IOC 容器有什么不同吗? 答:1)用于创建bean对象,管理bean对象的那个容器. 2)Spring IOC 容器 ...
- 非关系型数据库--redis
0.1 新单词 expire 美 /ɪk'spaɪɚ/ 到期 range 美 /rendʒ/ 范围 idle美 /'aɪdl/ 闲置的 0.2 面试题:mysql和redis和memcached区别? ...
- 【译】浅谈SOLID原则
SOLID原则是一种编码的标准,为了避免不良设计,所有的软件开发人员都应该清楚这些原则.SOLID原则是由Robert C Martin推广并被广泛引用于面向对象编程中.正确使用这些规范将提升你的代码 ...
- LeetCode 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树
第108题 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1. 示例: 给定有序数组: [-10 ...
- YII2数据库操作出现类似Database Exception – yii\db\Exception SQLSTATE[HY000] [2002] No such file or director
参考文章:https://blog.csdn.net/zqtsx/article/details/41845511 我的系统时Ubuntu18使用上面的方法时发现,没有MySQL.socket,然后谷 ...
- springboot整合web开发(整合servlet、filter、listener、访问静态、文件上传)
整合servlet 1.继承HttpServlet 2.添加@WebServlet注解 @WebServlet(name="FirstServlet",urlPatterns=&q ...
- mongodb主备配置
前言:mongodb目前推荐的方式是副本集的方式实现,但是副本集需要三台服务器,目前配置为主备方式 假设你已经安装好了mongo,并配置好了响应的用户 下面修改mongodb.conf配置文件,开启认 ...