软件设计之基于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#软件 ...
随机推荐
- python基础知识第五篇(字典)
字典(dict) info={ "k1":"v1", "k2":"value" } 字典的value可以是任意值,布尔值 ...
- C#线程学习笔记六:线程同步--信号量和互斥体
本笔记摘抄自:https://www.cnblogs.com/zhili/archive/2012/07/23/Mutex_And_Semaphore.html,记录一下学习过程以备后续查用. ...
- Javascript继承的问题
说到Javascript的继承,相信只要是前端开发者都有所了解或应用,因为这是太基础的知识了.但不知各位有没有深入去理解其中的玄机与奥秘.今本人不才,但也想用自己的理解来说一说这其中的玄机和奥秘. 一 ...
- js截取指定字符前面或后面的内容
function getCaption(obj,state) { var index=obj.lastIndexOf("\-"); if(state==0){ obj=obj.su ...
- 解决“fatal: 'origin' does not appear to be a git repository...”
当使用Git进行代码push提交时,出现报错信息“fatal: 'origin' does not appear to be a git repository...”, $ git push -u o ...
- 菜鸟刷面试题(四、Spring/Spring MVC/Spring Boot/Spring Cloud篇)
目录: 为什么要使用 spring? 解释一下什么是 aop? 解释一下什么是 ioc? spring 有哪些主要模块? spring 常用的注入方式有哪些? spring 中的 bean 是线程安全 ...
- latex 对中文字体设置的一些解决
latex 对中文字体设置的一些解决 直接使用Xelatex编译带中文的文件时,会出现无法识别的错误,这是因为latex默认的环境不支持中文,这时可以使用CTex 宏集.ctex 宏包或xeCJK 宏 ...
- SpringCloud 亿级流量 架构演进
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy ...
- Splash 学习笔记
一.介绍 Splash 跟之前我们介绍的 Selenium ( 参考 Selenium 与自动化测试 -- <Selenium 2 自动化测试实战>读书笔记) 很类似,都可以理解成一个浏览 ...
- ABAP里SELECT的用法汇总(转)
通常使用Open SQL的数据查询语句SELECT将数据库条目选择到内存.一.SELECT语句:1)SELECT用于确定读取数据表中的哪些字段:2)FROM子句用于确定从哪些内表或者视图中读取数据:3 ...