728x90
반응형
메이플스토리의 "로미오와 줄리엣" 파티퀘스트에는 연구실을 수색해 숨겨진 문을 찾는 퀘스트가 존재합니다.
해당 요소와 "좀보이드", "배틀그라운드" 등과 같은 게임의 파밍 시스템을 조합하면 어떨까 생각했습니다.
특정 위치에서 "NPC/채집"키를 누를 시, 상점 이미지가 뜹니다.
이후 해당 상점에서 원하는 아이템들만 골라서 구매한 후, 한 명의 파티원에게 모아 조합하여 새로운 아이템으로 방을 탈출하는 시스템 입니다. 또는 방탈출 종류가 아니더라도, 특정 아이템을 사용해서 몬스터를 잡거나, 처치하는 방식으로도 가능합니다.
ex) java 소스코드
import java.util.ArrayList;
import java.util.Random;
public class Main {
static boolean success = false;
static ArrayList<Integer> player;
static boolean[] visited;
public static void main(String[] args) {
Random rand = new Random();
ArrayList<Integer>[] shop = new ArrayList[rand.nextInt(10) + 1]; // 1 ~ 10개의 상점
for(int i = 0; i < shop.length; i++) {
shop[i] = new ArrayList<>();
}
for(int i = 0; i < shop.length; i++) {
int items = rand.nextInt(10); // 0 ~ 9개의 상점 아이템
for(int j = 0; j < items; j++) {
shop[i].add(j + 1);
}
}
player = new ArrayList<>();
for(int i = 0; i < shop.length; i++) {
for(int j = 0; j < shop[i].size(); j++) {
player.add(shop[i].get(j));
}
}
visited = new boolean[player.size()];
dfs(0, 0);
System.out.print(success ? "success" : "not success");
}
public static void dfs(int depth, int sum) {
if(sum == 10) {
success = true;
return;
}
if(success) {
return;
}
if(sum > 10) {
return;
}
for(int i = depth; i < player.size(); i++) {
if(!visited[i]) {
visited[i] = true;
dfs(depth + 1, sum + player.get(i));
visited[i] = false;
}
}
}
}
// 가정으로 아이템의 합이 10되면 탈출할 수 있다고 하겠습니다.
728x90
반응형
'메이플스토리' 카테고리의 다른 글
제 1회 임스의 메이플컵 후기 (2) | 2023.09.09 |
---|---|
[백준] 임스의 메이플컵?! (0) | 2023.06.21 |
[CRP] 개선되었으면 하는 사항들(2023-03-29) (0) | 2023.02.23 |
[CRP] 몬스터 땅따먹기 (0) | 2023.02.02 |
댓글