ในการท้าทายนี้คุณจะต้องสร้างมิตรภาพโดยมีเป้าหมายในการเอาชนะมิตรภาพอื่น ๆ ทั้งหมดในการต่อสู้
คบหา (ทีม) ประกอบด้วย 3 ตัวอักษร ตัวละครแต่ละตัวจะเคลื่อนไหวอย่างอิสระจากทีมที่เหลือ แต่พวกเขาจะต้องทำงานร่วมกันเมื่อต้องต่อสู้กับศัตรูของคุณ ทีมจะเผชิญหน้ากันในลักษณะหมุนหัว การชนะมีค่า 3 คะแนนความสัมพันธ์มีค่า 1 คะแนนและการสูญเสียมีค่า 0 คะแนน
ตัวละครมีความสามารถ การเลือกความสามารถของตัวละครของคุณคือส่วนที่สำคัญที่สุด (และสนุก) ใน KotHนี้ พวกเขาแข็งแกร่งและมีศักยภาพที่จะกำจัดศัตรูของคุณ
ตัวละครมีคะแนนสุขภาพ (HP) และเมื่อฮิต HP ของพวกเขา (หรือไปด้านล่าง) 0, พวกเขาตาย หากตัวละครทั้งหมดในทีมของฝ่ายตรงข้ามเสียชีวิตคุณก็จะชนะ!
ตัวละครมีมานา การกระทำส่วนใหญ่ต้องการมานาในการดำเนินการและหากคุณมีไม่เพียงพอการกระทำนั้นจะไม่สามารถใช้ได้สำหรับคุณ
ตัวละครมีความล่าช้าในการเปิด สิ่งนี้จะกำหนดจำนวนของการทำเครื่องหมายระหว่างแต่ละรอบ (เริ่มต้นที่ 100) ต่ำกว่าดีกว่า
ตัวละครมีแอตทริบิวต์ ตัวละครแต่ละตัวมีฐาน 5 ตัวในแต่ละคุณลักษณะและคุณจะได้รับ 20 คะแนนคุณลักษณะเพิ่มเติมเพื่อแบ่ง หลังจากกำหนดคะแนนแอตทริบิวต์แล้วแอตทริบิวต์หลักของคุณจะถูกตั้งค่าเป็นแอตทริบิวต์สูงสุดของคุณ
คุณลักษณะที่มีคือ:
- ความแข็งแกร่ง: ให้ 10 Max HP และ. 5 HP ต่อเทิร์น
- หน่วยสืบราชการลับ: ให้ 7 มานาสูงสุดและ. 1 มานาต่อเทิร์น
- Agility: ลดการหน่วงเวลาการหมุน 1
การเคลื่อนไหว, วิสัยทัศน์, ช่วงของ
ช่วงมีดังนี้ (อยู่กึ่งกลางรอบ 0) บางช่วงมีความสำคัญซึ่งหมายความว่าพวกเขาสามารถขึ้นลงทางซ้ายขวาหรือลงเท่านั้น
444
43334
4322234
432111234
432101234
432111234
4322234
43334
444
ตัวละครมีวิสัยทัศน์เริ่มต้นที่ 2 มีการแบ่งปันวิสัยทัศน์ระหว่างผู้เล่นที่มีมิตรภาพเดียวกัน
วิธีการเล่น
ผู้เล่นก่อสร้างจะสร้างมิตรภาพของพวกเขา คุณต้องทำตามขั้นตอนต่อไปนี้ :
ให้แต่ละจุดแอตทริบิวต์ตัวอักษร ตัวละครแต่ละตัวเริ่มต้นด้วย 5 ในแต่ละสถานะพร้อมกับอีก 20 เพื่อกระจายระหว่าง 3
ให้แต่ละความสามารถของตัวละคร อักขระแต่ละตัวเริ่มต้นด้วยสล็อตความสามารถ 4 ตัวและความสามารถจะใช้ 1 ช่องโดยค่าเริ่มต้น ความสามารถบางอย่างสามารถทำซ้ำได้และสามารถให้กับตัวละครหลายครั้ง ไม่อนุญาตให้ใช้ชุดความสามารถของการส่งอื่นโดยไม่ได้รับอนุญาตจากเจ้าของ
เขียนรหัสสำหรับบอทของคุณ รหัสจะต้องเป็น Java และจะใช้สำหรับการต่อสู้ (ขั้นตอนต่อไป)
การปฏิบัติ
ตัวละครทุกตัวเริ่มต้นด้วยการกระทำมาตรฐาน 3 อย่าง:
- ขั้นตอน : ย้ายตัวละครของคุณในช่วงที่สำคัญ 1
- Slice : โจมตีศัตรูให้กับPrimaryAttributeในช่วงที่สำคัญ 1
- ยิ้ม : ไม่ทำอะไรเลย
ในเทิร์นของตัวละครจากนั้นจะต้องเลือกการกระทำที่จะดำเนินการ การดำเนินการอาจมีต้นทุนมานาและอาจมีคูลดาวน์ซึ่งกำหนดจำนวนรอบที่คุณต้องรอก่อนที่จะดำเนินการนั้นอีกครั้ง
ความสามารถ
ทุกตัวละครมี 4 ช่องความสามารถ หากความสามารถเป็นตัวเอียงมันเป็นการกระทำ
ความสามารถ
ชื่อคำอธิบายมานะคูลดาวน์ Mobility Blink ย้ายไปที่ตารางช่วง 4 2 2 Swap สถาน Swap กับเป้าหมาย 5 5 Teleport ย้ายได้ทุกที่ 20 5 Dash เพิ่มช่วงของขั้นทีละ 1 ทำซ้ำได้ Mobile Step สามารถเคลื่อนที่ได้ใน 8 ทิศทาง ทุ่ม Quick Slice สองครั้ง 3 0 Weave Slice ศัตรูที่มองเห็นได้ทั้งหมด 15 ครั้ง 10 ดูดซับ Slice แต่ละอันจะขโมย 1 ในแอตทริบิวต์หลักของเป้าหมายของคุณ กินเวลา 20 รอบ Cleave Each Slice สร้างความเสียหาย 1/2 กับศัตรูที่อยู่ใกล้เคียง Critital เพิ่มโอกาส 30% ที่ Slice จะสร้างความเสียหาย 200% ซึ่งทำซ้ำได้ Feast Each Slice จะเพิ่ม HP ของคุณ 3 ครั้งทำซ้ำได้ Slice แบบยืดหยุ่นได้ใน 8 ทิศทางใด ๆ มานาขโมย Slice ขโมย 2 มานา ซึ่งทำซ้ำได้ Reflexive Slice เมื่อหั่นบาง ๆ 0 3 Ranged เพิ่ม 1 เข้ากับช่วงของ Slice ปัดชิ้นที่ต่อเนื่องกันบนเป้าหมายเดียวกันสร้างความเสียหายได้มากกว่า 3 ครั้ง สถานะ ปัดเป่า ลบสถานะทั้งหมดออกจากเป้าหมาย ช่วงที่ 2 20 10 Duel ตรึงคุณและเป้าหมายไว้จนกว่าคุณจะตาย ระยะ 1 25 0 ทำให้ล้มลง คุณและเป้าหมายจะติดสตันในอีก 1,000 ติ๊ก 10 10 ดาวตก ศัตรูทั้งหมดจะถูกสตัน 100 แต้มต่อ 25 25 10 เป้าหมายLeashถูกแช่แข็งสำหรับรอบถัดไปของพวกเขา 4 6 พิษ พิษสำหรับ 1 HP เป็นเวลา 5 รอบ 5 0 ความเงียบ เป้าหมายถูกปิดเสียงสำหรับ 5 รอบ 5 7 ช้า เป้าหมายจะช้าลง 40 เห็บสำหรับ 3 รอบถัดไป 10 5 Stun เป้าหมายจะถูกสตันสำหรับอีก 300 เห็บ 10 10 เย็นตัวละครอื่น ๆ ทั้งหมดในระยะ 2 จะถูกชะลอความเร็วโดย 10 เห็บ ภูมิคุ้มกันไม่มีสถานะใดที่สามารถใช้ได้กับคุณ เกี่ยวกับการป้องกัน Force Field Block ถัดไป 5 แหล่งของความเสียหาย ไม่ซ้อน 15 5 Ghost เพื่อการเทิร์นความเสียหายทั้งหมดจะรักษา 10 10 Heal Heal Target สำหรับ 20 HP 10 3 การ คืนค่า ทุกยูนิตจะถูกฟื้นฟูให้กลับสู่สภาพเต็มพลัง 20 40 Shield คุณไม่สามารถถูกหั่นได้จนกว่าเทิร์นถัดไปของคุณ 3 0 หลบหลีกโอกาส 25% ที่ Slice จะไม่โจมตีคุณ ซึ่งทำซ้ำได้ เสาสามารถหั่นได้เพียงครั้งเดียว ฟื้นคืนชีพเมื่อถูกสังหารให้กลับมามีชีวิตด้วย HP เต็ม (และไม่มีสถานะ) 0 40 Spikes เมื่อทำดาเมจได้รับความเสียหายครึ่งหนึ่งของดาเมจ วิสัยทัศน์ Cloak Team จะมองไม่เห็นเป็นระยะ 5 ครั้ง 20 20 ซ่อน คุณมองไม่เห็นเป็น 5 เทิร์น 4 7 เฟส กลายเป็นล่องหนสำหรับ 1 เทิร์น 0 3 Track Target ไม่สามารถล่องหนได้และรับความเสียหายมากขึ้น 10% ระยะเวลา 10 รอบ 5 5 ระยะการมองเห็นของศัตรูความมืดลดลง 1 Stacks แต่ไม่สามารถต่ำกว่า 1 ได้ Far Sight Sight Range เพิ่มขึ้น 2 ทำซ้ำได้ Invisible คุณจะมองไม่เห็นถ้าคุณเริ่มมองเห็นศัตรู True Sight เผยยูนิตที่ซ่อนอยู่ทั้งหมดในระยะที่ 2 เมื่อถึงจุดเริ่มต้น ความเสียหาย Drain สร้างความเสียหาย 5 เป้าหมายแก่เป้าหมายและรักษาตัวเอง 5 HP ในขณะที่อยู่ในระยะ 1 10 10 Lightning สร้างความเสียหาย 15 เป้าหมายแก่ศัตรูทั้งหมด 20 10 K / O สังหารเป้าหมายหากเป้าหมายต่ำกว่า 20% HP 20 0 กับดักกับดัก ที่มองไม่เห็น กับดักจะสร้างความเสียหาย 15 ดาเมจเมื่อเหยียบ สแต็ค 10 2 Zap สร้างความเสียหาย 30 ต่อเป้าหมาย 30 5 สร้างความเสียหาย 5 ดาเมจทุกเทิร์นให้กับศัตรูทั้งหมดภายในระยะ 1 ซึ่งทำซ้ำได้ สถิติ Werewolf เพิ่ม 10 ในสถิติทั้งหมดเป็นเวลา 5 รอบ 30 25 บัฟเพิ่มพูล HP ของคุณเป็นสองเท่า ซึ่งทำซ้ำได้ การกระทำที่ฉลาดมีคูลดาวน์ที่สั้นลง 20% ซึ่งทำซ้ำได้ เน้นเพิ่มอัตราการมานาของคุณเป็น Int / 10 ซึ่งทำซ้ำได้ Regenerate เพิ่มอัตรา Regneration ของคุณด้วย Strength / 2 ซึ่งทำซ้ำได้ การกระทำที่ชาญฉลาดนั้นใช้มานาน้อยกว่า 2 ซึ่งทำซ้ำได้ แข็งแรงคุณจะได้รับ 10 คะแนนคุณลักษณะ ซึ่งทำซ้ำได้ อ่อนแอคุณเสีย 15 คะแนนคุณลักษณะ คุณได้รับความสามารถ 2 ช่อง (สิ่งนี้จะเป็นหนึ่งในนั้น) อื่น ๆ แบร์ สามารถเรียกหมีที่มี 5 ในแต่ละสถิติ 8 10 โคลน โคลนด้วยตัวคุณเอง ใช้ความสามารถสองช่อง 100 100 Steal แทนที่การกระทำนี้ด้วยการกระทำครั้งสุดท้ายที่ศัตรูใช้เป้าหมาย ใช้งานได้นาน 10 รอบ 5 0 กำแพง สร้างกำแพงที่ไม่สามารถใช้ได้บนพื้นที่ว่างเปล่าที่ถูกกำหนดเป้าหมายในช่วง 6 10 10
สถานะ:
- งันช่วยให้ตัวละครของคุณไปเพียงดำเนินการด้วยรอยยิ้มและกินเวลา X เห็บ
- ตรึงป้องกันตัวละครของคุณจากการเคลื่อนไหวและเป็นเวลา X เปลี่ยน
- ความเงียบช่วยป้องกันตัวละครของคุณไม่ให้ทำอะไรเลยนอกจากรอยยิ้มก้าวหรือสไลซ์และเปลี่ยนเป็น X
- พิษสร้างความเสียหายให้กับตัวละครของคุณสำหรับความเสียหาย X สำหรับ Y เทิร์น หากคุณใช้พิษอื่นความเสียหายจะรวมเข้าด้วยกันและระยะเวลาจะถูกรีเฟรช
- Slow เพิ่ม X เข้ากับจำนวนของการทำเครื่องหมายระหว่างรอบของคุณ มันจะไม่ส่งผลต่อเทิร์นที่กำลังจะมาถึงของคุณหลังจากนั้น
- สิ่งที่มองไม่เห็นนั้นทำให้คุณไม่สามารถมองเห็นหรือเสียหายจากคู่ต่อสู้ได้ หากคุณดำเนินการใด ๆ นอกเหนือจากขั้นตอนหรือรอยยิ้มการดำเนินการนั้นจะถูกลบออก หากฝ่ายตรงข้ามมีความสามารถในการมองเห็นของคุณพวกเขาจะหายตัวไป
สถานะทั้งหมด (ยกเว้นพิษ) ทำหน้าที่เป็นอิสระจากกัน
หมายเหตุด้านข้าง:
- หากมีเน็คไทสำหรับแอตทริบิวต์หลักมันจะถูกแก้ไขเป็น STR> AGI> INT
- คุณเล่นบนตาราง 10x10 ทีมจะถูกวางในฝั่งตรงข้าม
- เปอร์เซ็นต์สแต็กคูณยกเว้น Clever
กฎการส่ง
คุณต้องใช้งาน 2 ฟังก์ชั่น:
// Create *exactly* 3 Character templates. You must return the same templates every time
public List<CharacterTemplate> createCharacters();
// Choose an action for a character. If the action requires a target or location, it must be set.
public ReadonlyAction choose(Set<ReadonlyAction> actions, ReadonlyCharacter character);
นอกจากนี้คุณยังสามารถเข้าถึงตัวแปรสามตัว (ตัวแปรสมาชิก):
Set<ReadonlyCharacter> team;
Set<EnemyCharacter> enemies;
Map<Point2D, EnemyCharacter> visibleEnemies;
แค่นั้นแหละ. ด้านล่างนี้คุณสามารถค้นหา API ที่สมบูรณ์ตามลำดับตัวอักษร:
class Ability and ReadonlyAbility
int getNumSlots() returns the number of slots it takes up
boolean repeatable() returns true if the ability can be repeated
String name()
class Action and ReadonlyAction
Set<Point2D> availableLocations()
Set<ReadonlyCharacter> availableTargets()
boolean basicAction() returns true if the action is Smile, Step, or Slice
boolean breaksInvisibiliby()
int getCooldown() returns the cooldown cost (not the cooldown remaining)
int getManaCost()
String getName()
int getRemainingCooldown()
boolean isAvailable() returns true if the action can be performed
boolean movementAction() returns true if the action is prevented when Frozen
boolean needsLocation()
boolean needsTarget()
void setTarget(ReadonlyCharacter target)
void setLocation(Point2D location)
class CharacterTemplate
void addAbility(Ability)
boolean canAddAbility(Ability)
List<Ability> currentAbilities()
Map<Stat, Integer> currentAttributes()
int getRemainingPoints() returns the total number of ability points you have left to assign
int getRemainingSlots() returns the total number of slots you have to assign
int getStat(Stat stat)
boolean isValid() returns true if your character template is complete and valid
class Point2D
getX()
getY()
class Range
boolean isCardinal() returns true if the range only extends in the 4 cardinal directions
int getRange() returns the distance of the range
class ReadonlyCharacter and EnemyCharacter
Class characterClass()
int cleverness()
List<ReadonlyAbility> getAbilities()
Point2D getLocation() Not on EnemyCharacter
double getHealth()
double getMana()
int getMaxHealth()
int getMaxMana()
Range getSightRange()
Range getSliceRange()
int getStat(Stat stat)
Range getStepRange()
ReadonlyAction getLastAction()
boolean isFrozen()
boolean isStunned()
boolean isPoisoned()
int getPoisonAmount()
boolean isSilenced()
boolean isInvisible()
boolean isDead()
Stat primaryStat()
int smartness()
enum Stat
INT, STR, AGI
ข้างต้นคือฟังก์ชั่นทั้งหมดที่คุณอาจต้องการสำหรับการส่งของคุณ ไม่อนุญาตการสะท้อนกลับ หากการส่งไม่ถูกต้องไม่ว่าด้วยเหตุผลใดก็ตามโปรดลบออกหรือเพิ่ม "ไม่ถูกต้อง" ในส่วนหัว การส่งของคุณไม่ควรมีการประกาศแพ็คเกจ การส่งของคุณควรอยู่ในบล็อกรหัสหลายบรรทัดแรกและบรรทัดแรกจะต้องมีชื่อไฟล์
วิธีเรียกใช้โครงการ:
มีหลายวิธี:
- ดาวน์โหลดไฟล์ JAR
java -jar Fellowship.jar
และเรียกใช้ หากคุณต้องการดาวน์โหลดส่งอื่น ๆ-q 99744
ผ่านjava
ต้องชี้ไปที่ JDK ไม่ใช่ JRE - โคลนrepo คอมไพล์
gradle run
และวิ่ง คุณต้องมีการติดตั้ง gradle และหากคุณต้องการส่งอาร์กิวเมนต์ให้ใช้-PappArgs="['arg1', 'args2']"
- โคลนrepo คอมไพล์และรวบรวมด้วยตัวคุณเอง คุณจะต้องห้องสมุดต่อไปนี้:
org.eclipse.collections:eclipse-collections-api:8.0.0
,org.eclipse.collections:eclipse-collections:8.0.0
,com.beust:jcommander:1.48
,com.google.code.gson:gson:2.7
,org.jsoup:jsoup:1.9.2
หากคุณโคลนคุณต้องใช้การ--recursive
ตั้งค่าสถานะและเมื่อคุณดึงการอัปเดตให้รวม--recurse-submodules
สำหรับข้อใดข้อหนึ่งข้างต้นคลาสของคุณต้องไปที่submissions/java
โฟลเดอร์ ถ้าคุณกำลังใช้ gradle หรือคอมไพล์ด้วยตัวคุณเองคุณสามารถใส่คลาสลงในโครงงานได้ คุณจะต้องไม่แสดงข้อคิดเห็นบางบรรทัดในฟังก์ชั่นหลักและอัปเดตพวกเขาให้ชี้ไปที่ชั้นเรียนของคุณ
สกอร์:
+------+-------------------+-------+
| Rank | Name | Score |
+------+-------------------+-------+
| 1 | TheWalkingDead | 738.0 |
| 2 | RogueSquad | 686.0 |
| 3 | Spiky | 641.0 |
| 4 | Invulnerables | 609.0 |
| 5 | Noob | 581.0 |
| 6 | Railbender | 561.0 |
| 7 | Vampire | 524.0 |
| 8 | LongSword | 508.0 |
| 9 | SniperSquad | 456.0 |
| 10 | BearCavalry | 430.0 |
| 11 | StaticCloud | 429.0 |
| 12 | PlayerWerewolf | 388.0 |
| 13 | LongSwordv2 | 347.0 |
| 14 | Derailer | 304.0 |
| 15 | Sorcerer | 266.0 |
| 16 | CowardlySniperMk2 | 262.0 |
| 17 | TemplatePlayer | 59.0 |
+------+-------------------+-------+
หากคุณมีคำถามใด ๆ หรือต้องการความช่วยเหลือแสดงความคิดเห็นด้านล่างหรือเข้าร่วมห้องสนทนา ! ขอให้โชคดีและสนุก
Deal 15 damage to all enemies
แต่ศัตรูที่มองไม่เห็นนั้นไม่ได้รับผลกระทบจากสายฟ้า นี่เป็นข้อบกพร่องหรือไม่? มิฉะนั้นการล่องหนดูเหมือนว่าจะแข็งแกร่งสำหรับฉัน ...