2017-11-04 Sa OCT codecombat
def hasEnemy():
e = hero.findNearestEnemy()
if e:
return True
else:
return False
def enemyTooClose():
e = hero.findNearestEnemy()
if e:
return hero.distanceTo(e) < 30
else:
return False
def healthTooLow():
return hero.health < 200
def nearestEnemyHook(hook):
if not hook:
return False
e = hero.findNearestEnemy()
if e:
hook(e)
return True
return False
def attackNearestEnemy():
nearestEnemyHook(hero.attack)
def bashNearestEnemy():
nearestEnemyHook(hero.bash)
def attackByType(eType):
t = hero.findNearest([x for x in hero.findEnemies() if x.type == eType])
if t:
hero.attack(t)
return True
else:
return False
def bashByType(eType):
t = hero.findNearest([x for x in hero.findEnemies() if x.type == eType])
if t:
hero.bash(t)
return True
else:
return False
def moveTo(i):
if i:
hero.moveXY(i.pos.x, i.pos.y)
return True
return False
def collectNearestItem():
i = hero.findNearestItem()
if i:
moveTo(i)
return True
return False
def moveToFlag(color):
f = hero.findFlag(color)
if f:
hero.pickUpFlag(f)
return True
return False
def desert_SarvenSiege():
# Defend your towers in this replayable challenge level!
# Step on an X if you have 20 gold to build a soldier.
def attack():
attackNearestEnemy()
def passiveAttack():
f = hero.findFlag("black")
if f:
hero.pickUpFlag(f)
attackNearestEnemy()
return True
return False
def buildSoldier():
pass
while True:
if not move():
attack()
if hero.gold >= 20:
buildSoldier()
def forest_backwoodsBrawl_lv0():
# Stay alive for one minute.
# If you win, it gets harder (and more rewarding).
# If you lose, you must wait a day before you can resubmit.
# Remember, each submission gets a new random seed.
while True:
attackNearestEnemy()
def forest_backwoodsBrawl_lv1():
# Stay alive for one minute.
# If you win, it gets harder (and more rewarding).
# If you lose, you must wait a day before you can resubmit.
# Remember, each submission gets a new random seed.
while True:
if not attackByType('thrower'):
attackNearestEnemy()
def forest_backwoodsBrawl_lv2():
# Stay alive for one minute.
# If you win, it gets harder (and more rewarding).
# If you lose, you must wait a day before you can resubmit.
# Remember, each submission gets a new random seed.
while True:
if not attackByType('thrower'):
attackNearestEnemy()
def forest_backwoodsBrawl_lv3():
# Stay alive for one minute.
# If you win, it gets harder (and more rewarding).
# If you lose, you must wait a day before you can resubmit.
# Remember, each submission gets a new random seed.
while True:
attackByType('thrower') or attackByType('orge') or attackNearestEnemy()
# Backwoods Treasure
# Gather gleaming gold from ogre-guarded groves in this player-created replayable level by Kevin Holland.
# It gets harder (and more lucrative) each time you win! But if you lose, you must wait a day to resubmit
#
# Goals
# Collect 100 gold
#
# Collect 100 gold from two or three groves.
# If you win, it gets harder (and more rewarding).
# If you lose, you must wait a day before you can resubmit.
# Remember, each submission gets a new random seed.
def forest_backwoodsTreasure_lv0():
while True:
attackNearestEnemy() or collectNearestItem()
def forest_backwoodsTreasure_lv1():
while True:
if hasEnemy():
if enemyTooClose() and healthTooLow():
attackNearestEnemy()
continue
collectNearestItem()
# Thoktar's clone army guards the gate to the Cloudrip Mountains.
# equip the 'simple sword' (6 damage) (have to equip one sword), only use bash. so that the cloned one use 'simple sword' too
# painted steel shield, 740 gold, 73.4 damage
def desert_clashofClones_v1():
# You'll need good strategy to win this one!
# Your clone will have the same equipment you have!
# But, they're not very skilled at using special powers.
def ass(e, t):
for i in e:
if i and i.type == t:
if t == 'scout' and hero.distanceTo(i) >= 10:
continue
hero.attack(i)
return True
return False
def has(e, t):
for i in e:
if i.type == t:
return True
return False
def fn(e, t): # find nearest
n = None
nd = 999999999
for i in e:
d = hero.distanceTo(i)
if i.type == t and d < nd:
n = i
nd = d
return (n, nd)
def a():
while True:
e = hero.findEnemies()
# scout first
if has(e, 'scout'):
(sc, scd) = fn(e, 'scout')
if has(e, 'archer'):
(ar, ard) = fn(e, 'archer')
if ard < scd:
hero.attack(ar)
hero.attack(sc)
# if ass(e, 'scout') or ass(e, 'archer'):
# pass
while True:
g = hero.findFlag("green")
if g:
hero.pickUpFlag(g)
continue
v = hero.findFlag("violet")
if v:
hero.pickUpFlag(v)
hero.shield()
b = hero.findFlag("black")
if b:
hero.pickUpFlag(b)
es = hero.findEnemies()
if False:#has(es, 'alejandro'):
(a, ad) = fn(es, 'alejandro')
hero.attack(a)
else:
e = hero.findNearestEnemy()
if e:
if hero.isReady("cleave"):
hero.cleave()
hero.attack(e)
def desert_clashofClones_v2():
while True:
moveToFlag('green') or bashByType('alejandro')
def desert_clashofClones_v3():
while True:
moveToFlag('green') or bashNearestEnemy()
def desert_clashofClones():
desert_clashofClones_v3()
# Sarven Treasure
# Gather 150 gold while evading ogres and running through teleporters. It gets harder (and more lucrative) each time you win! But if you lose, you must wait a day to resubmit.
# #Basic Syntax #Reading the Docs
#
# Goals
# Collect 150 gold
# Survive
#
# Collect 150 gold while evading ogres with teleporters.
# If you win, it gets harder (and more rewarding).
# If you lose, you must wait a day before you can resubmit.
# Remember, each submission gets a new random seed.
def desert_sarvenTreasure_lv0():
while True:
attackNearestEnemy() or collectNearestItem()
def desert_sarvenTreasure_lv1():
while True:
attackNearestEnemy() or collectNearestItem()
desert_clashofClones()
2017-11-04 Sa OCT codecombat的更多相关文章
- [软件工程基础]2017.11.04 第八次 Scrum 会议
具体事项 项目交接燃尽图 每人工作内容 成员 已完成的工作 计划完成的工作 工作中遇到的困难 游心 #10 搭建可用的开发测试环境:#9 阅读分析 PhyLab 后端代码与文档:#8 掌握 Larav ...
- 2017-11-11 Sa Oct 消参
2017-11-11 Sa Oct 消参 Prior versions: 2017-11-04 Sa Oct 消参 2017-11-10 Fr Oct 消参 2017-11-04 Sa $ P(-3, ...
- 2017-11-11 Sa Oct How to open a browser in Python
2017-11-11 Sa Oct How to open a browser in Python python -m webbrowser "http://www.example.com/ ...
- How to Write and Publish a Scientific Paper: 7th Edition(科技论文写作与发表教程)(11.04更新)
How to Write and Publish a Scientific Paper: 7th Edition(科技论文写作与发表教程)(11.04更新) 重要通知: 最近开题报告已差不多告一段落, ...
- 安装qt5.3.2后,qtcreator在ubuntu 11.04无法启动的问题
在官方网站下载.run文件安装后,qtcreator启动失败,然后找到命令行启动,失败原因如下: shr@shr-Sieyuan:~/Qt5.3.2/Tools/QtCreator/bin$ ./qt ...
- ubuntu 11.04 源 更新不了,全显示ign、404
原文地址:http://blog.csdn.net/enjio/article/details/11603373 ubuntu 11.04 源 更新不了 分类: 开发相关2013-09-12 14 ...
- ubuntu 11.04安装笔记
首先,本文查询了网络中各位大大的经验共享,特别是<UltraISO制作U盘启动Ubuntu 8.10 LiveCD>,地址在http://blog.sina.com.cn/s/blog_5 ...
- 怎么样ubuntu 64 11.04 在执行32位程序
上网一查非常多的信息,头发上的今天ubuntu 64 11.04 在执行32位程序安装ia32-libs包,可执行例如,下面的命令.但提示无法安装 apt-get install ia32-libs ...
- u盘安装ubuntu10.04 、11.04 server
10.04 先将 ubuntu server 的 iso 放到优盘上,然后在提示无法找到光驱时,按 alt+f2 打开一个新的 console 窗口,将 iso mount 上,具体操作如下: ls ...
随机推荐
- Linux命令学习之路——内容剪切:cut
使用者:所有角色 用法:cut [ -bcdfn ] [ --complement ] filename 作用:截取文件中的部分字段用于展示或存储到新文件中 应用场景: 1.内容展示 : 截取一个或多 ...
- 《从Lucene到Elasticsearch:全文检索实战》学习笔记四
今天我给大家讲讲布尔检索模型基本概念 布尔检索模型: 检索模型是判断文档内容与用户相关性的核心技术,以大规模网页搜索为例,在海量网页中与用户查询关键词相关的网页可能会有成千上万个,甚至耕读哦.那么信息 ...
- win 10 kms 激活 后 火狐 上 https 网站 报错
原因: 系统导入了未知的根证书 影响:?? 解决方法: http://mozilla.com.cn/thread-374897-1-1.html
- C++ Primer Plus (Stephen Prata 著)
第1章 预备知识 (已看) 第2章 开始学习C++ (已看) 第3章 处理数据 (已看) 第4章 复合类型 (已看) 第5章 循环和关系表达式 (已看) 第6章 分支语句和逻辑运算符 (已看) 第7章 ...
- spring IOC 和AOP 方面
spring 的2大核心 是Ioc 和 aop spring的依赖注入:在程序运行期间,由外部容器动态的将依赖对象注入到组件中 IOC: 实例化spring容器的二种方法 第一种:在类路径下寻找配 ...
- c# 仿微信二维码生成
/// <summary> /// 生成二维码. /// </summary> /// <param name="data">需要添加进去的文本 ...
- pyqt5在xp下的配置
qt支持库得下载,pip的不行, designer在这个里面 https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.4.1/ python只 ...
- Class 泛型
Java Class 泛型的例子说明: http://blog.chinaunix.net/uid-1911213-id-3085866.html http://blog.163.com/sir_87 ...
- 部署MySQL自动化运维工具inception+archer
***************************************************************************部署MySQL自动化运维工具inception+a ...
- Python中print字体颜色的设置
Python中print字体颜色的设置 实现过程: 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关. 转义序列是以ESC开头,即用\033来完成 ...