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

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

RPi GPIO 〜ラズパイ でLチカ〜

イントロダクション

ラズパイ をCUIで起動してからの画面起動が出来なかったので、画面作成はやめてNO画面アプリを作る方向で考え始めました。

何をやるのか?

携帯したラズパイ のボタンを押すことで各種コマンドを実行する仕組みを作る方向に進みます。

はじめの一歩

画面を使わないならば、ボタンなどアナログインターフェースを使うしかありません。つまりGPIOでのやり取りが手っ取り早いと思うのです。

Lチカのセットアップ

今回のアプリケーションフローとしては、以下の様な処理を考えております。

  1. 電源を入れる
  2. ラズパイ上に常駐アプリ起動
  3. ボタンの入力を受けてコマンド実行

 

このアプリを作るためにはまず、GPIOの入出力が必須ですので、まずは「Lチカ」でコントロール方法を理解する必要があります。

必要機材

  1. ラズパイ 
  2. ディスプレイか、他のPC
  3.  プレッドボードなど
  4.  GPIO端子に接続する線(Lチカ)

 

これで、実行環境が揃うはずです。

やったら、報告します。

でわでわ。。。

 

JavaFX ラズパイ 〜ラズパイ上で画面を〜

イントロダクション

色々やったけどダメだったパターンです。ラズパイをCUIでインストールしてwifi接続、JavaFXによる画面作成とやったけどダメでした。

→ Swingならいけるかも?

フレームバッファを読み込むとかで対処するらしいが、調査中…

やった事

今までやった事は以下に…

<ラズパイのCUIインストール>

http://zenryokuservice.com/wp/2018/08/08/ラズパイ-セットアップ-〜ベアメタルインストール/

 

<ラズパイにwifi接続>

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

 

<作業で使ったRPiコマンドメモ>
http://zenryokuservice.com/wp/2018/09/02/memos-about-settingup-rpi-~使用したコマンドメモ~/

 

< JavaFx >

http://zenryokuservice.com/wp/2018/08/08/java-画面作成〜javafx〜/

 

などなど、やって来たのでラズパイ上で画面を起動したいと思い、色々とやってみました。

その戦いの履歴です。

http://zenryokuservice.com/wp/category/rpi関連/

 

感想

色々とやってダメだったけど、色々と知識は得ることが出来たので次はSwingで画面作成をしてみようと思います。

余談

次にやるSwingは結構古いフレームワークで…自分はこのフレームワークオブジェクト指向を理解するきっかけをもらいました。

以降、Java Basicのコーナーでもやって行こうと思ってます。ラズパイ 上で起動確認が取れたら、確実にやります(笑)

PGボックス・サイトマップ〜やったことの一覧〜 – PGボックス

 

 

 

Java Implementation 〜GUI作成〜

イントロダクション

以前にも似た様な事をやったのですが、今度はラズパイ 上で画面を作成しようと思います。

Introduction

I tried JavaFx implementations before.But I will create a GUI in RPi with JavaFx.

やり方などサンプル

This is sample code, and how to

 

http://zenryokuservice.com/wp/2018/08/08/java-画面作成〜javafx〜/

 

とりあえず現況

ラズパイはJavaのインストールなどやりました。

インターネット繋いで、以下のコマンドでおっけ。

 >sudo apt-get install oracle-jdk8

あとは、どんな画面を作るか?と言うところで悩み中です。

 

参考にどうぞ

please watch here for sight.

ttp://zenryokuservice.com/wp/2018/08/08/ラズパイ-セットアップ-〜ベアメタルインストール/

 

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

 

<コマンドメモ>
http://zenryokuservice.com/wp/2018/09/02/memos-about-settingup-rpi-~使用したコマンドメモ~/

 

関連ページ一覧

 

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 工作(結果)〜ラズパイ 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)