ðäžæµ·ð
ãäžæµ·ããšã¯ãç©ã¿äžãããã麻éçã®å±±ããã
- å·Šå³å°ãªããšãäžæ¹ã«é£æ¥ããçãç¡ãã
- äžã«å¥ãªçãç©ã¿éãªã£ãŠããªãã
- åãæã®çã®çµ
ãåãé€ããŠè¡ãããã¹ãŠåãé€ãããã¯ãªã¢ãšããããºã«ã²ãŒã ã§ãã
åºæ¬çã«ã¯ 144æ(æ°ç+åç+è±ç+å£ç¯ç)ã®çã䜿ããŸãããé£æ床ãç€é¢èšå®ã«ããæ§ã ãªããªãšãŒã·ã§ã³ããããŸããçã®ç©ã¿æ¹ãè²ã ã
äžæµ·ã®æåæžãæ»ç¥ãµã€ããªã©ã§ã¯ã
- å·Šå³å°ãªããšãäžæ¹ã«é£æ¥ããçãç¡ããäžã«å¥ãªçãç©ã¿éãªã£ãŠããªãç
ã®ããšããèªç±çãšåŒã¶ããã§ãã
ãã®å®çŸ©ã䜿ã£ãŠèšãæããã°ããäžæµ·ãã¯ã
- ç©ã¿äžãããã麻éçã®å±±ãããåãæã®èªç±çã®çµãåãé€ããŠè¡ããå šãŠåãåã£ããã¯ãªã¢ãšããããºã«ã²ãŒã
ãšããããšã«ãªããŸãã
ãµã³ãã«: ãšããããéãã§ã¿ãã
See the Pen Shanghai by nagtkk (@nagtkk) on CodePen.
倧ããç»é¢ã§
é£æ床äœãã®ç©ã¿æ¹
- ããŠã¹ã¯ãªãã¯ã§éžæ
- å šéšæ¶ããã clear
- ãã以äžåãããšãã§ããªãç¶æ (è©°ã¿)ã«ãªã£ãã game over ãšè¡šç€ºãããŸãã
- åçš®ãã¿ã³
- Undo: äžææ»ã
- Reset: æåã«æ»ã
- New: æ°èŠåé¡ãçæ
- çæãããåé¡ã¯ã解çãäžã€ä»¥äžååšããŸãã
æ¬é¡
ååãåå·çããã£ãã®ã§ãã®æµãã§äžæµ·ããªãã§ããã©ã
äžæµ·ã¯çé¢ç®ã«äœãããšãããšçµæ§é£ããã
ã³ãŒãèªäœã¯å²ãšã·ã³ãã«ã«åãŸãã®ã§ãããç€é¢ã®çæåšããè²ã
ãšå€§å€ã
å°ãªããšãåå¿è
åããšã¯èšãé£ãã
ãšèšãããã§ãååãšç°ãªãå®è£
äŸã®çŽ¹ä»ãŸã§è¡ããŸããã
åºç€éšåã®äœãæ¹ãšç€é¢çæã®è©±ãã¡ã€ã³ã«ãããããšæããŸãã
ãµã³ãã«ã®äžèº«ãèŠããæ¹ã¯ CodePen ããã©ããã
æç»éšåã¯çžå€ãããææãæ°å³ã§ããã
ããšã¯åå·çã§ãã£ãã·ã§ãŒãã³ãŒãã£ã³ã°ãç¡ãã§ãã
äžæµ·ã¯è²ã
ãšçç±ããã£ãŠåããªããšæã£ãŠããã®ã§ã
åºç€éšå: ç€é¢ç¶æ ã®è¡šçŸãšèªç±çå€å®
ããŠãäžæµ·ãäœãã«ã¯ããŸã麻éçã®å±±ãããŒã¿ãšããŠè¡šçŸããå¿
èŠããããŸãã
äžæµ·ã§çšãããã麻éçã®å±±ã¯ãå±±ãšèšããããã§ãããïŒæ¬¡å
ã§ãã
ãŸããåã«äžŠãã§ããã ãã§ã¯ãªãçã瞊暪ãååããããŠãé
眮ããããšãã§ããŸãã
ããæ¹ã¯äžéãã§ã¯ãããŸããããä»åã¯ã瞊暪äºåã®å¯åºŠã®ç€é¢ããé«ãæ¯ã«çšæãã
4ãã¹ã»ããã§äžã€ã®çãè¡šçŸããããšã«ããŸãã
ããããŠããã°ããååãããããåé¡ãªãè¡šçŸã§ããŸãã
ãé£ã®çãã¯ãããŒã¿äžã2ãã¹ãé¢ããŠããããšã«ãªããŸãã
ãã®åœ¢åŒã®ããŒã¿ã§èªç±çãåŠããå€å®ããã«ã¯ãå€å®å¯Ÿè±¡ã®åº§æšã (x,y,z)
ãšãããšã以äžã®é åã«ä»ã®çãããããå€å®ããã°è¯ãããšã«ãªããŸãã
æã®å€å®ã¯ãæ ID ã§ãä»ããŠæ¯èŒããã°ããã®ã§ç¥ã
ããã§å®è¡ã«å¿ èŠãªãã®ã¯äžéãããããŸããã
éžæãããäºã€ã®çãã
- åãæã§ãã
- ã©ã¡ããèªç±çã§ãã
ãªãã°ãåãé€ãã ãã§ãã
ããã楜ã¡ã楜ã¡ãã
ãšãªããªããšãããäžæµ·ã®æããšããã
ä¹±æ°ã«ããç€é¢çæã®åé¡ç¹
ååã®ãåå·çãããä»åã®ãäžæµ·ãããåã«ä¹±æ°ã®ã¿ã§ç€é¢ãçæãããšãæåããè©°ãã§ã(ã¯ãªã¢äžèœ)ãã¿ãŒã³ãçºçããããšããããŸãã
åå·çã®æã¯ãå®è£
äŸã§ã¯ãå
éšçã«äžåºŠæåœãã次第ã«è§£ããŠã¿ãŠã解ããªãã£ããåçæããšããŠããŸããã
ã·ã§ãŒãã³ãŒãã£ã³ã°çã§ã¯ããããããŒã£ãŠããè©°ãã§ãããã¬ã€ã€ãŒããªããŒãããŠãããšéãªå¯ŸåŠãããŠããŸããã
ãåå·çãã¯ãããããåæç¶æ
ã§è©°ãã§ããå¯èœæ§ãäœãã®ã§ããããªãã§ãå²ãšéã¹ãŠããŸããŸãã
ãããäžæµ·ãã§ã¯ããããããŸãããä¹±æ°é Œãã§ç€é¢çæãããšãæåããè©°ãã§ããã±ãŒã¹ãå€ãã®ã§ãã
ã©ã®ãããè©°ã¿ããããã¯ãçã®ç©ã¿æ¹ã§å€ãã£ãŠããŸãããä»å䜿ã£ãç©ã¿æ¹ TURTLE (ãµã³é»åçã§ã¯ãéŸã)ã§ã¯ã50åçæããŠå šéšã¯ãªã¢äžèœ ã¿ãããªããšãèµ·ãããŸãã
äœããã®å¯ŸåŠãããªããšãæ®éã«éã¹ããç¶æ ã«ãªããŸããã
äžã€ã®ããæ¹ã¯ãç€é¢ãã©ã³ãã ã«çæãã³ã³ãã¥ãŒã¿ã«è§£ãããããã°ã©ã ãæžããŠããŸãæ¹æ³ã§ãã
å®éã«è§£ãããã®ã®ã¿æ¡çšããã°ãæåããè©°ãã§ããç¶æ
ã¯åé¿ã§ããŸãã
æéããããã®ã§ãå®è¡æã«ããã®ã§ã¯ãªããäºåã«äœããããŠå®è¡æã«ã¯åã«ããŒãããã ãã
ã€ãã§ã«é£æ床ã®ã©ããªã³ã°ãªãããããŠããã°ãã²ãŒã ã®å¹
ãåºãããŸãã
(èªåã§é£æ床å€å®ããã®ã¯ãããã¯ããã§å¥æ¹åã§é£ãã話ã§ãã)
ãããã¯ã補äœè ã解ããŠã¿ãŠè§£ãããã€ãèšé²ãããšããæäœæ¥ã§ç€é¢äœããšãããæããããããããŸããã(倧å€ãã)
ä»åã¯å¥ãªã¢ãããŒãã§ããå¿ ãäžã€ä»¥äžè§£ãååšãããããã«äžæµ·ã®ç€é¢ãèªåçæããæ¹æ³ã解説ãããããšæããŸãã
è¿œèš: ãªããçœçŽã®ç¶æ ããçã®çµã眮ããŠããããšèšãæ¹éãåããšãè²ã ãšåé¡ãã§ãŠããŸããã³ã¡ã³ãæ¬ã«ãŠã
ç¡å°äžæµ·ãå©çšããç€é¢çæ
ç¡å°äžæµ·ããšããååã¯ä»é©åœã«æ±ºããŸããã
èŠã¯ãæã®ãªãã(ãããã¯ãæããã¹ãŠåããªã)äžæµ·ã®ããšã§ãã
æãç¡ãã®ã§ãèªç±çãªãã©ãã§ãçµã«ã§ããŸãã
çæãããæ®éã®äžæµ·ãšåãçã®ç©ã¿æ¹ã§ç¡å°äžæµ·ãäœããèªç±çããã©ã³ãã ã«çµãäœã£ãŠåãé€ããŠè¡ããŸãã
ãã®ãšããåã£ãçã®çµãå
ã®äœçœ®ãå«ããŠèŠããŠãããŸãã
ãããŠã解ããåŸã«å®éã«çµ(ãã¢)ã«ãªã£ãçã«åŸä»ãã§æã決ããå
ã®åœ¢ã«ãªãããã«ç©ã¿ãªãããŸãã
ããããŠåºæ¥äžãã£ãäžæµ·ã¯ãç¡å°äžæµ·ãšåãæé ã§è§£ãããšãã§ããŸãã
ã€ãŸãã解ãäžã€ä»¥äžååšããããæºãããããã§ããã
äžæµ·ã«éãããããºã«ã²ãŒã ã§ã¯ãå¶çŽç·©ããŠè§£ããŠããŸã£ãŠåŸä»ãã§éœåã®ããæ¡ä»¶ãè¿œå ãããããæ¹ãããããªå Žé¢ã§åœ¹ã«ç«ã£ããããŸããèªäœã®ããºã«ã²ãŒã äœããšããšãã
é話äŒé¡ã
ããã§è©°ãã§ãªãäžæµ·ãäœããã
ãšèšããããšããã§ãããããã§ãäžæããããªãã®ãäžæµ·ã®æããšããã(äºåç®)
ç¡å°äžæµ·ã«ã解ããŠããæäžã«ãè©°ã¿ããçºçããå¯èœæ§ãããã®ã§ãå®å šã©ã³ãã ã§ã¯ãªããè©°ã¿ãåé¿ããããã«è§£ãå¿ èŠããããŸãã
ç¡å°äžæµ·ã®è©°ãã»è©°ãŸãªã
æã®ãªãäžæµ·ãè©°ãã®ã¯ãçµãäœããªããã€ãŸããèªç±çãäžã€ãããªããããã§ãã
äŸãã°ä»¥äžã®ãããªã±ãŒã¹ã
æçµçã«èªç±çã 1 ã«ãªã£ãŠè©°ã¿ãŸãã
ãããã¯ãããŸã§äžäŸã§ãä»ã«ãè²ã
ãšèªç±ç 1 ã«è³ããã¿ãŒã³ããããŸãã
ãèªç±çã 1 ã«ãªã£ããã®æã«è©°ãã§ãããã®ã§ã¯ãªãç¹ã«ã泚æãã ããã
ãã®å段éãããåé¿æ段ãååšããªãã®ã§æ¢ã«è©°ãã§ããŸãã
ã€ãŸããè©°ã¿åé¿ã®ããã«ã¯ããæçµçã«èªç±çã 1 ã«ãªãã«ãŒããã«çªå
¥ããªãããšãå¿
èŠã§ãã
éã«ãè©°ã¿åé¿ã§ããŠãããã¿ãŒã³ãèŠãŠã¿ãŸãããã
äžã¯ããåãæ¹ã«ãã£ãŠã¯è©°ãããã©ãé çªãééããªããã°è©°ãŸãªããã±ãŒã¹ã
äžã¯ããã©ãããããŠãè©°ãŸãªããã±ãŒã¹ã§ãã
ãããã¯è©°ããã¿ãŒã³ãšäžäœäœãéãã®ãããšããã®ãå³å¯ã«ããã ããšã²ãããé·ããªãã®ã§ãååæ¡ä»¶ã§æã蟌ãã§ããŸããŸãããã
$$ {\rm æãé«ãèªç±çã®é«ã} - {\rm äºçªç®ã«é«ãèªç±çã®é«ã} \lt {\rm èªç±çã®åæ°}$$
ã®æããŸã è©°ãã§ããŸãããããã§ãªãå Žåãè©°ãã§ããå¯èœæ§ããããŸãã
ãšããããè©°ã¿åé¿æ¡ä»¶ãšã§ãåŒã³ãŸããããã
ãããããããšèšã人ã¯ãäžã®å³ãšèŠæ¯ã¹ãŠã¿ããšããããããããã
èŠã¯ããèªç±ç 1 ãã®ç¶æ
ã¯ãé«äœå·®ãåããããã«å¿
èŠãªèªç±çã足ããªããæã«çºçããã®ã§ãé«äœå·®ãéãããã¡ãããšåãæ¹å·¥å€«ããŠãæœåã§ããªããªããããããšããããšã§ããã
åæç¶æ ã§è©°ã¿åé¿æ¡ä»¶ã«åèŽããŠããã°ããã®æ¡ä»¶ãç¶æããããã«åãããšã§ãç¡å°äžæµ·ã¯è©°ãŸãã«è§£ãããããšãå¯èœã§ãã
ãã®æ¹æ³ã¯ãååæ¡ä»¶ã§çžã£ãŠããã®ã§ãæ¬æ¥è©°ãŸãªããã¿ãŒã³ãäžéšåé¿ããŠããŸã£ãŠãã(çè«çã«çæå¯èœãªãã¿ãŒã³ããã¹ãŠç¶²çŸ
ã¯ã§ããªã)ããšã«ãªããŸãã
å®çšäžååã ãããšæããŸãããäžæééããã ãã§å³è©°ããããªã¹ãªã«ã®ããäžæµ·ãããããããšããå Žåã«ã¯ããã®æ¹æ³ã¯é©ããŠããŸããã
ãŸããé«ããããçã®äžé¢ã«ã¯ä»ã®çãããããšããåæã§ã®è©±ã§ãã®ã§ãå€åçãªäžæµ·ã«ã¯é©çšã§ããŸããã®ã§ã泚æãã
ã³ãŒããŒã±ãŒã¹
ä»åã® TURTLE ã§ã¯èµ·ãããªã話ã§ãããçã®ç©ã¿æ¹ã«ãã£ãŠã¯ãå®éã«ã¯è§£ãããã©åæç¶æ
ã§è©°ã¿åé¿æ¡ä»¶ã«åèŽããŠããªãããšèšãã±ãŒã¹ããããŸãã
ãã®å Žåã¯ãæ¡ä»¶ãæºãããŸã§ãæãé«ãèªç±çãå«ãçµããåã£ãŠãããŸãã
é²ããŠãããšãé«äœå·®ãç¶æãããã¯æžå°ãã解ãååšãããªãã°ãããæ¡ä»¶ãæºããããã«ãªããŸãã
ããè©°ã¿åé¿æ¡ä»¶ãæºãããªããŸãŸè©°ãã§ããŸã£ãå Žåã
ãã®çã®ç©ã¿æ¹ã«ã¯ããããã解ãååšããŸããã
æ®éã®äžæµ·ãšããŠãã¯ãªã¢ãã¿ãŒã³ãååšããªãããšã«ãªããŸãã
ã¡ãªã¿ã«ãçµã®äž¡æ¹ãšãåžžã«é«ããã®ããåã£ãŠãããšããæ¹æ³ã§ãã解ãååšããå Žåã«ã¯ç¡å°äžæµ·ã解ãããããšãã§ããŸãã
ãã ãæçµçã«åºæ¥äžããäžæµ·ã¯ããšããããäžããåã£ãŠããã°ã¯ãªã¢ã§ããã€ãŒãžãŒã¢ãŒãã«ãªããŸãã
ããã²ãŒã ãšãã¯ããã§ãããã®ããã
è©°ã¿åé¿æ¡ä»¶ã®ç¶æ
ä»åãµã³ãã«ã§äœ¿ã£ãæ¹æ³ã¯ãåºæ¬çã«ã¯ã©ã³ãã ã«èªç±çã®çµãéžã³ãŸããã
$$ {\rm æãé«ãèªç±çã®é«ã} - {\rm äºçªç®ã«é«ãèªç±çã®é«ã} + 2 \ge {\rm èªç±çã®åæ°}$$
ã®æã¯ãåãé€ãçãã
- äžã€ç®ã¯æãé«ããã®
- äºã€ç®ã¯ã©ã³ãã
ã«ããããšãããã®ã§ãã
è©°ã¿ã«ãŒãã«çªå
¥ããå¯èœæ§ããããšãã«ãçæ¹ãæãé«ããã®ããåãããšã§é«äœå·®ãéããªã(=è©°ã¿åé¿æ¡ä»¶ãç¶æãã)ããã«ããŠããŸãã
ã³ãŒããŒã±ãŒã¹ã®å Žåã«ããæãé«ãèªç±çãå«ãã çµãéžã°ããŸãã
è©°ãå±éºæ§ããªãæã«ã¯åã«ã©ã³ãã ã«åã£ãŠããã®ã§ãåžžã«ç°¡åã«ãªã£ãŠããŸããšããå¿é ã¯ããŸããããŸããã
ããŠãããã§è©°ãŸãã«ç¡å°äžæµ·ã解ããããã«ãªã£ãã®ã§ãåè¿°ã®æ¹æ³ã§è§£ãäžã€ä»¥äžååšããäžæµ·ã®ãã¿ãŒã³ãäœããŸãã
ãã€ããããŸïŒ
ããŸã: 麻éç
ã¹ã¿ã€ã«ã·ãŒãã§ããæŒãã
è¥å¹²ãããããã©ããŸããé»ã£ãŠãããã¬ãªããã¬ãªãã
See the Pen Mahjong Tile by nagtkk (@nagtkk) on CodePen.
äœè«: ãªãã·ã§ãŒãã³ãŒãã£ã³ã°ã«åããªãã®ã
äžã€ã«ã¯ããããŸã§æ£ã
è¿°ã¹ãŠããããã«ãè©°ã¿ãã¿ãŒã³ã®åé¿ãå
¥ããªããšããããéã¹ãç¶æ
ã«ãªãã«ããããã§ãã
ã·ã§ãŒãã³ãŒãã£ã³ã°çã«ã¯ããã®æã®ãã®ãçããŠã§ãçããè¿œæ±ããæ¹ãããœãããšæãã®ã§ãããéã¹ãªããã®ãäœã£ãŠããªãããšè²ã
ãšæ©ã¿ã©ããã
ã§ãäºã€ç®ã«ãçã®ç©ã¿æ¹ãã倧åãå ããŠããŸãããããšããã®ããããŸãã
ä»åã®ãµã³ãã«ã§ã¯ãç©ã¿æ¹ããŒã¿ã¯çã®æç¡ãè¡šã 0 or 1ã® é å㧠32 * 17 * 5 = 2720 èŠçŽ ãããŸããã§ããã
çã¯144åãããªãã®ã§ã座æšã§æã€ããã«ããã° 144 èŠçŽ ã«ã§ããŸãããããã§ããŸã ã§ããã
çã®æç¡ãäžè¡ãŸãšã㊠32 ãããã®æŽæ°ãšããŠæ±ãã°ã17 * 5 = 85 èŠçŽ ãäžèŠçŽ åœããã®ã³ãŒããé·ããªãã®ã§å¹æã¯ããŸãã¡ã
ã§ãããããçãããããšèãããšãã©ã³ã¬ã³ã°ã¹ããããã³ããããäºåã«èŠçŽ éã®å·®åãåã£ãã»ããâŠâŠããããã·ã§ãŒãã³ãŒãã£ã³ã°ã£ãŠãããããŒã¿å§çž®ã®è©±ã ããïŒ
é¢çœããç¡ããšã¯æããŸããããã©ãã©ãå¥ç©ã«ãªã£ãŠããã®ã§ãå人çã«ã¯ã·ã§ãŒãã³ãŒãã£ã³ã°ã«ã¯åããŠãªããªããšããçµè«ã«è³ããŸããã
äžæµ·èªäœã¯é¢çœããã§ããã©ãã
ãŸãšã
- äžæµ·ã®ãµã³ãã«ãšåºæ¬çãªäœãæ¹ã解説ããŸãããã³ãŒã解説ã¯ãµãã£ãã
- é©åœã«ç€é¢äœããšãŸãšãã«éã¹ãªããïŒæ°ãã€ããïŒ
- äºåã«ç€é¢äœã£ãŠããããã©ã楜ãããããã
- ç¡å°äžæµ·äœ¿ããšç€é¢çæã§ãããïŒ
- ç¡å°äžæµ·ã«ãè©°ã¿ããããïŒ
- è©°ã¿ã«ãŒãåé¿ãããïŒ
- åé¿ã§ããïŒ
- ã§ãã·ã§ãŒãã³ãŒãã£ã³ã°ã«åããªããæ²ããã
- ïŸïŸïœ°ïœ²