페이스북에 떠돌아다니는 코드컴뱃이라는 게임을 해보았습니다.
옛날에도 많이 떠돌았던 것 같은데 그때는 바빠서 못했었고, 지금에서야 해보게되네요!
코드컴뱃(codecombat) 풀이라고 하기엔 너무나 미흡하고 부족하지만 참고가 되었으면 좋겠네요~!
가장 어려웠던 부분하고 까다로웠던 부분을 총정리식으로 해보네요.. 그리고 javascript 코드로 싸운다는것도 신기했던 부분이었다.
Beginner campaign :: Taunt the Guards
이번 문제는 농락하는 가이드편이다.
this.moveRight();
this.bustDownDoor(); //문 부수기
// Delete the "//" in front of each line below.
this.moveRight();
this.say("Hey there!");
this.moveLeft();
this.moveLeft();
this.say("Attack!");
// Now get Phoebe to follow through the dungeon.
this.moveRight();
this.say("Follow me."); // 기본적인 입력사항
this.moveRight();
this.moveRight();
this.moveUp();
this.moveRight();
this.say("Hey there!");
this.moveDown(); // 다운상태에서 어택을 하라고하면 오크들이 따라오지 않는 버그?!
this.say("Attack!");
this.say("Attack!");
this.say("Follow me."); // 공격후 안따라오길래 넣었습니다.
this.moveRight();
this.moveUp();
this.moveRight();
Beginner campaign :: Break the prison
7명의 병사를 구출해야하는데 적들은 탈출시키지않는 문제였다.
// Write this isFriend(name) spell to tell friend from foe.
// Return true for friends' names, false for ogres' names.
if(name === "William"||name==="Lucas"||name==="Marcus"||name==="Robert"||name==="Gordon") // 이름 부분에서 구원할 병사이름을 모두 적었다.
return true;
if(name ==="Krogg") // else if 가 안되길래 이렇게하였다.
return jump; // <-- Start here; Krogg is not a friend! 리턴 false 가 안되고, 계속 문을 뿌수길래 jump로 넣어서 점프를 시켰다.
high level random select :: hunter triplets
이리저리 움직이는 적들을 오토타켓으로 하고 자동공격하는 문제였다.
// This spell runs once per frame.
var enemy = this.getNearestEnemy(); //근처에 있는 적 공격
if (!enemy) return; // 만약 적이 아니면 반환
this.say("Die, " + enemy.id + "!"); // 말하다 '죽이다 적의 아이디!'
this.setTarget(enemy); // 근처 타겟(적)
this.distanceTo(enemy) // 거리(적)
attackrange; // 공격거리
if(this.distanceTo(enemy) < this.attackRange) // 거리(적) < 공격거리 일 경우
this.setAction("attack"); // 선택하여 공격한다.
else this.setAction("move"); // 아닐경우 그 장소로 이동을 한다.
// Charge!
high level random select :: emphasis on aim
화살타워는 적들만 골라서 쏘게하는 문제였다.
// The following runs whenever the tower needs
// something to do.
var unit = this.getNearestCombatant(); //근처적과 싸운다.
if (unit && unit.team ==="ogres") { // 유닛과 유닛팀이 ogres = 오크인 경우
this.say('Perish, ' + unit.id + ' of the ' + unit.team); // 유닛아이디 of the 유닛팀 을 말한다.
this.attack(unit); // 유닛을 공격한다.
}
else {
this.say('All clear.'); // 아닐경우 all clear 하다고 말한다.
}
// This tower is too bloodthirsty!
// Have it check the unit's team before opening fire.
// There are three teams: "ogres", "allies", and "humans".
// If you need help, press Guide at the top.
sword loop
근처있는 적을 자동공격을 하여 8명의 적을 무찔러야하는 문제였다.
// Kill all the ogres.
this.moveDown();
// Now you don't have to write it 5 times. Amazing! Isn't it?
for (var i = 0; i < 6; ++i) { // Edit the code here. // 6번 반복
this.moveRight(); // 오른쪽으로 움직인다.
this.attackNearbyEnemy(); // 근처적 공격
}
this.moveXY(159,60); // 물약 좌표위치
this.moveXY(160,45); // 적의 위치
this.attackNearbyEnemy(); // 근처적 공격 반복
this.moveXY(183,60);
this.moveXY(184,45);
this.attackNearbyEnemy();
this.moveXY(206,60);
this.moveXY(207,45);
this.attackNearbyEnemy();
// Kill the other ogres.
// Take care of your health also.
// Use a for-loop and you'll kill them all in just a few more lines.
'* Wargame' 카테고리의 다른 글
웹관련 워게임 도움되는 부분 (0) | 2012.08.27 |
---|---|
wargame.kr 가입문제 (0) | 2012.02.21 |