Excelを表計算ソフトだと思っているみなさんこんにちは。何度でも言います。Excelは表計算ソフトです。以前、当ブログでExcelアートについてご紹介させていただきましたが、今回は、Excelで作られたゲームをご紹介したいと思います。全部 【ExcelVBA】ヘビゲームを作ってみました。 に続いて、 新人のころにExcelVBAで作ったテトリスを公開してみようと思います。ソースコードも公開していますので、ExcelVBAを勉強している方へ参考にな … エクセルで「2人用将棋」作っちゃいました!! 前回は Excel vba でオセロを作成しましたがそのときは1日でサクサク作れたため、調... 私は html や php などの Web 系言語の開発を行う際に、エディターとして「Sublime Text」という使っています。 なぜか... はじめに はじめのうちはOFFSET関数は本当によくわからない関数だと思います。 私もはじめてOFFSET関数を使うとき、この関数がなにをし... 【Python】初心者向け!「argparse」でコマンドライン引数をわかりやすくしよう!. 5: 投稿者: stanch: 投稿日時: 2017年7月30日 (日) 22:07:19: 検索したところ、確かにそのようです。6行でいけてる! 他に分かったこと ・7行テトリスの作者は実は著名人 ・6行にしたのは2chのレスが最 … このときは強制的にテトリスが終了します。 作成方法 . Excel vba で作成しています。要はプログラミングして作成しました。 実際のテトリスの作成手順は下記の5つになります。 この5つができればテトリスは作れます。 ExcelマクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第5回です。前回で石を置ける場所の判定が完成しましたので、これからは、ゲームとしての機能を一つずつ追加していきます。まずは、石を置ける場所の色を変更してわかりやすくしてみます。 前からつくってみたいなあと思っていたゲームの一つで、これもなかなか時間がかかりました。, 仕事終わってからだらだら作っていたら一週間くらいかかりました(工数はだいたい1人日~2人日くらい)。, ですが、思ったより簡単に作れました。エクセルで過去にオセロや将棋などつくりましたが、, この記事では、作成したテトリスについて、その操作方法と作成方法についてご紹介します。, ※ 作成方法したエクセルのテトリスについては下記からダウンロード可能ですので、ぜひ遊んでみてください。, テトリスを開始するときは「START」ボタンをクリックしますが、ゲームを終了する場合はキーボードの「Home」キーを押下します。, またテトリスには、一行ずつ消すよりもまとめて消したほうがお得というルールがありますね。今回それを下記式で表しています。, テトリスを作った割にテトリスのポイントのつけ方がよくわからなかったので、こんな感じで付けました。, Score とは点数のことで、「Score = Score + ~ 」とは、もともとの Score の値にどんどん足していきますよということです。, 例えば削除した行が1行なら Score = 400点、2行なら700点つきます(答えを知っている人は教えてほしいです)。, 前述しましたがゲームを終了する場合はキーボードの「Home」キーを押下しますが、それ以外にもテトリスが続行できない場合も終了するようにしています。, 実際のテトリスの作成手順は下記の5つになります。この5つができればテトリスは作れます。, これだけみれば、「案外簡単そうだなあ」と思われる人もいるかもしれませんが、案外めんどくさいです。, 処理概要を説明しますと、まず定数、変数の定義とレイアウト作成などの下準備を行います。, その後 Do While True ~ をつかって無限ループさせ、ブロックを落とすようにします。, ブロックが指定したセルの行よりあれば終了するようにしています(先ほど貼ったやつです)。, 記事作成での都合上、最初に定数と変数の定義を最初にきていますが、プログラミングをしている段階では、必要なたびにどんどん定義しています(当たり前ですが、)。, 定数については、レイアウトの位置情報(何行何列目のセルに描くか)とブロックの色について定義づけしています(固定なので)。, また、変数については、ブロックの先頭セルと、テトリスのスコア、ブロックの回転数について定義しています。これらは後で説明しますのでいまは適当に流していただいて問題ありません。, これはもし間違えてシート上のセルを消してしまった場合も問題ないようにするためです。, 作成するレイアウトは、下記画像の青矢印の箇所(テトリスの周りのブロックと、次のテトリスを表示させる黒枠の箇所)です。, また、もともとブロックが描いてある場合もいったん消してきれいにするようにしています。, 下記はソースコードですが、setting プロシージャがメイン関数で、その中に ①テトリスの周りのブロックと、②次のテトリスを表示させる黒枠の箇所のレイアウトの設定を行っています。, 今回これらのブロックに名前をつけています。左から1、2 .... 7という数値をつけそれを Block という変数にもたせるようにしています。, また、セルに入れる処理を毎回書くのが面倒だったので、paintColor プロシージャにまとめ、座標情報(何行何列目に入力するか)のみで描けるようにしてあります。, 具体的には 1 ~ 7 のうちのランダムな数値を取得し、取得した値からブロックを生成するようにします。, 「←」「↑」「↓」「→」のキーボード入力のイベントを検知したときに、下記プロシージャが呼び出されるようにしてあります。, ブロックの移動についてですが、移動前のブロックの書式を削除→次のブロックに色をつけるというふたつの処理を行っています。, 前章「ブロックを描く」で説明しました、「ブロックを描く」処理と「ブロックを削除」処理の二つを呼び出して処理させています。, 当然ですがブロックが壁を貫いたり、底を突き抜けて動いていたらテトリスになりません。, ですので今回はブロックごとに先頭セルをもたせてあり、先頭セルの次の行ももしくは列のセルの色が白色(背景色)でならブロックが移動できるようにしています。, つぎにブロックの回転ですが(これ結構悩んだんですが)一番早いのがブロックごとにパターンをつくってセルに描くことです。, その「Ctrl」キーの入力イベントを検知した後、「Ctrl」キーが押された回数を変数 ROTATE_NUM にもたせます。, 例えば「Ctrl」キーが2回入力されれば ROTATE_NUM = 2となります。そして、ブロック名が「2」で ROTATE_NUM = 2 なら「こう描く!」と決めておきます。, あとは上記表の組み合わせをガリガリ書くだけです(これが書き間違えなどあって大変でしたね、、、)。, ブロックの移動が完了すれば次は、ブロックが一行そろっているか確認し、そろっている場合はその行を削除してスコアに加算します。, あとは終了条件だけですね。ある行を天井と決め、その行よりも一つ上の行を端から端までセルの書式を確認し、ブロックがあれば(セルに色がついてあれば)メッセージを表示させ終了させます。, 長々と失礼しました。この記事49000文字近くまでいってました、、、まあ大半がソースコードですが。, これ思ったより作るのめんどくさかったですね。。けれどゲームをつくるのってやっぱり楽しいです。, 最後にこのテトリスが気になる人もしくは作成したテトリスを参考にしたい人がいれば、ぜひダウンロードしてみてください!. 度肝を抜かれるほど美しいExcelアート5選 https://press.share-wis.com/excel-art ご存知でしたか?Excelでゲームが作れるんです。 それでは早速。, 懐かしのマリオですが、再現度ハンパないです。 ちゃんとエンディングまで作ってあります。, みんな大好きドラゴンクエスト。 すげえぇぇぇ!!音まで再現してある!と思ったら音は合成とのことです。, こちらは、合成ではないか!?とコメント欄で指摘されています。 まあ、さすがにヌルヌル動きすぎな気もしますが・・・。, 麻雀ゲームです。 仕事中もできるように、一見すると麻雀をしてようにはとても見えないモードも用意されています(笑) なんという親切な設計でしょう。 これなら仕事中も安心して麻雀できますね。 ゲームファイルは、以下の公式ページからダウンロード可能です。Cell_雀, いかがだったでしょうか。 ビデオゲームを制作するプラットフォームとしてもExcelが活用できるんですね。 ここまでさらっと紹介してきましたが「こんなのぼくの知ってるExcelじゃないっ!!」 と何度も、何度も叫びそうになりました。 Excelはビジネス用途だけでなく、極めれば何でもできそうな気がしてきますね。 少しずつレベルアップしながらアートやゲーム、新たなExcel芸を開拓してみてはいかがでしょうか。, 英語やプログラミング、さまざまな学びのコンテンツをお届けするShareWis PRESS(シェアウィズ プレス), 【Mario】Excel Mario / エクセルでスーパーマリオを作ってみた。【完成版】. Excelを表計算ソフトだと思っているみなさんこんにちは。 何度でも言います。Excelは表計算ソフトです。 以前、当ブログでExcelアートについてご紹介させていただきましたが、今回は、Excelで作られたゲームをご紹介したいと思います。全部Excelだと!? どーもTakeです。 Python でソースコードを組んでいるときに「TypeError: 'str' object is not call... アフィリエイトやブログをやる方は必ず自分の「ドメイン」を取得する場面があります。 その際に【お名前.com】 のサイトでドメイン名を取得しよ... どーもTakeです。 今回は Python で CSV ファイルの読み込み(入力)と書き込み(出力)処理についてわかりやすく解説します!! ... 「vba でプログラムを書いたのでボタンを押して実行できるようにしたい」という悩みありませんか? Excel マクロ をボタンで実行できるよ... 【Python】print を改行なしで表示するには「end =""」を設定しよう!, Jupyter Notebook をショートカットで(Ctrl + Rから)起動させよう!, 【自宅PCでWeb開発】XAMPP に WordPress をインストールする簡単な方法, 【Excel 関数】LOOKUP・VLOOKUP・HLOOKUP関数の使い方とそれらの違い, ブロックが一番下までいけば、一行そろっているブロックがあるか確認し、あれば消してスコアをつける.