今天更一篇《飞机大战》游戏,总的来说通过编程了解数据库与面B(Java设计模式)之间的更关系联系及应用,此外还有熟练运用JDBC来连接数据库,
1.1开发条件:
1.1.1导入基本飞机大战项目Hero.java、Bullet.java、EnemyPlane.javaStart.java、Started.java、MyJPanel.java 1.1.2导入mysql-connector-java-5.1.20-bin.jar包
1.2实现的目标:
1.2.1需要实现登陆注册界面
1.2.2实现创建数据库planegame
1.2.3连接JDBC数据库
1.2.4完成录入数据
1.3实现:敌机自屏幕上方向下移动,玩家操控飞机可以自由移动,自动发射子弹,躲避并消灭敌机。控制飞机以确保尽可能长的时间并通过消灭敌机获取分数。

2.1实体类实现实体模块的调用,子弹类、敌机类、战机类和用户类2.2控制器实现控制整体动作BD_Operator.java、MyJPanel.java类
2.3状态编写号关卡状态的不同,与切换状态,和关卡接口
2.4连接JDBC数据库
2.4.1加载驱动 DriverManger
2.4.2创建连接 Connection
2.4.3创建Statement对象(SQL)
2.4.4执行SQL查询execute()/executeQuery()
2.4.5处理结果集ResultSet
2.4.6释放连接,释放数据库资源,关闭数据库 close(公共√)2.5视图三种界面,注册登录界面、开始界面、游戏界面

3.1登陆界面完成先实现Jm_start类中的视图界面以及登陆实现去数据库中对比是否存在和用户名密码字段相同的记录,如果存在,登录成功。注册实现首先根据用户名去检查数据库中是否存在同名记录 ,如果不存在,向数据库中添加注册信息。
3.2连接数据库①加载驱动DriverManger ②创建连接 Connection ③创建Statement对象(SQL)④执行SQL查询execute()/executeQuery() ⑤处理结果集ResultSet ⑥释放连接,释放数据库资源,关闭数据库
3.3更新登陆数据值更新记录开始游戏界面游戏数据。连接Start类显示用户名name 等级level 得分grade 最高得分maxgrade 累计游戏时间time,和监听器button按钮。
3.4关卡状态模式加入状态关卡 Hero中单例模式整个工程里所有类共享单例数据,getInstance中判断单例模式MyJPanel类中单例模式应用替换Hero创建战机方法调用hero。创建状态模型包加入4个关卡与战机状态接口,4个关卡类实现战机状态接口。创建关卡数组,每一关卡切换条件,记录当前关卡,定义构造方法Context(),设置四个状态关卡,放入数组,加入change方法遍历关卡切换条件,执行状态模式的通用方法。
3.5更新数据库信息存档信息、当前等级、当前得分、累计游戏时间、最高分,更新完善系统
下面是JDBC连接数据库代码

public class JDBCTools {
public static Connection GetConnection() throws IOException, ClassNotFoundException, SQLException {Properties properties = new Properties();InputStream inputStream = JDBCTools.class.getClassLoader().getResourceAsStream("jdbc.properties");properties.load(inputStream);//准备连接数据库String jdbcDriver = properties.getProperty("jdbcDriver");String url = properties.getProperty("url");String user = properties.getProperty("user");String password = properties.getProperty("password");//加载驱动Class.forName(jdbcDriver);//创建连接Connection connection = DriverManager.getConnection(url,user,password);return connection;}public static void releaseDB(ResultSet resultSet,Connection connection,PreparedStatement preparedStatement) {if(resultSet!=null) {try {resultSet.close();} catch (SQLException e) {// TODO: handle exceptione.printStackTrace();}}  if(connection!=null) {try {resultSet.close(); } catch (SQLException e) {// TODO: handle exceptione.printStackTrace();}}if(preparedStatement!=null) {try {resultSet.close();} catch (SQLException e) {// TODO: handle exceptione.printStackTrace();}
}
}
}

以下是全部代码链接

《飞机大战》面B+数据库 实训相关推荐

  1. oracle安装实训心得,oracle数据库实训心得.docx

    oracle数据库实训心得 Oracle实训 总结 系别:信管院班级:姓名:浦江峰学号: 日期:XX年12月21日 实训总结: 由于感到oracle实训担子很重,而自己的学识.能力和阅历与其任职都有一 ...

  2. sqlserver实验心得体会_SQLServer数据库实训总结

    SQLServer 数据库实训总结 为期一周的实训已经结束,从这一周中,有了很多的感 悟.从学到和掌握到的东西来说,在书本上学到的东西非常 不牢固, 然而实训真的让我受益匪浅! 实训第一天到教室时, ...

  3. mysql实验总结范文_数据库实训心得

    一个月的数据库实训就转眼间就上完了,期间讲解了一个学生管理系统,最后还做了一个小的数据库链接作业.现在就说说关于vb链接的数据库的一些方法. 首先说数据库,简单的说就是建表格,然后把一张一张的表格和在 ...

  4. 头歌MySQL数据库实训答案2022

    答案由本人收集+自己写的,仅作参考,帮助写不完作业的小伙伴 目录 实训1 数据库.表与完整性约束的定义(Create) 实训2 数据库.表与完整性约束的定义(Create) 实训3 基于金融应用的数据 ...

  5. 数据库实训心得体会_数据库实习个人总结

      数据库实训心得体会篇一一个月的数据库实训就转眼间就上完了,期间讲解了一个学生管理系统,最后还做了一个小的数据库链接作业.现在就说说关于vb链接的数据库的一些方法. 首先说数据库,简单的说就是建表格 ...

  6. java mysql实训报告_java数据库实训总结.doc

    java数据库实训总结 java数据库实训总结 篇一:JAVA数据库学生管理系统实训报告 实训报告 实训名称: 学生成绩管理系统实训 系 (部):专业班级:网络L1301学生姓名:刘鑫 学 号指导教师 ...

  7. oracle表设计实践,Oracle数据库实训报告.docx

    <Oracle数据库> 实训报告 系 别 信息工程系 专 业 计算机科学与技术 班 级 2013级计算机科学与技术本科1班 姓 名 学 号 指导教师 徐鲁辉 地 点 资讯楼306 学年学期 ...

  8. 头歌MySQL数据库实训答案 有目录

    头歌MySQL数据库答案 特别感谢黄副班.小青提供代码,有问题联系公众号[学思则安]留言更正 其他作业链接 数据库1-MySQL数据定义与操作实战 MySQL数据库 - 初识MySQL MySQL数据 ...

  9. 数据库实训项目之图书借阅系统

    目录 一.需求分析 二.概念结构设计 三.逻辑结构设计 四.物理结构设计 一.需求分析 图书(Book)信息包括图书编号(BookID).图书名称(BookName).图书类别(BookType).作 ...

最新文章

  1. Python的零基础超详细讲解(第五天)-Python的运算符
  2. Java中的与、或、非以及异或( | ~ ^)运算符的运算原理
  3. OpenCV使用inRange的阈值操作Thresholding Operations
  4. 获取SAP Spartacus当前显示产品json数据的又一办法
  5. linux kvm百度云,容器与云|如何在 Ubuntu Linux 上使用 KVM 云镜像
  6. openssh-在win7上的搭建
  7. while嵌套注意事项(九九星号代码
  8. 【clickhouse】clickhouse 同时查询数过多 Too many simultaneous queries
  9. 襄阳汽车职业学院计算机专业,襄阳汽车职业技术学院毕业设计模板.docx
  10. [转]bad interpreter:No such file or directory的原因
  11. [资源整理]关于前端设计的那些博客儿~
  12. selenium chrome历史版本docker镜像分享
  13. 如何理解C++中的.h文件和.cpp文件
  14. 拼图技巧,一家人的健康码行程码拼图怎么拼
  15. Power BI的基本操作
  16. 0x120-从头开始写操作系统-启动扇区与内存的关系及内存寻址的应用
  17. ubuntu命令行查看dns_Dog-用于DNS查询的命令行工具
  18. echarts 立体柱状图(多个柱状图)
  19. 【洛谷 P5850】 calc加强版(生成函数+NTT)
  20. python 拦截windows弹窗广告_win10怎么阻止弹窗广告拦截功能的方法

热门文章

  1. IQC/QC/DQC等
  2. 【苹果传文件】【苹果手机文件传输】windows系统 iPhone手机文件传输 win系统苹果手机【苹果传电影】【苹果传图片】【一眼就会】
  3. 用GD32替换正点原子STM32F103ZET6
  4. 新浪微博Android客户端学习记录一:完成Logo界面
  5. Python3中的命名规范大全---基于PEP8标准
  6. arduino编程时加{}报错_arduino编程出现了这个错误怎么解决?
  7. 全民emo时代,是什么在治愈着当代年轻人?
  8. 集360搜狗神马搜索引擎SEO批量查询工具包
  9. 力扣 2611. 老鼠和奶酪
  10. 记一次神舟战神ZX6-CT5H2新机的蓝屏翻船与重装系统的自救失败过程