level 1
for循环在while循环里面,循环For的1-6次之间似乎不再判断while循环的条件
大概是这样,个人猜测
2017年07月13日 01点07分
2
谢谢~已解决~
2017年07月14日 12点07分
level 2
写了个新的。
let exp1 = Expert()
let cha1 = Character()
world.place(exp1, facing: .north, atColumn: 1, row: 4)
world.place(cha1,facing: . north, atColumn: 4, row: 0)
exp1.turnLockUp()
var gemnumber = 0
func searchwalk() {
while !cha1.isBlocked {
if !cha1.isOnGem{
cha1.moveForward()
}else{
cha1.collectGem()
gemnumber = gemnumber + 1
cha1.moveForward()}}
if cha1.isOnGem{
cha1.collectGem()
gemnumber = gemnumber + 1}}
func searchjump(){
for i in 1 ... 6 {
if cha1.isOnGem{
cha1.collectGem()
gemnumber = gemnumber + 1
cha1.jump()
}else{
cha1.jump()
}}}
func BandF(){
searchjump()
cha1.turnLeft()
cha1.turnLeft()
searchjump()
}
while gemnumber < totalGems {
searchwalk()
cha1.turnLeft()
cha1.moveForward()
cha1.turnLeft()
BandF()
cha1.turnRight()
cha1.moveForward()
cha1.turnRight()
}
2333这次用上跳跃功能了。
2017年07月19日 00点07分
6
level 1
//west西 , east东 , north北 , south南
let expert = Expert()
let character = Character()
world.place(expert, facing: north, atColumn: 1, row: 4)
world.place(character, facing: north, atColumn: 3, row: 0)
var Baoshi = 0
func IsOnGmeNumer() {
if character.isOnGem {
character.collectGem()
Baoshi += 1
}
}
func MoveNumber (Number:Int){
IsOnGmeNumer()
character.move(distance: Number)
}
func JumpNumber(Number: Int) {
for i in 1 ... Number {
IsOnGmeNumer()
character.jump()
}
}
func LeftRightMove(TlNumber: Bool){
if TlNumber {
IsOnGmeNumer()
character.turnLeft()
character.moveForward()
character.turnLeft()
}
else {
IsOnGmeNumer()
character.turnRight()
character.moveForward()
character.turnRight()
}
}
expert.turnLockUp()
while Baoshi != totalGems {
JumpNumber(Number: 6)
LeftRightMove(TlNumber: false)
MoveNumber(Number: 6)
LeftRightMove(TlNumber: true)
JumpNumber(Number: 6)
character.turnLeft()
character.turnLeft()
}
2018年01月23日 14点01分
8
level 1
可以升降的那一条路其实不用走的。因为仔细观察你会发现,红宝石只出现在这条路的两端。
2018年08月04日 05点08分
9
你多运行几次
2019年01月13日 16点01分
level 1
let 小魔王 = Character()
let 大魔王 = Expert()
world.place(小魔王, facing: north, atColumn: 4, row: 0)
world.place(大魔王, facing: north, atColumn: 0, row: 4)
大魔王.turnLock(up: true, numberOfTimes: 2)
var gem = 0
func 跳取() {
小魔王.jump()
if 小魔王.isOnGem{
小魔王.collectGem()
gem += 1
}
}
func 一半() {
if gem != totalGems {
for i in 1 ... 6 {
跳取()}
小魔王.turnLeft()
for i in 1 ... 2 {
跳取()}
小魔王.turnLeft()
}
}
while gem != totalGems {
一半()
}
2018年12月07日 05点12分
10
level 2
3个角色
let E1 = Expert()
let C1 = Character()
let C2 = Character()
world.place(E1, facing: .north, atColumn: 3, row: 0)
world.place(C1, facing: .north, atColumn: 2, row: 0)
world.place(C2, facing: .north, atColumn: 4, row: 0)
func MoveAndGetGem(char : Character) {
for i in 1 ... 7 {
if char.isOnGem {
char.collectGem()
Gemcon+=1
}
char.jump()
}
char.turnLeft()
char.turnLeft()
}
func EGetGem(exp :Expert) {
for i in 1 ... 7 {
if exp.isOnGem {
exp.collectGem()
Gemcon+=1
}
if exp.isBlocked {
exp.turnLeft()
exp.turnLeft()
}else
{
exp.moveForward()
}
}
}
var Gemcon = 0
while Gemcon != totalGems {
MoveAndGetGem(char: C1)
MoveAndGetGem(char: C2)
EGetGem(exp: E1)
}
2022年12月07日 09点12分
13