足球小游戏

2024-06-10 00:48
文章标签 小游戏 足球

本文主要是介绍足球小游戏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    足球游戏真的是用最最简单的代码画出来的,首先是实现定义一个入口的主函数,还有就是画了一个简易的足球场。模拟运动员踢角球的过程,画场地的时候用了重绘,这样就能够每次踢玩球后不用再次重绘嘛,这个比较方便,不用每次试验前运行一次程序,操作方便了一些,这个不是重点。先看前面的代码。

/*** 定义一个画画类,用来生成面板和画画。* @author 周建权 2013.07.14**/public class StartJFrame extends JFrame {/*** 定义函数的入口主函数* @param args*/public static void main(String[] args) {// 实例化一个对象StartJFrame sta=new StartJFrame();sta.showGUI();}/***  定义一个showGUI函数,用显示面板及其组件*/public void showGUI() {this.setSize(600, 600);//设置大小this.setTitle("泰国青年队5:0击败中国队,卡马乔已经被下课!!");this.setLayout(new FlowLayout());JButton jbu=new JButton("开始角球");jbu.setFont(new Font("楷体",Font.PLAIN,18));this.add(jbu);this.setVisible(true);//设置窗体可见	Graphics g=this.getGraphics();//获取画布对象GameListener j2=new  GameListener(g);jbu.addActionListener(j2);}
/***  定义一个重绘函数,用于实现画窗体的基础部件*/
public void paint(Graphics g) {super.paint(g);//调用重绘函数g.setColor(Color.RED);g.drawLine(550, 200, 550, 295);g.drawLine(550, 295, 600, 295);g.drawLine(550, 200, 600, 200);g.drawLine(5, 515, 5, 595);g.drawLine(5, 515, 30, 515);g.drawLine(30, 515, 30, 595);g.drawLine(5, 595, 30, 595);}

 

接下来是一个线程类,用于实现程序的主要功能,首先是用随机数产生小球的初始位置,并在此处定义一个判断语句,如果是超过这个范围就抛出点球越界。在最后不管进球或是不进球都会抛出来发球越界,点球无效。若是在点球区域内的球则再次进行判断,如果球从球门的坐标经过则说明进球是有效的。如果没进则抛出没进球。代码大部分是使用了判断语句,线程知识用的不多。

/*** 创建一个新的类,该类继承于线程类,用于实现小球的滚动以及比赛结果的输出* @author 周建权 2013.7.14**/
public class GameThread extends Thread {private Graphics g;private int i;public  GameThread(Graphics g ){this.g=g;}/*** 定义一个方法,该方法实现了画移动小球的功能,还有实现了判断进球是否有效,以及* 对进球的结果进行输出。*/public void draw05() {System.out.println("aaa");int m=(int)(5+Math.random()*35);//利用随机数产生小球的初始坐标,这也是小球进与不进的关键int n=(int)(515+Math.random()*85);if(m>30||n>595){JOptionPane.showMessageDialog(null, "点球位置越线");//判断点球线是否是有效的}//循环以便画出移动的小球for(i=0;i<=300;i++){try{Thread.sleep(30);}catch(Exception ef){}g.setColor(Color.BLUE);g.clearRect(m+2*i-2,n-i+2 ,30, 30);g.fillOval(m+2*i, n-i+1, 30, 30);System.out.println(i);/*** 定义一个while判断语句,用来判断小球的进球是否有效以及进球与否*/while((m+2*i)==550||(m+2*i)==551){if((n-i)<295&&(n-i)>205&&m<30&&n<595){JOptionPane.showMessageDialog(null, "恭喜你进球了");break;}else if(m>30||n>595){JOptionPane.showMessageDialog(null, "点球犯规,此次射门无效");;break;}else {JOptionPane.showMessageDialog(null, "很遗憾你没进球");break;}}}}public void run(){draw05();}}

 

由于三个类是分开的吗,所以得加一个监听器来完成最后的过程。

/*** 创建一个按钮监听器,按钮按下时开始同时画四个小球* @author 周建权 2013.7.14**/
public class GameListener implements  ActionListener{private Graphics g;public GameListener(Graphics g){this.g = g;}public void actionPerformed(ActionEvent e){
; 		GameThread thread = new GameThread(g);thread.start();}}

  这样一个足球游戏就做好啦!



 

 

 

 

 

 

  • 大小: 20.7 KB
  • 大小: 17.6 KB
  • 大小: 22.7 KB
  • 大小: 24.8 KB
  • 大小: 21.8 KB
  • 大小: 21 KB
  • 查看图片附件

这篇关于足球小游戏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1046778

相关文章

足球比分

足球比分策略应用: 提供实时足球比分赛程和预测比分和进球数 https://pan.baidu.com/s/1mhEqMLE

贪吃蛇的小游戏--用C语言实现

贪吃蛇的小游戏–用C语言实现 游戏背景 贪吃蛇是久负盛名的游戏,它也和俄罗斯⽅块,扫雷等游戏位列经典游戏的⾏列。 实现基本的功能: • 贪吃蛇地图绘制 • 蛇吃⻝物的功能 (上、下、左、右⽅向键控制蛇的动作) • 蛇撞墙死亡 • 蛇撞⾃⾝死亡 • 计算得分 • 蛇⾝加速、减速 • 暂停游戏 技术要点 C语⾔函数、枚举、结构体、动态内存管理、预处理指令、链表、Win32

足球的要点

踢好足球是一个综合性的技能提升过程,涉及到技术、战术、体能、心理等多个方面。以下是一些关键的建议和技巧,帮助你在足球场上取得更好的表现: 一、技术训练 基础技术: 颠球:提高球感和控制力,是足球运动的基本功。传球:掌握准确的传球技巧,包括短传、长传、直传和横传,注意传球方向、力量和时机的控制。射门:练习各种射门方式,如脚弓推射、脚背抽射、头球等,提高射门精度和力量。运球和过人:学习并掌握变向过

MFC对话框贪吃蛇小游戏

花了近一个月的时间,学习了一下VC++深入详解,做了个贪吃蛇小游戏,虽然有很多的瑕疵,但还是想分享一下战果。 说一下思路: ①我们要绘制图形,我们可以用CClientDC(客户区设备上下文,与特定的窗口关联)声明一个dc对象作图。 当然这里我们要画蛇的身体和食物,设置一个食物类和蛇身体结构体 ②我们如何让图形动起来?SetTimer创建一个计时器,KillTimer()用来销毁计时器

GameFi生存法则:从巨头争霸到小游戏革命,掀起区块链游戏的全新风暴

随着区块链技术的飞速发展,GameFi(游戏与去中心化金融的结合)正成为加密世界的一个重要领域。然而,随着时间的推移,这一领域也经历了显著的演变,从最初的3A大作到如今流行的Telegram小游戏,这种变化不仅反映了市场需求的转变,也揭示了GameFi如何在生存与繁荣之间找到平衡。 一、GameFi 的演变:从 3A 大作到 Telegram 小游戏 不同类型 GameFi 项目的优劣 Ga

足球比分预测分析理论

走进一个充满欢呼声的体育场,空气中充满了对即将到来的两支强大足球队之间对决的期待。一个引人入胜的问题浮现出来:我们可以在比赛开始之前预测比赛的结果吗? 本文提出了一个基于概率和统计的模型,通过考虑每支队伍的进攻和防守能力,以及主客场因素,来预测比赛的可能结果。 现在有20只球队,每支球队在该赛季的进球与失球情况已知,当其中两支球队相遇,我们如何预测两队的胜负或者更确切的两队的比分值呢? 这是2

深度学习-用神经网络NN实现足球大小球数据分析软件

文章目录 前言一、 数据收集1.1特征数据收集代码实例 二、数据预处理清洗数据特征工程: 三、特征提取四、模型构建五、模型训练与评估总结 前言 预测足球比赛走地大小球(即比赛过程中进球总数是否超过某个预设值)的深度学习模型是一个复杂但有趣的项目。这里,我将概述一个基本的实现流程,包括数据收集、特征提取、模型构建、训练和评估。由于直接编写完整的代码在这里不太现实,我将提供关键

Unity实战案例 2D小游戏HappyGlass(模拟水珠)

本案例素材和教程都来自Siki学院,十分感谢教程中的老师 本文仅作学习笔记分享交流,不作任何商业用途 预制体   在这个小案例中,水可以做成圆形但是带碰撞体,碰撞体比图形小一圈,顺便加上Trail renderer组件   材质 将碰撞材质的friction为0,bonciness可以按照需要修改 脚本  生成水珠的脚本并不难, 只是需要创建大量实例化对象的时候,加一个携程

UNO小游戏2

前言 hello,大家好我是文宇。最近也是抽出时间更一期了。 bug还是很多(恼),所以就当个乐子看看,反正后面还会有的,先把这玩意儿发了再说。 正文 #include<bits/stdc++.h>#include<windows.h>using namespace std;bool can = 1;int colorsz1[25];int cardsz1[25];int co

C++战列舰小游戏Lv. 1.2版本(半成品)

这是一组初始数据: a[1].gas=1000;     a[1].attack=0;     a[1].att_1=0;     a[1].att_2=0;     a[1].att_3=0;     a[1].att_4=0;     a[1].fire=0;     a[1].gas_good=0.9;     a[1].guard=0;     a[1].HP=15000;     a[