Takunojiのプログラミング・プレイグラウンド(遊び場)

Javaプログラミングを基本にして、ゲーム作成に必要なことの調査結果、やったら面白そうなことなどを記載します。プログラミングのススメ的なことも記載します。プログラミングで楽しく遊ぶために色々と記載して行きます。

Java 工作(結果)〜ラズパイ CUI〜

イントロダクション

今月、夏休みの自由研究と称しラズパイ の工作を行いました。

現状

ラズパイ にラズビアンをインストールして、動いています。が…wifi の設定にて詰まっております。

やった事

  1. ラズパイ のインストール
  2. apt-get updateなどの更新処理
  3. confファイルに使用するIPを記述
  4. 再起動

wifi ドングルの認識はlsusbコマンドで確認、iwlistコマンドでインターフェースの確認をするがIPアドレスは表示されるがドングルでの接続がうまくいかない…

設定ファイル当たりを見直してみる…

 

wifi 接続完了

参考にしたサイトは殆どがwpa_supplicant.confを編集していたので、いつまでも繋がりませんでした。

編集するべきは

/etc/network/interfacesファイルでした。

 詳細は以下

http://zenryokuservice.com/wp/2018/09/02/rpi-settingup-wifi-in-cui-~ラズパイ-cui-wifi接続~/

 

@java_takunoji

 

 

 

Java 工作 〜実装プラン〜

イントロダクション

 夏休みです。社会人にもある夏休み(普通の土日の場合もあるが…)

この時間を使って電子工作をやろうと言うわけです。

レシピ

ラズパイ1個

ディスプレイ(ラズパイと同じくらいのサイズ)1個

wifi ドングル(USB接続)1個

開発環境

MacBook(Windows, Linux)

実装プラン

1.ラズパイをCUIで起動する様にインストール(ライト版)

2.MacからSSH接続

3.Javaをインストール(JDK)

4.JavaFXで画面の実装

5.動画、音楽などを再生するプレイヤーにする

実装

1.ラズビアンをCUIでインストール

2.Javaの起動環境構築

3.Javaでプログラム作成

4.作成したプログラムをJARに出力

5.JARファイルをラズパイに配置

6.起動確認

 

これでいけるはず…結果は後ほど。。。

 

関連ページ一覧

Eclipse セットアップ

  1. Java Install Eclipse〜開発ツールのインストール〜
  2. TensorFlow C++環境〜EclipseCDTをインストール〜
  3. Setup OpenGL with JavaJOGLを使う準備 for Eclipse
  4. Eclipse Meven 開発手順〜プロジェクトの作成〜
  5. Java OpenCV 環境セットアップ(on Mac)
  6. Eclipse SceneBuilderを追加する
  7. JavaFX SceneBuilder EclipseSceneBuilder連携~

Git

  1. Java Git clone in Eclipse 〜サンプルの取得〜
  2. Eclipse Gitリポジトリの取得 GitからソースをPullしよう〜
  3. IntelliJ IDEA GitGitリポジトリからクローン〜

JavaFXでハローワールド〜OpenCVまで

  1. Java 初めてでも大丈夫〜ステップアッププログラミングのススメ〜
  2. ステップアッププログラミング〜Java FxでHelloWorld解説〜
  3. Java StepUpPrograming〜JavaFX で四則計算〜
  4. Java StepUpPrograming〜JavaFXで画面切り替えを作る1〜
  5. Java StepUpPrograming〜JavaFXで画面切り替え2ボタン作成〜
  6. Java StepUpPrograming〜JavaFXで画面切り替え3アクション〜
  7. Java StepUpPrograming〜JavaFXで画面切り替え4Pane切り替え〜
  8. Java StepUpPrograming〜JavaFXで画面切り替え5WebEngine〜

 

Java Basic Level 4, 5〜BooleanとIf文〜

イントロダクション

前回の続きです。JavaでのBoolean(論理値)の使い方とIf文の使い方です。

BooleanでTrue or False

TrueとFalseって何?って感じの人もいると思います。

自分は始めそうでした。結論からいうとそのままです。

ただし、入力とか検査の結果がTrue or Falseという判定を下せると考えるとできることが広がると思います。

入力した文字が〜の時、現在時刻が〜の時、〜を表示する。。。

というような処理を作る時に、Booleanを使用します。

 

<サンプル>

ゲームのコントローラーの「Aボタン」を押下した時、キャラクターがジャンプする

というような処理があったとします。

この時に「Aボタンが押下された」判定をする時にBooleanを使用します。

action.setAction(new EventListener() {

     public void push(KeyEvent key) {

   String buttonName = key.getKey().getName();
           if ("A".equals(buttonName)) {

               pplayer.jump();
          }

    });

}

上記のような処理で判定を行います。

詳細は、こちらに記載しました。
まだプログラムを始めたばかりの想定なので、詳細はもっと簡単な記述がしてあります。Booleanの初期化からプログラム引数が〜の場合というようなケースでの実装などです。

Booleanについて

zenryokuservice.com

IF文について

zenryokuservice.com

Level1〜5のまとめ

そして、Level1〜5までを通してやった場合このようなプログラムがかけます。というような「まとめ」を記述しました。

zenryokuservice.com

でわでわ。。。

 

関連ページ一覧

  1. IntelliJ IDEA 環境構築 〜インストールと起動〜
  2. IntelliJ IDEA GitGitリポジトリからクローン〜
  3. Java Install Eclipse〜開発ツールのインストール〜
  4. Micro:bit(Chibi:bit) での開発環境セットアップ
  5. JavaミニGameJava Console Game
 

Java Basic 復習 Level 1〜3

イントロダクション

ここらで、一度Javaの復習をしたいと思います。前回記載したものは、不親切な部分があるので書き直しました。

 レベル1、ハローワールド

初めて、プログラム(Java)を描く人向けです。どのプログラム言語でもハローワールドはやります。

因みに、環境構築をした後には起動確認としてこのプログラムを使用することが多いです。

詳細はこちら

http://zenryokuservice.com/wp/2018/07/20/java-basic-level-1-〜hello-java〜/

ポイント

初めてやるのだから、内容を理解するよりも「動いた」というのを実感して欲しいです。この積み重ねにより人工知能とか、ゲームとか便利or面白いものが出来上がっています。

簡単なロードマップもありますのでスケジュールを自分で組んでやって見てください。

はじめの一歩〜

ハローワールド 

計算処理(四則計算)

文字の扱い(Stringクラス)

 

条件分岐〜

オブジェクト指向について

JUnitの使い方

  1. Java Basic JUnit 〜テストスイートの作り方〜

 

 

上から順に進む感じです。

「これ、わかるからいいや!」と思ったら飛ばしてください。

「これ、わかんねぇや!」と思ったらブログのレベルが1個前のものを読んでもらえれば、わかると思います。「Java Basic一覧」参照

 

でわでわ。。。

 Java Basic一覧

  1. Java Basic Level 1 〜Hello Java〜
  2. Java Basic Level2 〜Arithmetic Calculate〜
  3. Java Basic Level3 〜About String class〜
  4. Java Basic Level 4〜Boolean〜
  5. Java Basic Level 5〜If Statement〜
  6. Java Basic Summary from Level1 to 5
  7. Java Basic Level 6 〜Traning of If statement〜
  8. Java Basic Level8 〜How to use for statement〜
  9. Java Basic Level 8.5 〜Array〜
  10. Java Basic Level 9〜Training of for statement〜
  11. Java Basic Level 10 〜While statement 〜
  12. Java Basic Swing〜オブジェクト指向〜
  13. Java Basic Swing Level 2〜オブジェクト指向2〜
  14. サンプル実装〜コンソールゲーム〜
  15. Java Basic インターフェース・抽象クラスの作り方
  16. Java Basic クラスとは〜Step2_1〜
  17. Java Basic JUnit 〜テストスイートの作り方〜
 

開発メモ タスクの仕分け方法

イントロダクション

色々と考えていたら頭の中で追いつかなくなって来たのでメモします。

現状のタスクと思い

以下の作業が同時進行中

1. Javaプログラムを作成する(Discord)

2.使用した技術をブログにする

3.Javaの基本をやり直す(blog)

4.ゲーム作成用のシナリオ(世界観)作成

※以下、やりたいと思う事

5.ラズベリーパイで開発用携帯端末を作る

6.子供用の携帯(リストバンド状)の端末

7.プチコンでのゲーム作成

打開策

イデアを考えつつ、進めるところから進める。

打開策の問題点

・筆者の脳は8bit CPUである。メモリに余裕が無いのでタスクをいちいち覚えて無い。

・1日の中で余裕のある時間があまり無い

問題の解決策

・足りないメモリは外部の物を使う→スマホ、ノートetc

・電車の中とか、昼休み、などに設計など頭の中で出来ることをやってしまう。

・ロードマップを描く

これが、1番強力ですね。

何をやるのか?はロードマップのマイルストーン(スゴロクのマス)になるのでまさに一目瞭然です。月一くらいに更新してやればまぁ、コンスタントに行けると思います。が計画は大体その通りに行かないので、うまく行かない時にどうやるか?っていうのを用意しておくと良いと思う次第です。

 

でわでわ。。。

 

 

プチコン ゲームの作り方〜組み立て方〜

イントロダクション

前提として、作り方は人それぞれです。

今回は、自分のゲームの組み立て方をまとめたいと思います。

考え方

ゲームをプログラム的に表現する時の流れをまとめます。

初期処理→ループ処理→終了処理

の流れでゲームが起動します。

上記のループ処理でユーザーがゲームをプレイします。

スタートボタンを押す→タイトル画面からゲーム開始画面へ…と表示していき途中のゲームオーバーなどの画面も含まれます。

詳細はこちらに記載しました。

http://zenryokuservice.com/wp/2018/07/22/プチコン-実装メモ〜プチコンcommand-memo〜/

現状

RPGを作成中ですが、ゲーム進行をどのようにやるか検討中です。

なかなか決まらない(笑)

Eclipse セットアップ

  1. Java Install Eclipse〜開発ツールのインストール〜
  2. TensorFlow C++環境〜EclipseにCDTをインストール〜
  3. Setup OpenGL with Java〜JOGLを使う準備 for Eclipse〜
  4. Eclipse Meven 開発手順〜プロジェクトの作成〜
  5. Java OpenCV 環境セットアップ(on Mac)
 

プチコン コマンドメモ〜文字とスロット〜

文字と変数を連結する

DIM M=“moji”

PRNT “これは"+M$

の様にやる

隣のスロットを参照

USE スロット番号

USE 1

スロット1を参照する。ここで定義したサブルーチンなどは以下の様に定義

COMMON DEF XXX

 

詳細は、下のページです。

http://zenryokuservice.com/wp/2018/07/22/プチコン-実装メモ〜プチコンcommand-memo〜/

でわでわ。。。

 

Eclipse セットアップ

  1. Java Install Eclipse〜開発ツールのインストール〜
  2. TensorFlow C++環境〜EclipseにCDTをインストール〜
  3. Setup OpenGL with Java〜JOGLを使う準備 for Eclipse〜
  4. Eclipse Meven 開発手順〜プロジェクトの作成〜
  5. Java OpenCV 環境セットアップ(on Mac)
 

Java Basic retry〜基本の復習〜

イントロダクション

以前、初めてJavaを学習する人向けに記事を書いたのですが、正直のところ不親切→分かりづらい文だったのでやり直します。

 

はじめのプログラム

どのプログラム言語でもハローワールドを表示するプログラムを始めに作ります。これは、環境構築の後などにプログラムが動くか?の確認、起動確認に使用します。

プログラムを初めて10年以上経ちますが、今でも「Hello World」は使用しています。

最近はPHPでもやりました(笑)

早速作りましょう

 

これから、Javaを学習するのにどのように学習を進めていくのか?簡単なロードマップを示してあります。そして、世の中、英語も必要な時代なので、英語と日本語で記載しました。

ハローワールドプログラムの詳細は下のページに記載しました。

  1. Java Basic Level 1 〜Hello Java〜

 

そして、プログラムの構造をなんとなくで良いので頭にイメージして下さい。

Javaは全部クラスで動きます

 

でわでわ、Let‘s enjoy java! see you next time. Have a good day!!

 

 

Java Basic一覧

  1. Java Basic Level 1 〜Hello Java〜
  2. Java Basic Level2 〜Arithmetic Calculate〜
  3. Java Basic Level3 〜About String class〜
  4. Java Basic Level 4〜Boolean〜
  5. Java Basic Level 5〜If Statement〜
  6. Java Basic Summary from Level1 to 5
  7. Java Basic Level 6 〜Traning of If statement〜
  8. Java Basic Level8 〜How to use for statement〜
  9. Java Basic Level 8.5 〜Array〜
  10. Java Basic Level 9〜Training of for statement〜
  11. Java Basic Level 10 〜While statement 〜
  12. Java Basic Swing〜オブジェクト指向〜
  13. Java Basic Swing Level 2〜オブジェクト指向2〜
  14. サンプル実装〜コンソールゲーム〜
  15. Java Basic インターフェース・抽象クラスの作り方
  16. Java Basic クラスとは〜Step2_1〜
  17. Java Basic JUnit 〜テストスイートの作り方〜
 

プチコン 動かしてみた

イントロダクション

任天堂3ds のゲーム、プチコン3号での実装をやってみました。

Smile Basic

プチコンは上記のような名前のプログラムで動きます。

コードもシンプルで、とても分かりやすいです。そのかわり関数を覚える必要が有ります。ドキュメント片手にやれば問題有りません。

命令表 – SmileBasic

 

実装など詳細はこちら

http://zenryokuservice.com/wp/2018/07/19/プチコン3号-はじめの一歩〜3dsでのゲーム作成/

感想

やってみて、基本的な事がとても大切だと再認識させられました。一旦人のコードを写経してみると理解するスピードが違います。

そして、コードがシンプルな分「設計」に重きが置かれます。

「何を作る?」というのが最大の問題になると思います。大雑把に以下の様なポイントに対する創意工夫を凝らしている作品、製品が多いと思います。

  1. 文学、漫画、映画などストーリー描画に重きが置かれる
  2. 絵画、オブジェ、建築、衣服、小物・雑貨など見た目に重きが置かれる
  3. システム、工具、ツールの類など機能に重きが置かれる

ポイントをまとめると以下のものになると思います。

  1. ストーリー、物語
  2. 見た目
  3. 機能性
  4. 人がハマってしまう要素

早い話が「魅力的で面白いもの」という認識です。

なんか、永遠のテーマだよなぁ…

でわでわ。。。

java discord 〜JavaでBOT作成〜

イントロダクション

最近discord というアプリを見つけチャットや音声データのやり取りにも使える事を知りました。jsやpythonでのアプリ作成が出来、それをBOTと呼びます。

チャットで入力した文字に対応してレスポンスを返す感じのアプリ作成を行いました。

開発環境と実装

開発にはIntelliJ IDEAを使用しました。

詳細は以下です。

http://zenryokuservice.com/wp/2018/07/14/java-discord-セットアップ〜hello-discord〜/

拡張方法

サンプルコードを起動したら、自分で考えて実装したいと思うと思います。

処理の追加方法は以下に記載しました。

http://zenryokuservice.com/wp/2018/07/15/java-discord-ピンポン〜discordプログラム〜/

感想

プログラムをデプロイするわけではないので、自分の端末でアプリを起動しておく必要があるのですが、ちょっと動かすだけなら十分かな?と思います。

 

 

関連ページ一覧

  1. IntelliJ IDEA Discord Botを作る〜Gradle環境のセットアップ〜
  2. Java Discord セットアップ〜Hello Discord
  3.  Java Discord ピンポン〜Discordプログラム〜
  4. Java Discord Listener実装〜コマンドを好きなだけ追加しよう〜

IntelliJ IDEA

  1. IntelliJ IDEA 環境構築 〜インストールと起動〜
  2. IntelliJ IDEA GitGitリポジトリからクローン〜
  3. IntelliJ IDEA 使い方〜Git接続 Java起動 etc
  4. IntelliJ IDEA Jarファイルを作る
  5. IntelliJ IDEA 使い方〜Maven Projectの作成〜
  6. IntelliJ IDEA 使い方〜Mavenでライブラリを追加する〜
  7. IntelliJ IDEA 使い方〜Javaのコンパイルレベル設定〜
  8. IntelliJ IDEA Gradleセットアップ〜コマンド入力部の表示〜
  9. IntelliJ IDEA Discord Botを作る〜Gradle環境のセットアップ〜

Eclipse

  1. Java Install Eclipse〜開発ツールのインストール〜
  2. Eclipse Meven 開発手順〜プロジェクトの作成〜
  3. Java OpenCV 環境セットアップ(on Mac)
  4. Eclipse SceneBuilderを追加する
  5. JavaFX SceneBuilder EclipseSceneBuilder連携~