はじめに
はじめまして。
2024年3月よりプログラミングスクールRUNTEQに入学した、わーちゃんと申します。
スクールを2024年12月に卒業した今、個人開発したミニサービスの中で一つ記事にまとめていなかったものがありましたので、当時の事を振り返るいい機会として、まとめてみたいと思います。
▶サービスURL:Vim maze game
▶Github:リポジトリ
⌨️サービス概要と開発した理由🎮
概要
- Vimのh,j,k,lの操作を使いこなすためだけのミニゲーム
- 一部レベル開発中です!
開発理由
- スクールのイベントでVimというものを知る
- かなり訓練?すれば、マウス操作なしでコーディングできるようになる➡単純にかっこいい。素敵。と思う
- 卒業生の中でVim操作を利用した迷路サービスの存在を知る
- どうやって動いているのか気になる。私も作成してみたいと思う
- ゲームアプリを作ってみたいと思っていた
このような経緯から今回のサービスを開発するに至りました。
⌨️機能一覧🎮
-
迷路の描画
-
mazeData配列をもとに、Reactコンポーネントを使って迷路を表示 -
Cellコンポーネントで各マスの種類(壁、通路、スタート、ゴールなど)を判定
-
-
プレイヤーの移動
-
useStateでplayerPos(プレイヤーの位置)を管理 - キーボードの
h,j,k,lを押すと、プレイヤーが移動
-
-
視界制限
- プレイヤーの周囲1マスのみが見える
-
障害物の判定
-
1(壁)と2(木)は通過できない
-
-
ゴール判定
-
Gに到達するとメッセージを表示
-
⌨️使用技術🎮
| カテゴリ | 技術 | 説明 |
|---|---|---|
| 開発環境 | Glitch | Webアプリを開発・ホスティングできるオンラインプラットフォーム |
| コード管理 | GitHub | ソースコードのバージョン管理に使用 |
| フロントエンド | HTML | ベースのページ構造(index.html など) |
| CSS | Webページのデザインを担当 | |
| JSON | データ管理や設定情報の保存 | |
| React | フロントエンドのライブラリ(コンポーネントベース) | |
| JSX | Reactで使われるHTMLのような構文 | |
| インフラ | Glitch Hosting | Glitch上でアプリをホスト |
⌨️頑張った点、こだわった点🎮
- 迷路がプレイヤー周りの一部だけにしかわからないようにした
- ゴール到達時にメッセージの表示
- 次のステージに進む為にはゴールしないといけない
- 矢印ではなく、指定したキーで移動を可能に
⌨️最後に🎮
Reactを使用してミニサービスを作ってみました。
JavascriptとHTMLのファイルを一緒になって記述できるのはすごいな、と思いました。JSXの特徴。
下記リンク👇Reactの記事こんなにあるとは知らなかったので、興味あるものはみて、何かに取り入れてみようかと思います!
(Vimは難しいな・)
