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

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

Java Basic while 文 〜Step1_3_2〜

前回はfor文をやりました。

今回は、兄弟分のwhile文をやります。

書き方は以下の様に書きます。

while (ループする条件) {

    // 処理

}

 

例1 無限ループしますがiが3になったら

      ループを抜けます。

int i = 0;

while (true) {

     if (i ==3) {

           System.out.println(“The End”);

          // ループを抜ける処理

           break;

    }

    i++;

}

 

例2 例1同じ処理

int i = 0;

while (i <=3) {

    if (i ==3) {
         System.out.println(“The End”);
         break;
    }

    i++;

}

 

例3 これも同じ

int i = 0;

do {

    if (i ==3) {
        System.out.println(“The End”);
    }

    i++;

} while(i  <= 3);

 

以上の様に書きます。

詳細は、このページに記載します。

例1と2は上にループの条件を書きます

例3は条件を下に書きます

時と場合によって使いやすい方を使えば良いと思います。

が、大半は上に条件を書く方でやっちゃいますね(笑)

 詳細は下のページにあります。

Java Basic While文 〜 Step1_3_2〜 – PGボックス

ゲームやサーバーの様に待機状態を作るときに
例1の様な書き方を使います。

あくまでやり方の1つです。タイミングを見て
サーバーの通信処理部分の実装をやろうと
思いますが、その時に上記の「while(true)」
の無限ループを使用します。

サンプルの実装はここからダウンロードできます。 

 

ここまでやったらある程度動くものが作れると思います

でわでわ

<問題1>
while文を使って

int型の配列を初期化して5回ループして

計算式を表示した上で答えを表示して

ください。

—————————

1+2+3+4+5は

15です

—————————-

 

<問題2> 

while文を使って

String型の配列を初期化して

配列の中身を全て、ループ文を使い

表示して下さい。→ヒントなし

 

 

Java Basic for文 〜Step1_3_1〜

前回は、Boolean型とif文に関してやりました。

今回は

毎度お馴染みループ文に関してやります

詳細はこちらに記載してあります。

そして、難敵→配列が出てきます。

charの配列は → char hako;

intは → int hako;

の様に宣言します。

兎にも角にもまずは(for文の)写経という事で

今回は、自分でクラスを作って下さい

public static void main(String args) {

    char moji = { ‘m’, ‘o’, ‘j’, ‘i’};

    for (int i = 0; i <= 3; i++) {

         // println と違います

         System.out.print(moji[i]);

   }

}

上記の様なメインメソッドがあり

「for」で始まっている部分がループするところです。

詳細は下のページに記載します、
サンプルコードもダウンロードできます。

 

Java Basic for文 〜Step1_3_1〜 – PGボックス

 

上記の書き方は基本的な書き方です。

応用という訳ではないですがこんなのも

String[] hako = {“ひらけ”, "ゴマ"};

for(String nakami : hako) {

   System.out.print(nakami);

拡張for文というやつです。

他にもループの仕方はありますが今回は

これでおしまいです。

 

でわでわ…

 

<問題1>

int型の配列を初期化して5回ループして

計算式を表示した上で答えを表示して

ください。

—————————

1+2+3+4+5は

15です

—————————-

 

<問題2> 

String型の配列を初期化して

配列の中身を全て、ループ文を使い

表示して下さい。→ヒントなし

Java Basic データ型 Boolean 〜Step1_2_2

前回は、データ型には何があるの?

ってのを確かめました。

※全部ではありません…


今回は、Boolean = 真偽値に関してやります。

 ※そのほかのサンプルも作りました。

プログラムでは〜の時はAの処理、

XXXの時はBの処理という様に条件分岐

を行いたい時があります。

 

そんな時に使用するのがBooleanです。

Booleanの値には、true, falseのみ

以下の様に使用します。

boolean flag = (1 == 1);

上のflagにはtrueが入ります

boolean flag = (1 == 0);

こうするとfalseが入ります

 

入力した値が”tiger”と等しいか判定する

プログラムを例に記述します。

入力する値→”あ”のケース

if (“tiger”.equals(入力値) {

   System.out.println(“タイガー!アカパ”);

} else {

    System.out.println(“トラじゃねーな…”);

}

上記の様な

条件分岐があるとして…

tiger”以外の入力があった場合には

「トラじゃねーな…」とコンソールに出力されます。

条件分岐があるとできることが広がると思います。でわでわ…

 

<問題>

1.サンプルにあるプログラムに入力を受け付ける処理を加えてそれぞれの文言をコンソールに表示できるプログラムを作って下さい。

 

2.同様に作成したプログラムに追加して”norway”と入力があった時には「次行ってみよー"をコンソールに出力するプログラムを作って下さい。

なお、同じプログラムで他の文言も出力できる様に作成して下さい。

 

 

Java Basic ちょいと寄り道

プログラムの学習をするのも受験勉強も

ちょいと似ていて「休む」って大事です

大人になって、仕事する様になって…

仕事するのにオンとオフの切り替えが
出来ないと作業効率が悪かったり
体を壊したりします。※壊しました(笑)

 

さて、今回は「寄り道」と称して徒然と思った事を書きます。

 

2020年からプログラムを義務教育でも

行う事になるそうですが教育、人材育成

という観点で素晴らしいと思います。

理由は、人間は理不尽な生き物だからです。
理論的な思考を身につておくとわりかし楽です。
理由、理屈なしに動くと痛い目にあう事が多いので…
※ラッキーなこともあります⭐️

でも忘れてはいけないのは「何事もやって見なければ何もわからない」という事です、「理論的に考えて…」と言って行動を起こさないのはよくないと思います。

トライアンドエラーで人生を切り開くことも大切なことです。
 

プログラムの実装でも、何か行動を起こすのでも、想定外がつきものです。

この想定外に立ち向かえる、シンの強い人間が育って欲しいと願うばかりです。

 

生きていて、
「1人では無理だ」「実現不能かも?」

と思った時こそ理論的に考えてみて下さい。
そして、「仲間を大切にする」ということを忘れないでください。
1人でできることはたかが知れています。
※仲間がいなかったら仲間を作れば良いと思います。
→努力いたします(笑)

論理的思考は「何を」「どのように(どんな手順で)」「どの様な形で実現するか?」と考えて最善の方法を選択、実行する事です。この考え方は安全に人生を歩むのにとても有用だと思うこの頃でございます。

お後がよろしいようで(笑)

 

Java Basic データ型 〜Step1_2_1〜

前回は、 Javaで何をやるのか?

を考えました。

そして、はじめのプログラムを作成

コンソールにハローワールドを表示

上記の事をやりました。

 

今回は続きになります。

コンソールに文字を表示したので今度は

四則計算をやろうと思います。

 

予備知識としてデータ型を理解しておく

必要があります。

 

実際にコードを書くときは文字を入力

します。パソコン側からして見たら

数値と文字列の区別ができません。

※1〜9の文字、あ〜ん、a〜Zなど

 

パソコンの認識としては全部が2進数

になっています。

 

なので「型」を用意して区別します。

データ型は下のページにまとめました。

Java データ型 変数の扱い方〜Step1-2-1〜 – PGボックス

 

ソースもダウンロード出来ます。

 

本題に入ります。

四則計算なので数値のデータ型を使用します

上記のページには色々書きましたが

int, doubleの2つを使用します。

以下の書き方は「初期化」と呼びます

→宣言と同時に値をセット

int hensu = 1;

 int goulei = 2 + 3;

 

ここでの1〜3の数字がint型の値です

小数点がつくとdouble型になります

double shosu = 1.23;

 

そして宣言というのは以下の書き方

int hensu;

値を代入しない場合です。

この時に宣言した変数にはデフォルト値

が入ります。

数値型のデフォルト値(初期値)は0です

int hensu; // 0

double hensu; // 0.0

こんな感じです。

 

でわ問題です。

問1.

変数「teihen」と「takasa」を初期化

して変数「gmukei」に代入し

コンソールに出力した下さい

三角形の面積を求めるプログラムになります。

 

問2.

問1を応用して立方体の面積を表示するプログラムを作って下さい。

 

問3.

同様に円の面積を求めて表示するプログラムを作成して下さい。

なお、円周率にはMath.PIを使用する事


 【追申】
「やってみようかな?」と思ったら下のリンクにセットアップ手順を
記載したのでやってみてください。

<< 開発環境関連リンク >>

Java 開発ツールのインストール – PGボックス
Eclipse Gitリポジトリの取得 〜GitからソースをPullしよう〜 – PGボックス

Java Basic 〜Javaで何をやるのか?〜

 イントロダクション

「プログラムやってみようかな?」と思っている人にはチャンスがあります。

プログラミングの世界への扉を開けるチャンスです。ぶっちゃけた話なんでもいいで。「XXXやってみようかな?」と思った時がチャンスです。

この様に思った時でないと中々新しい事を始めるという事はありません。やって良ければ続くし、そうでなければ続かない…それで良いと思います。

そして、Javaをやってみようかな?と思った方もそうでない方も、ちょいとこの記事を読んでって欲しい。ポイントは…

なぜ?を明確にする技術

Javaを学習してどーするの?」を主軸にして考えていきます。

 

まずは、疑問に対する理解が必要です。

頭の「Java」に対する理解を行います。
Javaで現在、作られているものは以下のようなものがあります。
WebService     → 企業が使用するウェブサイト、銀行のATMなども含む
 Webサーバ(インターネットでアクセスしたときにいろんな機能を提供する
Androidアプリ →実際は、Java + C++ と複数の言語が使用されていることが多い
・Iotアプリ         → 2018/0507現在ではJava制のものよりC++の方がメジャー
※「Iotアプリ」はモノとインターネットをうまく繋げて作成された、アプリケーションの事を示しています。(ここでの言い回しです)。この分野では特に一次産業(農業、林業、酪農など)で活躍が期待されています。というか期待しています。

この様な、物事に使用されるプログラム言語がJavaです。開拓すれば、その他の用途にも使えます。詳細に関してはより深いところを理解する必要があるので今は割愛します。

 

次は「学んでどーする?」について理解します。この疑問は詰まる所「何ができるの?」という事になります。

そして、「出来る様になったあと…」について頭の中で良いのでシュミレートしてみます。これ以上の事はテスト(試験、実験)してみないとわかりませんので、優先順位を下げます。

「XXXができる様になったら…」これはビジネス書などでも時々記載されているのですが「XXXが実現したと思ってその時の周りや生活などの想像をする」という行為が必要になります。これが楽しかったりしますので是非是非やってみて下さい。

そして、プログラムをはじめて学ぶのにJavaを勧める理由は

どっちにしろ知らないものを学ぶのだから、幅の広い範囲で使えるものが良い

と思いますので、Javaを勧めます。

 

実践

Javaを学んでゲームを作る」というケースで、記載していきます。


そして今の段階での、目的をゲーム作成(iPhoneアプリ)にします。

上にiPhoneアプリは載せなかったのはiPhoneアプリはSWIFTという言語で
作成されています。
Mac で使用できる「XCode」というIDEを使用して作成します。

色々と調べたところC++ → Qt, Java → AndroidStudio, SWIFT。。。。色々な言語で
ゲームが作成可能です。
なかでも有名なのはUnityです。そしてちょっと敷居が高い
Unreal Engine4(UE4)があります。
そして、最近発見したのがGluon でのクロスプラットホーム開発です。これはJavaを使って、スマホ(iPhone,Android)通常のpcで動くアプリを作れます。

PGボックス〜ゲームとプロジェクトとプログラミング基礎〜

 


UE4GPUのスペックがある程度高くないと起動することができません。
その意味で「敷居が高い」のです。詳細は以下のサイトを参照ください。

api.unrealengine.com


自分なりに比較してみました。ので興味があればこちらもどうぞ

takunoji.hatenablog.com

早い話が「ゲームを作ろう」ということです。

何はともあれ、プログラム(Java)がわからないと何も始まりません。
そして、初めてのプログラムの学習にはこれです。
「ハローワールド」→コンソールに文字を表示するだけ

ここでのポイントは以下の通り

1. Javaはクラスが起動する

2. メインメソッドが動く

 

理解の仕方は人によるのでなんとも言えませんが

実際に作って、動かして、内容を理解する

という手順で自分は理解してきました。

ここで大切なのはコードを覚える事でなく理解することです。
頭ごなしに覚える事もありますが(笑)

 

クラスの書き方〜メインメソッドの書き方は下のページを参考にして下さい。

ソースと細かいとこを記載してます。

Java Hello World はじめのプログラム 〜 Step1-1〜 – PGボックス

コンソールに文字が出力されるだけですが、自分で作ると感動するものがあります。
是非やってみて下さい。

【追伸】
GITから自分が作成したサンプルプログラムをダウンロードできます。
Eclipseそのままインポートするやり方を下のページに記載しました。

Eclipse Gitリポジトリの取得 〜GitからソースをPullしよう〜 – PGボックス

 

そして、Eclipseなどの開発ツールからAndroidiPhoneアプリの作成がJavaで出来る方法がありました。

PGボックス〜ゲームとプロジェクトとプログラミング基礎〜

関連ページ一覧

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連携~

 

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 4Boolean
  5. Java Basic Level 5If 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 9Training 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 〜テストスイートの作り方〜