アラサーからのプログラマー生活

アラサーの新米PGが必死に頑張る成長記録です。あとは旅行とか。

【マイクラBE】未就学児向けのジェットコースターワールドを作ったので配布するよ!

f:id:hollage0214:20210822225409p:plain
f:id:hollage0214:20210822225432p:plain
こんばんは、堀井です。

以前未就学児用にアスレチックワールドを作ったので配布したのですが、今回はジェットコースターを作りました。

前回の記事はこちら↓

みんな大好きクリーパーを模したコースターをコンセプトに作りました。

製作期間は1-2日くらいだったと思います。

一番面倒臭いのはクリーパーそのものを作ることで、ジェットコースターに関しては感覚で作ったのでそこまで面倒ではなかったです。

スタート地点はこちら。
f:id:hollage0214:20210822225421p:plain

チェストの中にトロッコが大量に入っていますので、お好きなレールを選んで走り出してください。

スタート箇所自体は3か所ありますが、スタート地点にあるレバーを稼働させることで4方向に進むことができます。

工夫した点としては、同じレールを使いつつも双方向に進むことがある点ですね。

例えばスタート地点の左側を選んだ場合のゴール地点は同じ場所です。





f:id:hollage0214:20210822225444p:plain

・・・なんですかこれは??

対象年齢:3歳~


想定クリア時間:15分程度


ゲームモード:アドベンチャーモード


備考:隠しボタン2カ所あり


ダウンロードページ

前回記事のアスレチックと同じURLに置いてありますので、よろしければご一緒にどうぞ。

上記URLからダウンロードし、解凍したファイル(.mcworld)をダブルクリックすればMinecraftが起動し、インポートされます。

もしデータが削除されている!などありましたらページ下部「お問合せ」よりご連絡ください。

それではまた次回。

サーブレットでcsvファイルを書き換えた時の配置場所について

こんばんは、堀井です。

今の現場でサーブレットとjspを使っているのですが、Javaの知識もまともにない状態で現場入りしたので本当に周りに迷惑をかけまくりながら1年過ごしました。

で、流石にマズすぎるのでアプリを作りつつ勉強をしているのですが、やっぱり分からないことだらけです。

その中でも特に解決に時間がかかったことがありましたのでざっくりと書いておきます。

あまり関係はないと思いますがIDEはEclipse、サーバーはTomcatを利用しました。


フォルダ構造

■app
  ┗Javaリソース
    ┗src
      ┗cmn(パッケージ)
        ┗Tool.java
      ┗controller(パッケージ)
        ┗ForwardMemberPage.java
  ┗WebContent
    ┗WEB-INF
      ┗data
        ┗memberList.csv
      ┗jsp
        ┗index.jsp
        ┗MemberPage.jsp

ざっくり階層としてはこんな感じです。


動作概要

  • index.jspからMemberPage.jspに遷移する
  • 遷移時にmemberList.csvの内容を読み込んでMemberPage.jspに表示させる
  • MemberPage.jspでは読み込んだメンバーの隣にチェックボックスがある
  • チェックを入れ登録ボタンを押すとcsvの中身を書き換えてページを再表示する

と言った内容です。

頑張ってcsvを書き換えるソースを書いて実行したところ、期待通りの結果を画面に反映させることができました。

ただなぜかmemberList.csvを再表示しても書き換わっていないんですよね。

実際に書き換えられた状態で画面に表示されているのにおかしいな・・・と調べること暫く、ようやく解決しました。


サーブレットで弄ったファイルの置き場所は変わる?

ファイルパスを見てみると
/WEB-INF/data/memberList.csv
ではなく
.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\App\WEB-INF\data\memberList.csv
なんて場所にありました。

一時ファイル的な存在なのかアプリケーションスコープ的な存在なのかまでは正直よく分かりませんでした。いかがでしたか?

サーバー側の動作を理解している人からすれば当たり前の話とは思いますが、初めてまともに触ったので新鮮な驚きでした。

将来的にはサーバーサイドも勉強しないといけなくなるんだろうなとはひしひし感じましたが、まずはサーブレットから。

あとはTCP/IPと応用情報と・・・。



備忘録的な意味合いが強いため雑に書いてしまいましたが本日はここまでです、それではまた次回。

あ、念のためですがデータベースは意図的に使っていないだけです・・・。