データ構造はこんなもん
let NAME = "Hiroyuki";
let HP = 11;
let AP = 2;
let FLOOR = 0;
let PROGRESS=[];
探検
テキストRPGをHTMLとJSで作ってみようと思うんだが
10名前は開発中のものです。
2020/07/09(木) 19:27:00.30ID:C2sLSK4a11名前は開発中のものです。
2020/07/09(木) 19:35:48.27ID:C2sLSK4a モンスター複数にしてランダムでモンスター出るようにした
let PLAYER=[NAME,HP,AP];
let MONSTERS = [["ゴブリン",3,1],["骸骨剣士",5,2],["ドワーフ",6,1]];
const shuffleArray = array => {
for (let i = array.length - 1; i > 0; i--) {
let r = Math.floor(Math.random() * (i + 1));
let tmp = array[i];
array[i] = array[r];
array[r] = tmp;
}
return array
}
const getAnyMonster = (MONSTERS) =>{
const EntityMONSTER = R.clone(MONSTERS);
return shuffleArray(EntityMONSTER)[0];
}
let PLAYER=[NAME,HP,AP];
let MONSTERS = [["ゴブリン",3,1],["骸骨剣士",5,2],["ドワーフ",6,1]];
const shuffleArray = array => {
for (let i = array.length - 1; i > 0; i--) {
let r = Math.floor(Math.random() * (i + 1));
let tmp = array[i];
array[i] = array[r];
array[r] = tmp;
}
return array
}
const getAnyMonster = (MONSTERS) =>{
const EntityMONSTER = R.clone(MONSTERS);
return shuffleArray(EntityMONSTER)[0];
}
12名前は開発中のものです。
2020/07/09(木) 19:41:06.61ID:C2sLSK4a モンスター複数っていうかモンスターの種類が複数で出現は1体ずつ
あと死亡状態確認の関数も定義した
const deathCheck = () =>{ if(Math.sign(PLAYER[1]) !== 1){ indicate(`${PLAYER[0]}は死亡した`) } }
あと死亡状態確認の関数も定義した
const deathCheck = () =>{ if(Math.sign(PLAYER[1]) !== 1){ indicate(`${PLAYER[0]}は死亡した`) } }
13名前は開発中のものです。
2020/07/09(木) 19:52:24.97ID:C2sLSK4a 匿名でhtmlファイルの共有簡単にできるやつなんか無いのか
とりあえず検索してすぐ出たやつで上のこれ共有しとく
ただのHTMLとJSだからセットアップ無しでそのまま動く
https://volafile.org/r/1bq7592g8
とりあえず検索してすぐ出たやつで上のこれ共有しとく
ただのHTMLとJSだからセットアップ無しでそのまま動く
https://volafile.org/r/1bq7592g8
14名前は開発中のものです。
2020/07/09(木) 19:57:45.35ID:C2sLSK4a あと戦闘以外のイベント作りたい
とりあえずHPかAPを増減するだけのイベントだけ設定するか
戦闘もイベントも結果が選択によって変わるのと確率の要素入れたい
とりあえずまずイベントだけ作ってPROGRESSに入れてみるか
とりあえずHPかAPを増減するだけのイベントだけ設定するか
戦闘もイベントも結果が選択によって変わるのと確率の要素入れたい
とりあえずまずイベントだけ作ってPROGRESSに入れてみるか
15名前は開発中のものです。
2020/07/09(木) 20:20:38.39ID:C2sLSK4a デバッグめんどくさいからシード値か何かでランダムの部分固定したい
イベント追加した
イベントの結果を2つ以上にして結果をランダムにするのと
イベントを実行するの実装するか
const THINGS = [
["HPが1増えた", ()=>{PLAYER[1]=PLAYER[1]+1}],
["HPが5減った", ()=>{PLAYER[1]=PLAYER[1]-5}]
];
const getAnyHappening = () =>{
const EntityTHINGS = R.clone(THINGS);
return shuffleArray(EntityTHINGS)[0];
}
const happening = (THING) =>{
indicate(THING[0]);
THING[1]();
deathCheck();
}
PROGRESS=[happening, battle, battle, happening, battle, battle, battle];
PROGRESS.forEach(SEQUENCE=>{
if(SEQUENCE===battle){SEQUENCE(PLAYER,getAnyMonster(MONSTERS))};
if(SEQUENCE===happening){SEQUENCE(getAnyHappening())};
})
イベント追加した
イベントの結果を2つ以上にして結果をランダムにするのと
イベントを実行するの実装するか
const THINGS = [
["HPが1増えた", ()=>{PLAYER[1]=PLAYER[1]+1}],
["HPが5減った", ()=>{PLAYER[1]=PLAYER[1]-5}]
];
const getAnyHappening = () =>{
const EntityTHINGS = R.clone(THINGS);
return shuffleArray(EntityTHINGS)[0];
}
const happening = (THING) =>{
indicate(THING[0]);
THING[1]();
deathCheck();
}
PROGRESS=[happening, battle, battle, happening, battle, battle, battle];
PROGRESS.forEach(SEQUENCE=>{
if(SEQUENCE===battle){SEQUENCE(PLAYER,getAnyMonster(MONSTERS))};
if(SEQUENCE===happening){SEQUENCE(getAnyHappening())};
})
2020/07/12(日) 20:25:51.01ID:rCxmJFqB
おい誰か反応してやれよ
17くまじょ
2020/07/13(月) 09:50:39.52ID:/7c2Q8iI 俺もそう思うが
興味ない
興味ない
18くまじょ
2020/07/13(月) 10:00:43.90ID:ZHvjE/iT 最近のjsはconstとか使えるのか
すごいなあ
今スマホなのでレス見ながらレスできないので不便
=>ってのはラムダ式とか無名関数ってのかな
なれてないのでどうも分かりにくい
すごいなあ
今スマホなのでレス見ながらレスできないので不便
=>ってのはラムダ式とか無名関数ってのかな
なれてないのでどうも分かりにくい
2020/07/22(水) 22:41:50.45ID:wBHkT/Gr
とりあえずgithubにコードあげとけば?
2020/08/02(日) 05:11:07.88ID:xA8cEPYg
>>13
codepen.ioとかjsfiddle
codepen.ioとかjsfiddle
2020/09/12(土) 03:34:53.36ID:ezbp5FoJ
挫折した
22名前は開発中のものです。
2020/10/12(月) 10:33:40.81ID:8HwwmF4l >>18
=>を使う関数はアロー関数と呼ばれてて、主な違いは、
・短く書ける
(const test1 = x =>x**2+3; みたいな)
・thisが上書きされない
・argumentsが定義されていない
詳しくはMDNで調べるといいと思う
=>を使う関数はアロー関数と呼ばれてて、主な違いは、
・短く書ける
(const test1 = x =>x**2+3; みたいな)
・thisが上書きされない
・argumentsが定義されていない
詳しくはMDNで調べるといいと思う
2023/07/03(月) 20:21:27.20ID:UCmJE3+L
( )y-~~( ´)y-~~( ´-)y-~~(´ー`)y━~~∑( ゚Д゚)y━~~スゲー!!
2023/08/19(土) 12:00:28.01ID:87EPDeDn
プハァー ( ̄┏Д┓ ̄)y─┛~~
2023/10/19(木) 00:18:00.90ID:RR2g51y6
・・・運命なんかどうでもいい・・・だが、あんたはここで倒さなきゃならないらしいな
レスを投稿する
ニュース
- 「脅迫だ」国分太一に同情論 音声データ削除要求など日テレの対応を疑問視する声ネットに噴出「それこそコンプラ違反では」★2 [muffin★]
- 【国際法を無視】日本での「中華人民共和国に台湾問題を論じる資格なし」との声に 中国外交部が厳しく反論… ★2 [BFU★]
- 【工作員】「X」のアカウント所在地公開機能が暴いた世論操作の実態 MAGA支持著名アカウントの多くが米国外から運営 日本にも波及 ★3 [ごまカンパチ★]
- 生クリームだけの真っ白なクリスマスケーキ 大手メーカーが販売、その理由は…フルーツなしで価格は半額以下に ★3 [おっさん友の会★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! ★5 [Ailuropoda melanoleuca★]
- 【芸能】日本のファンも悲鳴、香港トップスターが来日コンサートを突如中止 「早く政府間で解決を」運営会社の切実な訴え [冬月記者★]
- まったりまったりおじゃる丸待機スレ🏡
- ワイ「え!?まだポケモンやってんの?ww」 同僚「うん、子供とやるよ」
- 高市応援団「都合よく解釈するな」「撤回すると言ってない」「中国と断交」「撤回する必要ない」「答弁変わってない」「武力行使しろ」 [931948549]
- ヤンジャン新人漫画大賞、入賞作品のAI絵疑惑で大荒れ😄😄😄 高市早苗要素あり [175344491]
- 謎の勢力「フリーレンはシコれる」←こいつら
- 【鬼畜】英国史上、最悪のレイプ魔。判明分だけで136人が被害。レイプ中の動画は3テラにおよぶ。クラブやバーから出てくる男を狙う手口 [219241683]
