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 ...
随机推荐
- Python基础+模块、异常
date:2018414+2018415 day1+2 一.python基础 #coding=utf-8 #注释 #算数运算 +(加) -(减) *(乘) /(除) //(取整) %(取余) ...
- Quartz在Spring中动态设置cronExpression
什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什么任务,但任务的定时是不确定的(是由客户制定). 这样总不能修改配置文件每定制个定时任务就增加一个trigger吧,即便允许客户修改配置文 ...
- C#operator作用
opertor用于定义类型转化时采用两种方式,饮食转换implicit和显示转换explicit public static implicit 目标类型(被转化类型 变量参数) { return 目标 ...
- freeswitch黑名单mod_blacklist使用
freeswitch自带黑名单模块"mod_blacklist",此文只是对该模块简单使用的实例. 最近接到客户投诉有大量骚扰电话,而从源头查不太容易,因此想到的笨方法是将投诉人加 ...
- python------面向对象进阶 异常处理
一. 异常处理 try: pass except KeyError as e : #注3.x用as ,except KeyError, e ,2.x 用逗号. print("No this ...
- Oracle的导入和导出
导出命令: EXP 用户名/密码@数据库名 BUFFER=64000 file=G:\dmp\full1.dmp OWNER=用户名 导入命令: IMP 用户名/密码@数据库名 BUFFER=64 ...
- 什么是pytorch(4.数据集加载和处理)(翻译)
数据集加载和处理 这里主要涉及两个包:torchvision.datasets 和torch.utils.data.Dataset 和DataLoader torchvision.datasets是一 ...
- autotools
文章目录 原文地址 Autotools上手指南1--autoconf基本思想 Autotools上手指南2--autoscan生成configure.ac Autotools上手指南3--autohe ...
- Linux配置snmp
机器环境 [root@linux-node1 ~]# cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core) [root@linux- ...
- exec 与文件描述符
参考http://blog.csdn.net/baoendemao/article/details/51638746 1:用法 exec 3<2.txt 以只读方式打开2.txt, ...