首页 > 编程语言 >Pocket Monsters口袋怪兽 算法实现

Pocket Monsters口袋怪兽 算法实现

时间:2024-03-20 12:44:19浏览次数:20  
标签:怪兽 进化 代码 战斗 Pocket 任务 测试 Monsters 口袋妖怪

作业1.1-口袋怪兽关键信息您的任务这是一项个人开卷家庭作业。它涉及到与一个坏掉的游戏进行交互归结为一组编程问题。我们提供了一小组测试,允许您检查解决方案的正确性。然而,这些测试并不是详尽无遗的,通过测试也不是保证满分。您应该执行自己的测试,以确保您的解决方案已编码正确地代码脚手架可以在这里找到。不要分叉存储库。请改用“使用模板”按钮。FORKS可能在的任何人违反学术诚信并承担相应的处罚。标记值这项作业值100分。50分代表代码。个人50分将在第6周进行的理论知识笔试到期日作业的代码部分将于第5周星期四(2024年3月28日下午11.55墨尔本)到期克莱顿学生上课时间,马来西亚学生上课时间下午11点55分)对于马来西亚学生-由于我们不能延长马来西亚学生的截止日期,任何在截止日期的最后3小时内提交的材料将被标记为Ed迟到,但不会被认为迟到了。请忽略此消息。屈服作业的最终提交将通过教育部完成。有关如何提交评估标准请检查评估标准的准则逾期罚款在长达一周的时间内,每个日历日或其部分时间扣减10%截止日期后超过7个日历日的提交将获得零(0)和否的分数将提供评估反馈。生成人工智能工具不能用于此评估任务:在此评估中,您不得使用生成人工智能(AI)生成与评估任务有关的任何材料或内容。欢迎使用A1.1-口袋妖怪!欢迎来到神奇宝贝的奇妙世界。Pokemon Battles是一款在团队之间进行的游戏反对口袋妖怪,试图看看谁是最棒的,就像从来没有人一样!口袋妖怪有攻击和防御等属性,可以进化成其他怪物,并升级。在这项任务中,你将致力于口袋妖怪战斗游戏的许多功能还应该测试你应用前4周所涵盖概念的能力算法基础。但是,这太容易了!为了确保您演示了本单元中涵盖的所有主题有以下限制。禁止使用python内置的列表、字典、集合等。使用此类结构明渠受影响任务的测试用例和方法标记。但是,您可以使用固定大小元组。(也请阅读论坛中的常见问题公告。)在类的定义之外访问data_structures类的内部是严格禁止(例如,您不能访问CircularQueue的.array,只能与交互其方法)您的代码不仅需要具有功能性,还需要是最有效的选择最适合这个问题。一般来说,如果有一种选择是有效的,并且要求更少代码,不选择这个将丢失标记(所以当队列也会工作记住所有这些,一定要阅读下一张幻灯片中的一些小花絮,我们希望你享受这项任务!重要信息、提示和技巧重要信息、提示和技巧在您开始使用该应用程序之前,请阅读这些提示和技巧,代 写Pocket Monsters以确保您不会迷路,否则就会失去任何愚蠢的分数!常见错误/建议除了任务1之外,您实现的每个方法都需要在docstring。这应该包括最佳和最坏情况分析!一定要说明你的变量您可以在类定义的顶部包含一个catch-all,以避免为一堆方法。“除非另有说明,否则此类中的所有方法都是O
(1)最佳/最差的案例"你在Ed中被标记为正确。你的代码是否在本地通过并不重要,它需要通过教育。如果你在实现平等方面遇到困难,请联系助教。请注意使用的特定Python版本,不要导入任何其他第三方模块。将代码分成最多20行的小方法,如果找很多重复的工作。运行测试要运行测试,请调用python
3 run_tests.py。请注意,您可以使用第二个论点。例如,运行python
3 run_tests.py 1将仅从tests/test_task1文件。注意:这将绕过通过手动输入任务编号的需要促使口袋妖怪战斗基本介绍基本前提精灵宝可梦有名无实的口袋妖怪是口袋妖怪战斗的中坚力量。有不同类型的口袋妖怪每个都有自己的名字和统计数据,一种类型的口袋妖怪可以进化成另一种类型当他们升级时,口袋妖怪。口袋妖怪有以下信息:健康数量防御类型战斗力(攻击点)名称进化线经验速度这些统计数据将在未来的任务中涵盖,但以下是其中每一项的简要概述:1.生命值-这是一个统计数据,可以让你知道口袋妖怪在晕倒前有多少生命值。一旦口袋妖怪受到攻击,它就会失去一些生命值,一旦生命值降至0,口袋妖怪昏厥2.等级-这个数据指的是口袋妖怪的等级。一旦一个口袋妖怪与另一个战斗让它变得微弱,口袋妖怪的等级上升了1,提升了它的大部分其他属性。3.防御-这个属性是指口袋妖怪受到攻击时提供的抵抗力。当我们讨论战斗时,你会了解更多关于这个数据的使用。4.类型-口袋妖怪的类型会影响它对另一个口袋妖怪造成的伤害。你会在任务1中了解更多信息。5.战斗力-这个数据是指一个口袋妖怪在战斗的过程。6.名称-这是指口袋妖怪的名称7.进化系列-这是这一系列口袋妖怪的进化名称列表。此列表的长度可能会有所不同,因为许多口袋妖怪不会进化,在某些情况下进化一次甚至两次!8.经验-这个数据指的是口袋妖怪的经验。口袋妖怪获得经验从与另一只口袋妖怪的战斗中解脱出来。9.速度-这个数据指的是口袋妖怪的速度。速度决定口袋妖怪的速度口袋妖怪攻击速度越快。什么是PokemonBase?因为有70多个口袋妖怪需要定义,我们不想写出所有的类个别地。特别是,因为几乎所有口袋妖怪的逻辑都是一样的,所以我们必须所做的就是在PokemonBase中定义这个共享逻辑。然后Pokemon.py创建不同的类从PokemonBase继承,并实现底部的所有抽象类方法pokemon_base.py。例如,您可以在不接触作业的情况下执行以下操作,而且效果很好:来自口袋妖怪进口Charmander,Gastlycharmander=charmander()gastly=gastly()print(charmander.get_name())#charmanderprint(charmander.get_poketype())#poketype。火灾print(gastly.get_evolution())#[“gastly”、“Haunter”、“Gengar”]团队口袋妖怪被组合成团队,用于战斗。有多种选择团队,如团队模式和选择模式,但这些将在任务3中详细介绍。击球击球是以回合制的方式在两支队伍之间进行的,每一个“回合”都包括一个动作来自两个团队。在一场战斗中,每支队伍都会选择一只目前在场上的口袋妖怪,而每个团队的其他成员都在等待帮助。作战解剖学在一场战斗中,回合不断发生,直到一支或两支队伍中没有更多的口袋妖怪(在队伍中以及在球场上)。如果场上的一个口袋妖怪被杀死(生命值<=0),那么团队中的一个新口袋妖怪是在转弯结束时发出。转向解剖学在战斗回合中,每支队伍选择一个动作,攻击、特殊或特警。如果选择SWAP

标签:怪兽,进化,代码,战斗,Pocket,任务,测试,Monsters,口袋妖怪
From: https://www.cnblogs.com/kantong/p/18084964

相关文章

  • B. Monsters Attack!
    原题链接题解什么时候会输?首先我们要贪心一次性把离自己最近的怪物消灭掉,但是一回合内消灭掉了一个怪物之后还有剩余,我么就把剩余的扣在第二个离自己最近的怪物上如果我当前回合没有消灭怪物,并且怪物下一回合就到零点,那我就输了我们可以想象成这样的动画:我们每回合一次性往怪......
  • D. Berserk Monsters
    原题链接题解1.最笨的想法,链表,每次在还没被杀死的怪物里遍历一遍,如果被杀死了就从链表中删除这个节点但是TLEon#72.进阶想法,仍然是链表,我们想,如果有些怪物永远都不会被杀死,那我们就没必要遍历它。所以我们从可能被杀死的怪物中遍历如果一个怪物这个回合被杀死,但是在上个回......
  • CF526F Pudding Monsters 题解
    题目链接:CF或者洛谷析合树真是连续段问题的降智神器先看下题目的一些特殊性,每行每列恰好有一个棋子。考虑特殊性,\(n\timesn\)的棋盘,那么就该判断是否有\(n\)个棋子,容易观察到,也就是相当于每一行并且每一列都有一个棋子。而容易知道,这些棋子所在的行或者列拿出来应当是“......
  • CF1784C Monsters (hard version) 题解 线段树
    题目链接:https://codeforces.com/problemset/problem/1784/C题目大意:你面前有\(n\)只怪兽,每只怪兽都有一个初始血量,你可以进行两类操作:操作1:选择任意一个血量大于\(0\)的怪兽,并将它的血量降低\(1\);操作2:将所有存活的怪物的血量各自减去\(1\),如果存在怪物的血量恰好降为......
  • CodeForces 1060G Balls and Pockets
    洛谷传送门CF传送门NOIP模拟赛T2。很厉害的题。想象数轴上\(a_1,a_2,\ldots,a_n\)位置上各有一个洞,每个非负整数位置上有一个点。每次操作相当于,对于每个点,如果它刚好位于一个洞,那么它会掉进去;否则设它的位置为\(p\),位置在它前面的洞有\(t\)个,那么这个点的位置变成......
  • Tiny Pockets:将成人和儿童的创意融合成神奇故事的世界
    故事是孩子们成长过程中的重要伴侣,也是创意和想象力的源泉。为了让孩子们的创意和大人的智慧相结合,TinyPockets应运而生,借助人工智能技术创造独特的故事。它开启了一个神奇的世界,将成人和儿童的创意融合成令人惊叹的奇幻故事。本文将深入介绍TinyPockets的作用及其在创意故事领域......
  • CF526F Pudding Monsters
    CF526FPuddingMonsters题意给定一个\(n\timesn\)的棋盘,其中有\(n\)个棋子,每行每列恰好有一个棋子。求有多少个\(k\timesk\)的子棋盘中恰好有\(k\)个棋子。\(n\le3\times10^5\)。题解首先注意到每行每列只有一个数这个性质。这意味着我们可以将这个二维数......
  • AcWing 4798. 打怪兽题解
    可以从\(1\)枚举到\(n\)表示要打多少个怪兽。因为你要打\(t\)个怪兽,并不管顺序,所以我们可以对\([1,t]\)这一段进行排序,然后计算\(a[t],a[t-2],a[t-4],\dots\)即可(因为你要干掉第\(t\)个怪兽的时候,必须要使用\(a[t]\)的法力值,因为排过序,所以连着\(t-1\)......
  • 创业也有“捷径”可选?怪兽充电用自身实力说话
    市场多样化的背景下,创业成为越来越多人的选择,有人的创业之旅开展得十分顺利,而有人的创业很快就无疾而终了。除市场选择以外,平台的选择也是非常关键的。在共享充电领域,很多创业者会选择怪兽充电这个平台,在平台提供的多重助力下,顺利开展业务。作为上市企业,怪兽充电的抗风险能......
  • CF325C - Monsters and Diamonds
    我们首先考虑建图。我们把每个点向它的所有变换连边,把每个变换往它产出的所有点连边,同时点到变换的边有边权,就是变换中\(-1\)的个数。我们首先处理最小值。我们发现,没有出度的点和变换可以一开始就有结果。只要一个点有一个变换是可以有结果的,这个点就可以有结果。变换则不然,必......