【簡易じゃんけんゲーム】
poolsketchのバグを利用したジャンケンゲームです。
URL自動置き換え機能が無能なので、このようなことができます。
テキストエリアからスクリプトを抽出して、eval()してるだけです。

[コメント]
2022/11/21 作成いたしました
2022/11/22 じゃんけんの英語RSPじゃなくてRPSだったわ
2022/12/1 これバグってないですか?僕の端末の問題ですかね?
2022/12/6 何者かにコードを書き換えられていました。もし、これで動かなかったら、使っているブラウザを教えて欲しいです。
2022/12/8 動きました!ありがとうございます
2022/12/13 selector => sexlectorにするなよ...w
おなおなsex!!!!!!!!!111
==これより下は編集しないでください==

↓ここをクリックしてスタート
http://"onclick="arguments[0].preventDefault();eval(document.querySelector('textarea').value.match(/MAIN_SCRIPT={5}(.*)/s)[1])



MAIN_SCRIPT=====
(() => {
const counters = {
play: 0,
win: 0,
lose: 0,
draw: 0
}
const playRPS = msg => {
const getHand = () => {
switch (prompt(`${msg}出す手を書いてください
(グー: r, チョキ: s, パー: p)`)) {
case "r":
return 0;
case "p":
return 1;
case "s":
return 2;
case null:
return "canceled";
default:
return "invalid";
}
}
const playerHand = getHand();
if (playerHand === "invalid") {
playRPS(`正しい値を入力してください
`);
} else if (playerHand !== "canceled") {
const pcHand = Math.floor(Math.random() * 3);
const numToHandName = num => {
switch (num) {
case 0:
return "グー";
case 1:
return "パー";
case 2:
return "チョキ";
}
}
counters.play++;
let resultMsg = `[あなた ${numToHandName(playerHand)}] vs [${numToHandName(pcHand)} コンピュータ]
`;
switch (pcHand - playerHand) {
case 0:
resultMsg += "あいこです";
counters.draw++;
break;
case -1:
case 2:
resultMsg += "勝ちました";
counters.win++;
break;
case 1:
case -2:
resultMsg += "負けました";
counters.lose++;
break;
}
playRPS(`${resultMsg}
| ${["win", "draw", "lose"].map(hand => `${hand}: ${counters[hand]}`).join(", ")}
| 勝率: ${counters.win / counters.play * 100}%
`);
}
}
playRPS("");
})();



最終更新日時: 2023/01/04 20:25

top
copyright (c) plsk.net