CS-Enemy知识点

这篇博客介绍了如何在Unity中使用枚举类型定义敌人状态,并通过状态机控制敌人的行为。代码示例展示了如何根据敌人与玩家的距离和方向切换敌人的Idle、Run、Attack和Death状态,同时播放相应的动画和处理攻击逻辑。
摘要由CSDN通过智能技术生成

 public enum EnemyState
    {
        Idle,
        Run,
        Attack,
        Death
    }
    EnemyState E = EnemyState.Idle;
        void Get(EnemyState E)
    {
        switch (E)
        {
            case EnemyState.Idle:
                an.Play(GameResources.EnemyIdle);
                break;
            case EnemyState.Run:
                an.Play(GameResources.EnemyRun);
                break;
            case EnemyState.Attack:
                an.Play(GameResources.EnemyAttack);
                break;
            case EnemyState.Death:
                an.Play(GameResources.EnemyDeath);
                break;
            default:
                break;
        }
    }
        Animation an;
        Transform Player;
        float speed = 100f;
        Text tex

本项目是一个基于SSM(Spring+SpringMVC+MyBatis)框架和Vue.js前端技术的大学生第二课堂系统,旨在为大学生提供一个便捷、高效的学习和实践平台。项目包含了完整的数据库设计、后端Java代码实现以及前端Vue.js页面展示,适合计算机相关专业的毕设学生和需要进行项目实战练习的Java学习者。 在功能方面,系统主要实现了以下几个模块:用户管理、课程管理、活动管理、成绩管理和通知公告。用户管理模块支持学生和教师的注册、登录及权限管理;课程管理模块允许教师上传课程资料、设置课程时间,并由学生进行选课;活动管理模块提供了活动发布、报名和签到功能,鼓励学生参与课外实践活动;成绩管理模块则用于记录和查询学生的课程成绩和活动参与情况;通知公告模块则实时发布学校或班级的最新通知和公告。 技术实现上,后端采用SSM框架进行开发,Spring负责业务逻辑层,SpringMVC处理Web请求,MyBatis进行数据库操作,确保了系统的稳定性和扩展性。前端则使用Vue.js框架,结合Axios进行数据请求,实现了前后端分离,提升了用户体验和开发效率。 该项目不仅提供了完整的源代码和相关文档,还包括了详细的数据库设计文档和项目部署指南,为学习和实践提供了便利。对于基础较好的学习者,可以根据自己的需求在此基础上进行功能扩展和优化,进一步提升自己的技术水平和项目实战能力。
假如你是Python老师以下是我的答辩作业,你会问我哪些问题并给出答案import pygame import random # 游戏窗口大小 SCREEN_WIDTH = 800 SCREEN_HEIGHT = 600 # 颜色定义 BLACK = (0, 0, 0) WHITE = (255, 255, 255) RED = (255, 0, 0) # 初始化游戏 pygame.init() screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT)) pygame.display.set_caption("Challenging Game") clock = pygame.time.Clock() # 创建玩家矩形 player_rect = pygame.Rect(0, 0, 50, 50) player_rect.centerx = SCREEN_WIDTH // 2 player_rect.centery = SCREEN_HEIGHT // 2 player_speed = 5 # 创建敌人列表 enemies = [] enemy_size = 30 enemy_speed = 2 for _ in range(10): enemy_rect = pygame.Rect(0, 0, enemy_size, enemy_size) enemy_rect.x = random.randint(0, SCREEN_WIDTH - enemy_rect.width) enemy_rect.y = random.randint(0, SCREEN_HEIGHT - enemy_rect.height) enemies.append(enemy_rect) # 创建目标对象 target_rect = pygame.Rect(0, 0, 20, 20) target_rect.x = random.randint(0, SCREEN_WIDTH - target_rect.width) target_rect.y = random.randint(0, SCREEN_HEIGHT - target_rect.height) # 游戏主循环 running = True score = 0 while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False keys = pygame.key.get_pressed() if keys[pygame.K_LEFT] and player_rect.left > 0: player_rect.x -= player_speed if keys[pygame.K_RIGHT] and player_rect.right < SCREEN_WIDTH: player_rect.x += player_speed if keys[pygame.K_UP] and player_rect.top > 0: player_rect.y -= player_speed if keys[pygame.K_DOWN] and player_rect.bottom < SCREEN_HEIGHT: player_rect.y += player_speed # 更新敌人位置 for enemy_rect in enemies: enemy_rect.x += random.randint(-enemy_speed, enemy_speed) enemy_rect.y += random.randint(-enemy_speed, enemy_speed) # 检测玩家与敌人的碰撞 for enemy_rect in enemies: if player_rect.colliderect(enemy_rect): running = False # 检测玩家与目标的碰撞 if player_rect.colliderect(target_rect): score += 1 target_rect.x = random.randint(0, SCREEN_WIDTH - target_rect.width) target_rect.y = random.randint(0, SCREEN_HEIGHT - tar
06-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值