用JAVA语言实现赛马游戏

2023-10-31

       在大二下半学期,学校举办了一场编程比赛。其中一个选题就是:用JAVA语言实现一个赛马游戏程序。此程序即为当时的参赛完成的程序。

       程序界面风格在当时的情况下来看,算是比较美观的。但是,遗憾的是当时笔者对程序体系的认识有限,将数据库连接部分的代码嵌入到了各个类中,并没有封装出来,算是一个小小的遗憾吧。程序设计过程中主要使用了JAVA对进程之间的切换及对多线程管理的技术。并且,本程序对JAVA语言中的绘图函数的完成了很大的应用。另外,程序完成过程中,对主程序界面和游戏界面的管理应用了一个很有趣的思想:鸡生蛋,蛋生鸡。在后续中会具体阐述。

       首先展示出本程序的运行界面:

       1.登录界面:


2.注册界面


3.游戏主界面


4.游戏运行界面



4.单场比赛结束界面


在界面生成过程中,我们让主界面类实例化出游戏运行界面类,然后游戏运行结束后,再让游戏运行界面类实例化出主界面类。就类似于我们上述过程中提到鸡生蛋,蛋生鸡的想法。

工程中,各个类的说明如下所示:

      Framemain:程序主类;
      denglu:构造登陆界面类;
      JDT:对denglu类进行监听;
      JFrameFirst:构造二级界面;
      JT:对JDT类和JFrameFirst类进行监听;
      Competition:构造比赛场面的入口类;
      ImageLoad:加载各个ImageDate类;
      ImageProcess:构造动态马类;
      Framemain:对比赛结果进行处理;
      ImageClass:构造背景类;
      music:背景音乐类;
程序中链接到数据库(使用的数据库为SOQServer)的类:JTD、JT、FrameSecond、JFrameFirst;
程序中使用的默认数据库名为:TEXT1,登陆名为:申四,密码为:1234。
各个框体均由不同的类声明创建,有上一个窗体进行实例化,在日后维护时便于在两个窗体见再插入一个新窗体。
界面设计中,各个空间均用坐标放置指定位置,在日后维护中便于任意更改界面风格和格局。

马位移的控制均采用CPU产生的随机数进行控制,能够防止游戏中的作弊行为。

程序源码下载地址:https://github.com/XiaoYaoNet/SaiMa

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用JAVA语言实现赛马游戏 的相关文章

  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • Java中反射是如何实现的?

    Java 7 语言规范很早就指出 本规范没有详细描述反射 我只是想知道 反射在Java中是如何实现的 我不是问它是如何使用的 我知道可能没有我正在寻找的具体答案 但任何信息将不胜感激 我在 Stackoverflow 上发现了这个 关于 C
  • Java EE:如何获取我的应用程序的 URL?

    在 Java EE 中 如何动态检索应用程序的完整 URL 例如 如果 URL 是 localhost 8080 myapplication 我想要一个可以简单地将其作为字符串或其他形式返回给我的方法 我正在运行 GlassFish 作为应
  • Java - 将节点添加到列表的末尾?

    这是我所拥有的 public class Node Object data Node next Node Object data Node next this data data this next next public Object g
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • Final字段的线程安全

    假设我有一个 JavaBeanUser这是从另一个线程更新的 如下所示 public class A private final User user public A User user this user user public void
  • INSERT..RETURNING 在 JOOQ 中不起作用

    我有一个 MariaDB 数据库 我正在尝试在表中插入一行users 它有一个生成的id我想在插入后得到它 我见过this http www jooq org doc 3 8 manual sql building sql statemen
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • 斯坦福 NLP - 处理文件列表时 OpenIE 内存不足

    我正在尝试使用斯坦福 CoreNLP 中的 OpenIE 工具从多个文件中提取信息 当多个文件 而不是一个 传递到输入时 它会给出内存不足错误 All files have been queued awaiting termination
  • 如何在 javadoc 中使用“<”和“>”而不进行格式化?

    如果我写
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 如何从泛型类调用静态方法?

    我有一个包含静态创建方法的类 public class TestClass public static
  • simpleframework,将空元素反序列化为空字符串而不是 null

    我使用简单框架 http simple sourceforge net http simple sourceforge net 在一个项目中满足我的序列化 反序列化需求 但在处理空 空字符串值时它不能按预期工作 好吧 至少不是我所期望的 如

随机推荐

  • hyper-v虚拟机的创建时间总是是1601的问题。

    解决办法 1 在虚拟机正在运行时 点击停止服务 虚拟机不会关闭 2 同意强制关闭后 在重新启动服务即可 3 虚拟机的创建时间将正确显示
  • 2015中国各地区最佳大学排行榜 报考首选前五强

    艾瑞深中国校友会网最新发布2015中国各地区最佳大学排行榜 2015中国各地区最佳独立学院排行榜和2015中国各地区最佳民办大学排行榜等榜单 旨在让两岸四地高考考生及家长了解中国各地区高校的办学水平和办学实力 2015中国各地区最佳大学排行
  • 数据库常见知识点

    数据库 Mysql的金额用什么数据类型表示 在mysql中 金额用 DECIMAL 类型 DECIMAL类型是专门为财务相关问题而设计的数据类型 能够解决数据的范围和精度的问题 常用于货币数据 如价格 工资 帐户余额等 它实际上是以字符串的
  • 经典分类算法——感知机算法

    文章目录 经典分类算法 感知机算法 1 感知机算法思想 错误修正 2 感知机算法 原始形式 形式化表示 3 感知机算法 对偶形式 形式化表示 4 感知机算法 随机梯度下降 SGD 5 感知机算法 一种变形 6 感知器算法 示例 7 感知器算
  • 代码审计及工具

    代码审计 是对应用程序源代码进行系统性检查的工作 它的目的是为了找到并且修复应用程序在开发阶段存在的一些漏洞或者程序逻辑错误 避免程序漏洞被非法利用给企业带来不必要的风险 代码审计不是简单的检查代码 审计代码的原因是确保代码能安全的做到对信
  • python之多线程并发

    前言 今天呢笔者想和大家来聊聊python多线程的并发 废话就不多说了咱们直接进入主题哟 一 线程执行 python的内置模块提供了两个内置模块 thread和threading thread是源生模块 threading是扩展模块 在th
  • boost::python::converter::as_to_python_function相关的测试程序

    boost python converter as to python function相关的测试程序 boost python是一个用于将C 代码集成到Python中的强大工具库 其中的converter模块提供了将C 对象转换为Pyth
  • java-IDEA常用插件

    1 JRebel 热部署插件 1 IDEA 中搜索并安装插件 JRebel 重启 2 获取UUID https www guidgen com 3 按下图填写信息 https jrebel qekang com UUID 把UUID替换成上
  • 基于深度学习的商品推荐系统(Web)

    基于深度学习的商品推荐系统 ECRS Web 项目简介 技术栈 项目用到的技术如下 语言 Python3 Java Web端 Layui Flask Nginx Gevent Flask Cache 模型训练 PaddleRec Paddl
  • js反爬中如何如何处理无限debugger

    有时候在爬取网站时 遇到无限debugger的情况 一种是constructor中的debugger 还有一种是eval中的debugger 可以通过hook的方式绕过无限debugger 处理eval中无限debugger var eva
  • 26. selenium:浏览器自动测试模块——一款方便且能装X的爬虫工具(附多个实例)

    目录 前言 什么是selenium 配置selenium 安装selenium库 安装浏览器驱动 以Chrome为例 使用selenium库 例1 实现打开网页拿取网页标题 运行效果 例2 实现抓取某招聘网站Python岗位的职位信息 运行
  • setImageResource和setImageDrawable区别

    ImageView设置图片的方式有很多钟 可以在xml里面写android src drawable xxx 也可以在java代码里面设置 在java里面的设置方式也有多种 方法包括 setImageResource setImageDra
  • Xilinx ISE系列教程(3):关联第三方编辑器Notepad++/VS Code/UltraEdit/Sublime Text/Emacs/Vim

    文章目录 toc 1 ISE关联Notepad 编辑器 2 ISE关联VS Code编辑器 3 ISE关联UltraEdit编辑器 4 ISE关联Sublime Text3编辑器 5 ISE关联Emacs编辑器 6 ISE关联Vim编辑器
  • VMware中Centos Linux 8虚拟机安装过程

    VMware Workstation的安装过程已经有博文分享 本文是VMware安装成功后虚拟机安装的过程 在安装前需要下载CentOS镜像文件 阿里云地址为 https mirrors aliyun com centos 我下载的是8 即
  • 下载百度网盘资源不限速的两种方法

    下载百度网盘资源不限速的两种方法 方法1 适合文件大小4g以下的下载 由于直接用proxpee down下载资源文件时出现 error code 31090 error msg package is too large request id
  • 神仙文献管理软件Mendeley 保姆级教程

    神仙文献管理软件Mendeley 保姆级教程 英国文文的文章 知乎 https zhuanlan zhihu com p 65992720 Mendeley是一款Elsevier公司旗下的免费文献管理软件 集文献的搜集 管理 搜索 阅读 标
  • 云计算与大数据-虚拟化与容器技术题库

    第2章 虚拟化与容器技术习题 2 1 选择题 1 典型的虚拟化架构不包括 D A 宿主机操作系统 B 虚拟机 C 虚拟化层 D 虚拟内存 2 虚拟化技术的研究目的包括 D A 降低管理成本 B 增强可移植性 C 提高软件开发效率 D 以上都
  • 用java PreparedStatement就不用担心sql注入了吗?

    http www cnblogs com iyangyuan archive 2015 09 15 4809494 html 用java PreparedStatement就不用担心sql注入了吗 言归正传 对java有了解的同学基本上都体
  • Flutter 画笔(Paint)、drawRect(绘制矩形)、PaintingStyle

    观察走在你前面的人 看看他为何领先 学习他的做法 drawRect rect paint rect 矩形 paint 画笔 PaintingStyle fill 用画笔填充绘制 Rect fromCircle Offset center d
  • 用JAVA语言实现赛马游戏

    在大二下半学期 学校举办了一场编程比赛 其中一个选题就是 用JAVA语言实现一个赛马游戏程序 此程序即为当时的参赛完成的程序 程序界面风格在当时的情况下来看 算是比较美观的 但是 遗憾的是当时笔者对程序体系的认识有限 将数据库连接部分的代码