Unity期末AI足球游戏小项目(免费开源)

news2024/10/6 2:20:38


该游戏项目仅供参考,下载链接在文末。若需要答辩论文请私聊

版本:Unity 2018.4

文章目录

  • 游戏介绍
  • 整体框架
  • 部分截图
  • 答辩论文截图
  • 答辩问题
    • 1 倒计时功能如何实现?
    • 2 AI的实现体现在哪一方面?
    • 3 计分系统的实现?

游戏介绍

《Crazy Soccer》是一款有趣的足球模拟游戏。玩家将看到两个球队之间的自主对战,通过观看AI球队之间的精彩竞争,提高玩家对足球这项运动的认知。

这个游戏项目旨在熟练地去练习与实践运用自己在课内所学的游戏智能的相关知识。主要涉及到的技术有:AI行为树的逻辑设计、倒计时功能、计分系统的实现、数据存储以及一系列UI交互和动画特效制作。

整体框架

在这里插入图片描述

部分截图

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

答辩论文截图

在这里插入图片描述
在这里插入图片描述

答辩问题

1 倒计时功能如何实现?

使用协程。通常倒计时功能是配合Update函数实现,然而由于Update更新频繁,每一秒相当于会进行多次倒计时的计算,性能开销过大。因此我想到使用协程来实现倒计时:在IEnumerator中调用语句:yield return new WaitForSeconds(1f),即一秒只更新一次,而非每一帧都更新。总时间设置为60秒,每过一秒总时间-1。当总时间为0,设置timeScale为0,该作用是基于帧率的功能都将被暂停,即将画面静止,弹出“GAMEOVER”,游戏结束。

2 AI的实现体现在哪一方面?

体现在守门员的AI行为树逻辑,我设计的AI逻辑为:①守门员首先在球门附近不断巡逻,不过守门员始终朝向足球的方向(Repeater+MyPatrol+RotateTowards+Parallel结点,Parallel用于并发执行守门员朝向与巡逻) ②如果足球进入视野范围,则去追赶足球(Seek+CanSeeBall+Seek结点,Sequence结点设置中断类型为Low Priority) ③追赶到足球,向前踢(Seek+Shoot结点。Seek自定义了arriveDistance,即设定何种距离表示接触到球,接触到球则返回success,进而执行向前踢行为。Sequence结点设置为Low Priority) ④如果球不在视野内了,则继续重复第一步的巡逻行为。

3 计分系统的实现?

首先是在球门内放触发撞器来触发进球事件。进球后,进球方比分加1,然后重新加载这个场景。计分使用到委托和事件:定义得分事件,用于发出得分消息,进球后,发送得分事件消息,为接收器提供参数1,实现+1分效果。重新加载场景后,为了不使比分和倒计时也被初始化,采用单例模式定义了一个data类用于存放数据,挂载到空物体上,将空物体设置成初始化场景时不会被destroy即可。

下载链接
https://github.com/Curzsu/Crazy-Soccer

如何下载:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/510137.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VR全景园区:数字化旅游业的新未来

VR全景园区是未来数字化旅游业的一种新兴形式。它利用高清晰度的3D图像和360度全景拍摄技术,将景区中的自然风光、历史文化和人文风情等元素呈现在游客面前。VR全景园区不仅可以为游客提供身临其境的参观体验,还可以有效地推广当地的文化和旅游资源。 【…

【FOF管理策略与技术】第1章 FOF的基本概念

第1章 FOF的基本概念 文章目录 第1章 FOF的基本概念一、FOF的定义与分类1 FOF的定义1.1、FOF的两个显著特点1.2、FOF天生的不足之处 2 FOF的分类2.1、按投资标的区分2.2、按所投资基金的管理权归属区分2.3、按投资基金种类的不同区分2.4、按FOF与其标的基金的管理运作方式(主动…

【Linux】system V共享内存与信号量

目录 一、前言 二、共享内存 1、基本原理 2、实现代码 2.1、创建共享内存 2.2、释放共享内存 2.3、关联共享内存 2.4、与共享内存去关联 2.5、进程间通信 2.6、补充内容 三、system V信号量 1、概念 2、信号量 3、相关接口 3.1、获取信号量 3.2、释放信号量 …

机器学习模型————分类模型

K近邻(KNN) 逻辑斯提回归 Sigmoid函数(压缩函数) 梯度下降法求解

叶工好容2-云原生网络

前言 IT行业中网络技术本身就是最枯燥但又最复杂的一块,kebernetes用到的这些虚拟网络技术更是难上加难,许多知识点容易记混淆,或者说能背过概念但不清楚它出现的前因后果和应用场景,本篇博文会按照底层协议->上层技术->顶…

工业园区的智慧安监方案:AI视频边缘计算技术的应用场景剖析

一、方案背景 针对工业园区化工企业多且安全及环保等方面存在风险高、隐患多、精细化管控复杂的情况,需要全面整合并优化园区现有基础设施、系统平台等信息化资源,建立园区的智能化风险预警管理平台,利用信息化手段,增强园区安全…

Baklib知识库搭建平台产品操作手册

产品概述 Baklib是一款专业的知识库搭建平台,它帮助客户搭建内部知识库和对外帮助中心。在今天的信息时代,知识已经成为组织的核心竞争力,而Baklib正是为了帮助组织构建完整的知识体系,提高组织的核心竞争力而生。 Baklib具有以…

刷题之另类加法与走方格的方案数

目录 一、编程题 1.另类加法 2.走方格的方案数 二、选择题 一、编程题 1.另类加法 链接:另类加法_牛客题霸_牛客网 (nowcoder.com) 描述 给定两个int A和B。编写一个函数返回AB的值,但不得使用或其他算数运算符。 测试样例: 1,2 返回&am…

GitHub简单使用

一、安装git客户端(查看版本git --version): Linux:yum install -y git Mac:brew install git windows:https://git-scm.com/downloads 配置git(可通过git config --list查看配置的内容): git config --global user.name "用户名&qu…

计算机视觉——day89 Restormer:高效的高分辨率图像恢复变压器(CVPR简读)

Restormer:高效的高分辨率图像恢复变压器(CVPR简读) 1. Introduction3. Method4. 实验与分析5. 结论 Restormer: Efficient Transformer for High-Resolution Image Restoration 1. Introduction 摘要部分简要总结了一下当前transformer的广…

(附源码)计算机毕业设计Java对外汉语教学辅助平台

项目运行 🍅包售后,包调试,包讲解🍅 🍅获取方式1:文章末尾获取联系🍅 🍅获取方式2:点我进入,文章末尾获取联系🍅 🍅包售后,包调试,包讲…

SpringBoot 创建和使用

SpringBoot 创建和使用 1. 初识 SpringBoot Spring 的诞生是为了简化 java 程序的开发 , 而Spring Boot 的诞生是为了简化 Spring 程序开发. Spring boot 翻译以下就是"脚手架" , 有了脚手架就可以快速的开发和使用 Spring . 2. Spring Boot 优点 快速的集成框架…

【JSON】谷歌浏览器JSON可视化插件:JSON-Handle

摘要 : JSON-handle是一款对JSON格式的内容进行浏览和编辑,以树形图样式展现JSON文档,并可实时编辑。 今天我推荐一款chrome/Firfox下处理json的插件JSON-handle,这个应该是我用过最好最方便的了。 插件功能 实际开发工作中经常用到json数据&…

基于无线传感网络(WSN)的目标跟踪技术(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 无线传感器网络由于其自组织性、鲁棒性及节点数量巨大的特点,非常适合于目标跟踪。无线传感器网络中的移动目标跟踪实际上就是…

centerpoint论文和代码解读

目录 一、序论 二、论文结构 三、代码 论文地址: https://arxiv.org/pdf/2006.11275.pdf 代码地址:tianweiy/CenterPoint (github.com) 一、序论 centorpoint是一种anchor-free的方法,直接预测物体的中心点,然后直接回归其wh…

《微服务实战》 第四章 Spring Cloud Netflix 之 Eureka

前言 Eureka 是 Netflix 公司开发的一款开源的服务注册与发现组件。 Spring Cloud 使用 Spring Boot 思想为 Eureka 增加了自动化配置,开发人员只需要引入相关依赖和注解,就能将 Spring Boot 构建的微服务轻松地与 Eureka 进行整合。 1、Eureka 两大组…

三维后处理与重建PACS源码,大容量图像存储 报告单多种模式及自定义样式

医学影像系统源码 三维后处理与重建PACS源码 医学影像系统由PACS系统、RIS系统组成,同时提供与HIS的接口(HL7或其他类型)。 主要功能介绍 信息预约登记 支持对患者、检查项目、申请医生、申请单据、设备等信息进行管理。且支持检查病人排…

SwiftUI中DatePicker学习

在界面开发中,经常要使用到DatePicker控件,如年月日,时分选择。 但我们还要修改它的显示方式,文字语言,及其他功能 先看下最简单的调用方法就是: State private var date Date()var body: some View {D…

STM32F10X--中断

中断 中断优先级数值越小,中断优先级越高 中断编程的顺序 1、使能的是外设,配置外设寄存器 2、配置中断优先级分组,在msic.h里面有中断优先级组分组函数 这个函数里面配置了SCB->AIRCR寄存器 3、配置NVIC寄存器,初始化NVIC…

可视化和回归分析星巴克咖啡在中国的定价建议

可视化和回归分析星巴克咖啡在中国的定价建议。星巴克的拿铁大杯Tall 在各国的价格。 Claude AI | 代码自动生成的数据可视化代码 选择Claude AI 而非 ChatGPT的理由是前者更懂中文​!具体可以参见我前面的两篇文章对比两者的中英文翻译的表现及使用安装等难易程度​…