博客
关于我
CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码10
阅读量:341 次
发布时间:2019-03-04

本文共 2853 字,大约阅读时间需要 9 分钟。

Python数字内容与运算入门

德雅啤酒(似曾相识的味道)

本节将引入字符串连接与数字运算的基础知识,通过实际案例逐步学习Python的四则运算。

potionsOnTheWall = 10
numToTakeDown = 1
while True:
hero.say(potionsOnTheWall + " potions of health on the wall!")
hero.say(potionsOnTheWall + " potions of health!")
hero.say("Take" + str(numToTakeDown) + " down, pass it around!")
potionsOnTheWall -= numToTakeDown
hero.say(str(potionsOnTheWall) + " potions of health on the wall!")

本节通过递减药剂数量的方式,展示了如何在循环中使用字符串连接和数字运算来控制游戏中的逻辑流程。

巫师之门

本节将介绍如何通过移动和秘密号码的计算,完成一系列魔法操作。

hero.moveXY(30, 13)
las = hero.findNearestFriend().getSecret()
# 给 Laszlo 的数字加7得到 Erzsebet 的号码
erz = las + 7
hero.moveXY(17, 26)
hero.say(erz)
# 将 Erzsebet 的数字除以4得到 Simoyi 的号码
sim = erz / 4
hero.moveXY(30, 39)
hero.say(sim)
# 将 Simoyi 的数字乘以 Laszlo 的数字得到 Agata 的号码
aga = sim * las
hero.moveXY(43, 26)
hero.say(aga)

本节展示了如何通过简单的算术运算和移动指令,在游戏中完成一系列复杂的魔法操作。

Backwoods Bombardier(边地投弹)

本节将介绍如何定位敌人并执行投弹操作。

while True:
enemy = hero.findNearestEnemy()
if enemy:
x = enemy.pos.x
y = enemy.pos.y
hero.say(f"{x},{y}")
else:
hero.say("Cease Fire!")

本节通过循环查找最近敌人的位置并报告坐标,展示了如何在游戏中实现实时地对敌人位置的监控和反应。

巫师之 haunted(巫师出没)

本节将介绍如何通过一系列数学运算完成复杂的秘密号码计算。

hero.moveXY(18, 20)
zso = hero.findNearestFriend().getSecret()
# 将 Zsofia 的数字除以4得到 Mihaly 的数字
mih = zso / 4
hero.moveXY(30, 15)
hero.say(mih)
# 将 Mihaly 的数字除以5得到 Beata 的数字
bea = mih / 5
hero.moveXY(42, 20)
hero.say(bea)
# 将 Mihaly 的数字减去 Beata 的数字得到 Sandor 的数字
san = mih - bea
hero.moveXY(38, 37)
hero.say(san)

本节通过一系列除法、减法和移动指令,展示了如何在游戏中完成复杂的秘密号码计算流程。

金币屑

本节将介绍如何跟随金币轨迹到达特定位置。

while True:
item = hero.findNearestItem()
if item:
itemPosition = item.pos
itemX = itemPosition.x
itemY = itemPosition.y
hero.moveXY(itemX, itemY)

本节展示了如何通过查找并移动到金币的位置,完成游戏中的追踪任务。

巫师的飞机(巫师天际层)

本节将介绍如何通过一系列复杂的数学运算完成多步任务。

hero.moveXY(16, 32)
esz = hero.findNearestFriend().getSecret()
# 将 Eszter 的数字乘以3并减2得到 Tamas 的数字
tam = (esz * 3) - 2
hero.moveXY(24, 28)
hero.say(tam)
# 将 Tamas 的数字减1并乘4得到 Zsofi 的数字
zso = (tam - 1) * 4
hero.moveXY(32, 24)
hero.say(zso)
# 将 Tamas 和 Zsofi 的数字相加并除2得到 Istvan 的数字
ist = (tam + zso) / 2
hero.moveXY(40, 20)
hero.say(ist)
# 将 Tamas 和 Zsofi 的数字相加并得到 Csilla 的数字
# 最后,将 Csilla 的数字减去 Istvan 的数字得到最终结果
csi = (tam + zso) * (zso - ist)
hero.moveXY(48, 16)
hero.say(csi)

本节通过一系列复杂的数学运算和移动指令,展示了如何在游戏中完成多步任务流程。

白兔

本节将介绍如何通过跟随发光石的位置完成陷阱操作。

while True:
item = hero.findNearestItem()
if item:
x = item.pos.x
y = item.pos.y
hero.moveXY(x, y)

本节展示了如何通过查找并移动到发光石的位置,完成游戏中的陷阱任务。

未知的距离

本节将介绍如何计算最近敌人的距离。

def nearestEnemyDistance():
enemy = hero.findNearestEnemy()
result = 0
if enemy:
result = hero.distanceTo(enemy)
return result
while True:
enemyDistance = nearestEnemyDistance()
if enemyDistance > 0:
hero.say(enemyDistance)

本节通过编写函数和循环逻辑,展示了如何在游戏中计算并报告最近敌人的距离。

转载地址:http://txie.baihongyu.com/

你可能感兴趣的文章
Objective-C实现multilayer perceptron classifier多层感知器分类器算法(附完整源码)
查看>>
Objective-C实现multiplesThreeAndFive三或五倍数的算法 (附完整源码)
查看>>
Objective-C实现n body simulationn体模拟算法(附完整源码)
查看>>
Objective-C实现naive string search字符串搜索算法(附完整源码)
查看>>
Objective-C实现natural sort自然排序算法(附完整源码)
查看>>
Objective-C实现nested brackets嵌套括号算法(附完整源码)
查看>>
Objective-C实现nevilles method多项式插值算法(附完整源码)
查看>>
Objective-C实现newton raphson牛顿-拉夫森算法(附完整源码)
查看>>
Objective-C实现newtons second law of motion牛顿第二运动定律算法(附完整源码)
查看>>
Objective-C实现newton_forward_interpolation牛顿前插算法(附完整源码)
查看>>
Objective-C实现newton_raphson牛顿拉夫森算法(附完整源码)
查看>>
Objective-C实现ngram语言模型算法(附完整源码)
查看>>
Objective-C实现NLP中文分词(附完整源码)
查看>>
Objective-C实现NLP中文分词(附完整源码)
查看>>
Objective-C实现NMS非极大值抑制(附完整源码)
查看>>
Objective-C实现NMS非极大值抑制(附完整源码)
查看>>
Objective-C实现Node.Js中生成一个UUID/GUID算法(附完整源码)
查看>>
Objective-C实现not gate非门算法(附完整源码)
查看>>
Objective-C实现NQueen皇后问题算法(附完整源码)
查看>>
Objective-C实现number of digits解字符数算法(附完整源码)
查看>>