【簡易じゃんけんゲーム】
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("");
})();
【簡易じゃんけんゲーム】 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
ダークモード
copyright (c) plsk.net