Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@uniqode

JavaScriptでトランプ遊び part 1

More than 1 year has passed since last update.

ある日、男はUnicodePlaying Cardsというブロックを見つける

"ABCD".split("").forEach((u)=>{console.log("123456789ABDE".split("").map((l)=>String.fromCodePoint(`0x1F0${u}${l}`)).join(""))})

※↑ブラウザ(chromeで確認済み)のConsoleでやってみてください。
※ダイヤとハートも黒く表示されてしまうのは、一旦納得してください。

、、、というわけで、Unicodeのトランプと、ブラウザのJavaScript Consoleで遊べる遊びを考えていきたいと思います。目標は、ネットワークに繋がっていないPCでも、ブラウザがあれば遊べるようになることです。

遊んでみる

まず、さっきのスクリプトを実行したあなたの「表示小さすぎるな!?これトランプなの!?」という心の声が私に聞こえてきましたので、先になるべく大きく表示する関数 clog を先に作っておきます。また、カードも一通り変数 cards に入れておきましょう。ここで、ジョーカーも2つ加えておきます。

const clog = (t)=>{console.log("%c"+t, "font-size:xx-large")};
let cards={};
"ABCD".split("").forEach((u,i)=>{"123456789ABDE".split("").forEach((l,j)=>{cards["SHDC"[i]+"1234567890JQK"[j]]=String.fromCodePoint(`0x1F0${u}${l}`)})});
cards.J0 = String.fromCodePoint(0x1F0BF); // Red joker
cards.J1 = String.fromCodePoint(0x1F0DF); // White joker
clog(cards.S1);

スペードのAが表示されましたか?では、カードをシャッフルしたのち(シャッフルの精度が雑ですが、それも現実っぽくて良いでしょう)、デッキから5枚引いて、表示してみましょう。

clog(Object.keys(cards).sort(()=>{return Math.random()-.5 }).slice(-5).map((c)=>cards[c]).join(""))

これで、ポーカーっぽいことが出来そうですね。
、、今日はここまで。このあと、どう進めるか何も決めていませんので、コメントなど頂けたら幸いです。

ちなみにUnicodeには麻雀牌もあるので、興味ある方はそちらで遊んでみてはいかがでしょうか。しかも、(私の環境では)麻雀牌は色が付いており、トランプよりも視認性が高いです。残念ながら私は麻雀のルールを知りませんが。

2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
uniqode
趣味プログラマ

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?