「1ページプログラミング」シリーズ

プログラム初心者、初学者のための様々な解説は世の中に溢れていますが、意外と「実際につくってみた」とそのサンプルコードの公開は少なめです。

たまにAmazonで売られていたりするくらい、良質なサンプルコードは人気があります。

例えばWin32APIでWindowsでテトリス作ってみた動画など、僕は大好きです。みているとテンションが上がります。

そこで様々な先人に習い、このシリーズでは様々なゲームや仕組みのプログラミングを1ページで行っていきます。

このシリーズの特徴

1ページプログラミングの特徴は一枚のファイルで、メインのプログラムと解説を全部含んでいる、ということです。javascript によるプログラムなら、html、css、jsを全部含んでいます。

よくわからないところで、よくわからない処理をホニャホニャしている、といったことは一切ありません。

全て一枚の中で記述しています。

それ以外の、必要なライブラリは、出来るかぎりCDNからロードしています。

またTypescript などの alt JS を用いていません。Pure Javascript です。

これにより、

「冒頭から読み進めていくだけで処理と実装の流れをある程度理解する」ことに焦点を当てています。

使い方

このコードをコピーして、自分のフォルダに保存します。(index.html等の名前で保存してください)

そしてそれをGoogle Chromeで開くだけです。

コードは解説も含んでおり、初学者のために書いているため、中級以上のプログラマが初学者を育成する場面でもご利用いただけます。

免責事項

いらっしゃらないとは思いますが、丸コピで面接等に出すのはやめましょう。

プログラムはある程度、作成者の癖が出るものです。関数の切り出し方、変数の置き方、参照の仕方。

見る人が見れば、そういったコピーはすぐに判明します。

また、一切の責任を負いませんことを明記しておきます。

ゲームの仕様

今回はとうとう日本における最強(売り上げ)の盤面ゲーム「パズドラ」のパズル部分のプログラムです。

元祖といえる「Bejeweled」から「パズドラ」まで、様々に発展してきたパズル、「スリーマッチパズル」において、今日本で一番有名なパズルかもしれません。

実装してみると分かることですが、実はスリーマッチパズルとほとんど同じで、かつスリーマッチパズルよりも制約が緩いので、より単純な実装が可能です。

時間制限をつけていないので、いくらでも動かす練習ができますね!

コード本体

2021.03.15 初版

最終更新: 2022年11月3日