見出し画像

『Artifacts MMO』木を集めよう!

『Artifacts MMO』とは?

『Artifacts MMO』は、APIを通じてプレイヤーがゲーム世界を直接操作・カスタマイズできる次世代型のオンラインマルチプレイヤーゲームです。プレイヤーは、ゲーム内のアイテム、キャラクター、環境などをAPIを活用してプログラミングし、自分だけの冒険を創り上げることができます。これにより、従来のゲームでは味わえなかった自由度や創造性を楽しむことが可能です。

前回の記事は、こちらです

移動を簡単に!

以前作成した移動プログラムを改良します。

const API_TOKEN = "書き換えてください";

const characterName = "書き換えてください";

const url = `https://api.artifactsmmo.com/my/${characterName}/action/move`;

const headers = new Headers();
headers.append("Accept", "application/json");
headers.append("Content-Type", "application/json");
headers.append("Authorization", `Bearer ${API_TOKEN}`);

const body = JSON.stringify({
  x: 0,
  y: 1,
});

const requestOptions = {
  method: "POST",
  headers: headers,
  body: body,
  redirect: "follow",
};

fetch(url, requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.log("error", error));

移動するプログラムを改良して、移動先の座標をコマンドライン引数で渡せるようにしましょう。
javascriptでコマンドライン引数で渡せるようにするには、procss.argvを使います。

const API_TOKEN = "書き換えてください";

const characterName = "書き換えてください";

const url = `https://api.artifactsmmo.com/my/${characterName}/action/move`;

const headers = new Headers();
headers.append("Accept", "application/json");
headers.append("Content-Type", "application/json");
headers.append("Authorization", `Bearer ${API_TOKEN}`);

// コマンドライン引数から x と y を取得
const args = process.argv.slice(2);
if (args.length < 2) {
  console.error("Usage: node script.js <x> <y>");
  process.exit(1);
}

const x = parseInt(args[0], 10);
const y = parseInt(args[1], 10);

const body = JSON.stringify({
  x,
  y,
});

const requestOptions = {
  method: "POST",
  headers: headers,
  body: body,
  redirect: "follow",
};

const res = await fetch(url, requestOptions);
const data = await res.text();

console.log(data);

(-1, 0) の位置に木材の取れる木があるので、移動してみましょう。

node move.js -1 0

森を切る前に、その成長を敬え

それでは (-1, 0) にある木に最大限の敬意を表しながら、伐採しましょう。
公式ドキュメントによると、素材を集めるにはgatheringという行動を使うようです。
いつも通り、プログラムをgathering.jsに保存して実行します。

const API_TOKEN = "書き換えてください";

const characterName = "書き換えてください";

const url = `https://api.artifactsmmo.com/my/${characterName}/action/gathering`;

const headers = new Headers();
headers.append("Accept", "application/json");
headers.append("Content-Type", "application/json");
headers.append("Authorization", `Bearer ${API_TOKEN}`);

const requestOptions = {
  method: "POST",
  headers: headers,
  redirect: "follow",
};

const res = await fetch(url, requestOptions);
const { data } = await res.json();

console.log(data?.details);
node gathering.js
{ xp: 13, items: [ { code: 'ash_wood', quantity: 1 } ] }

無事に経験値13とash_woodというアイテムを1つ入手できたようです。

まとめ

APIを使って遊ぶことができる風変わりなゲーム『Artifacts MMO』について紹介しました。APIリクエストを使って木材を集めることができましたね。次回はAPIを使用して武器を改良したいと思います!

いいなと思ったら応援しよう!