0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSL(Ubuntu)でLinux×Javaのシンプルなじゃんけんゲームを作る Day1 ~タイトルコールの実装~

0
Posted at

はじめに

ミニマムなゲーム作りをしたいということで、Linuxを触りながらJavaを使ってシンプルなじゃんけんゲームを作成しています。

そして、前回の記事では、前回の記事では、WSL(Ubuntu)にOpenJDKをインストールし、Javaの開発環境が正しく構築できていることを確認しました。

今回からはいよいよ、実際にJavaでプログラミングしていきます。
まずはゲームタイトルである「じゃんけんゲーム」を表示させます。
いわゆる「Hello World!」ですね^^

前提事項

前提事項としては以下のとおりです。

使用環境

  • OS:Windows11 Home
  • CPU:Intel
  • Linux環境:Ubuntu
  • WSL(Ubuntu 26.04 LTS)
  • OpenJDK 21

補助ツール

Chat GPT
AIにも慣れておきたいなぁ、ということで使用しています。
学習目的のため、実行するコマンドをただ提示させるのではなく、コマンドを実行する理由やコマンドの意味もをあわせて提示するように指示しました。
※念のため実際に説明や解釈が合っているか調べて確認しています。

その他
この記事内では、実行コマンドの下にコマンドの意味を記載しています。

1-1.作業ディレクトリの作成

まずは、pwdコマンドで念のため現在どこにいるのか確認します。
現状特にディレクトリ移動をしていないためhome/ユーザー名 と表示されるはず。

pwd


実行結果

/home/ユーザー名

期待通りの結果が返ってきました。
現在の居場所を確認できたので、作業用のディレクトリを作成していきます。
mkdir jankengame

  • mkdir オプション ディレクトリ名
    新しいディレクトリを作成するコマンド。-pオプションを付けると親ディレクトリも同時に作れるので便利。
     【例】mkdire -p game/jankenを実行すると一行のコマンドでgameディレクトリが作成され、配下にjankenディレクトリが作成される。なかなか便利。

ディレクトリを作成したら、作成した作業ディレクトリへ移動し、現在地を確認してみます。
cd jankengameを実行後pwdを実行する。

実行結果

/home/ユーザー名/jankengame

これで作業用ディレクトリーが作成できました。

2-1.Javaファイルの作成

まずは空のjavaファイルを作成し、ls -lコマンドを実行してファイルの詳細を確認してみます。
touch Janken.java | ls -l
実行結果

-rw-r--r-- 1 ユーザー名 ユーザー名 116 Jul 11 09:42 Janken.java

Janken.javaファイルが作成されました。

  • touch オプション ファイル名
    オプションを付けない場合はファイルを作成。
    また、作成後に同名のファイル名でコマンドを実行するとタイムスタンプを更新できる。

3-1.vimでプログラムを記述する

Linuxでよく利用されるテキストエディタvimでソースコードを記述していきます。

vim Janken.java

  • vim ファイル名
    ファイルをvimというエディタで開く。
    簡単なイメージとしては、Windowsに標準装備されているメモ帳で、Janken.txtを開いているようなもの、だと思う。

実行結果
スクリーンショット 2026-07-25 230106.png

編集モードに入るため、iを押下します。
すると画面左下に -- INSERT --と表示されるのでコードを入力していきます。
スクリーンショット 2026-07-25 230934.png
入力後はEsc:wqEnterの順に押下し、保存して閉じます。
なお、特に内容を変更していない場合は:q!で、保存せずに閉じることが可能。

3-2.vimについて

vimでは、開いたときはESCAPE(エスケープ)モードでありソースコードの編集が不可能。
また、方向キーでのカーソル移動が不可。
ではどうするのか?
方向キーの代わりに以下のキーを押下することで上下左右にカーソル移動ができる。
j:上
k:下
h:左
l:右
これは基本的な操作であり、他にも入力方法があるものの、割愛します。
操作については先達の方がいろいろ紹介されていますが、癖があるようなので使って慣れるしかなさそう......
しかし、なんだかPCゲーみたいな操作感ですね。(小声)

4-1.Janken.javaの中身を確認する

保存できているか確認してみます。
まずは、ファイルの中身を確認してみます。
cat -n Janken.java

  • cat -n ファイル名
    catコマンドに-nを付けることで、実行結果に行番号が振られます。
    エラーが発生した際にエラー部分を行番号で表示してくれるため、便利。

実行結果
スクリーンショット 2026-07-25 234338.png


4-2.ファイル名を間違えたときの対応方法

今回、ファイルを作成するさいにJanken.javaではなくjanken.javaとつけてしまいました。
しかし、Javaではpublic class Jankenと宣言している場合、ファイル名をJanken.javaにする必要があります。

このようにファイル名を誤ってつけてしまったときの修正方法がこちら。
mv janken.java Janken.java

  • mv 対象ファイル名 変更ファイル名
    mvコマンドはオプションを付けないとファイルを移動させるコマンドですが、このように引数としてファイル名を2つ指定することでファイル名を変更することが可能です。

4-3.コンパイルとプログラムの実行

次にコンパイルしてJanken.javaの実行結果が以下の様になる(文字列が表示される)ことを確認してみます。
期待する実行結果

じゃんけんゲーム

コンパイル実行
次のコマンドを実行してコンパイルしていきます。
javac Janken.java

実行後何も表示されない=成功です。
では、lsコマンドを使いJanken.classというclassファイルが生成されていることを確認してみます。

実行結果
スクリーンショット 2026-07-26 001621.png

ではいよいよ、プログラムを実行してみます。
java Janken

実行結果
スクリーンショット 2026-07-26 002047.png
無事にタイトルコールができました。

まとめ

今回はJavaで実際にソースコードを記述して、「じゃんけんゲーム」という文字列の出力までできました。
vimの操作がまだ若干覚えきれてない部分はありますが、これから慣れていければなと思っています。
現場でいきなり使えと言われたら、ちょっと手間取りそうだなとも思いました...が、これは個人開発なので緊張することなく、焦らず触れるのでよかったです。

次回はおそらく、キーボードからの入力で表示させるところまで実装することになるかと思います。
判定はないものの、キーボード入力によって画面に変化が現れる、っていうのはゲームっぽくていいですよね。

今回使ったコマンドまとめ

  • mkdir オプション ディレクトリ名
    新しいディレクトリを作成するコマンド。

  • touch オプション ファイル名
    オプションを付けない場合はファイルを作成。
    また、作成後に同名のファイル名でコマンドを実行するとタイムスタンプを更新できる。

  • vim ファイル名
    ファイルをvimというエディタで開く。

  • cat -n ファイル名
    catコマンドに-nを付けることで、実行結果に行番号が振られる。
    エラーが発生した際にエラー部分を行番号で表示してくれるため、便利。

  • mv 対象ファイル名 変更ファイル名
    mvコマンドはオプションを付けないとファイルを移動させるコマンド。
    引数としてファイル名を2つ指定することでファイル名を変更することが可能。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?