アフィリエイト広告を利用しています


スキル無しのシステムインストラクターから、システムエンジニアへの転身日記。
◇◆◇ 2013年取得資格
LPICレベル1
LPICレベル2
LPICレベル3 Core
LPICレベル3 Speciality 302
LPICレベル3 Speciality 303
LPICレベル3 Speciality 304

Cisco CCENT
Cisco CCNA

Java SE 7 Silver
Java SE 7 GOLD

OSS-DB Silver

◇◆◇ 2014年取得資格
HTML5 Professional レベル1

広告

posted by fanblog

JavaEEの前に復習をしてみる その5 ランダムとif文を覚えてプログラマー気取り

そして、さっそくちょっとぶっ飛びますので、みなぶっとびカードを1枚使いますw(桃鉄)

ランダム関数を使うと、それとないことが色々できるようになります。
たとえば、乱数を利用しておみくじ作り、乱数を利用してスゴロク。
今までの変数の代入と、乱数さえ利用すれば、Javaっぽさは、まだまだ使えませんが
プログラムとしては、それなりのものになると思います。

以降、インデントの補正はしません。
ちょっと見づらいかもしれませんが、脳内でインデント入れてくださいw
実際は入れています。
そしてEclipseを使ってTabキーを押せば、良い感じのインデントを勝手に考えて入れてくれます。

細かい説明はしませんが(ちょっと本気で忘れてる)、
ランダム関数を使うには、new java.util.Random().nextInt(値)を使います。
下記では、hitPointという変数に0~50の値がランダムで入ります。


package test;

/* Rensyu 練習用クラス 
開発者 shade 作成日 1/1 */

public class Rensyu {
public static void main (String [] args){

int hitPoint = new java.util.Random().nextInt(51);
String name = "Shade" ;

System. out.println("名前:" +name);
System. out.println("HP:" +hitPoint);


}
}


上記の結果は、
名前:Shade
HP:46

となり、HPは、0になることもあれば、50になることもあります。

これにif文を加えてみます。
if文は条件分岐に使います。
上記の例を応用し、HPが10以下になった時は、名前の前に瀕死とつけます。

statusというステータス用の変数を用意します。今は中に瀕死の文字列はありません。
String status= "" ;

if文を用意します。
もし、hitPointが10以下ならば、statusに瀕死 という文字列を代入。
そうでなければ、何も処理はされません。

if (hitPoint <= 10){
status = "瀕死 " ;
}

そして、nameの前にstatusを追記します。
System. out .println("名前:" +status+name);


プログラムは、下記。

package test;

/* Rensyu 練習用クラス 
開発者 shade 作成日 1/1 */

public class Rensyu {
public static void main (String [] args){

int hitPoint = new java.util.Random().nextInt(51);
String name = "Shade" ;
String status= "";

if(hitPoint <= 10){
status = "瀕死 ";
}

System. out.println("名前:" +status+name);
System. out.println("HP:" +hitPoint);


}
}

結果は、hitPointが10以下であれば、

名前:瀕死 Shade
HP:10

といった結果が返ってきます。
11以上であれば、

名前:Shade
HP:11

このように表示がされます。

ランダムとifを使うだけで、プログラムに動きが見えてきます。
ちょっとプログラムをかける気になるから不思議ですね。


トラックバック

この記事へのトラックバックURL
※ブログオーナーが承認したトラックバックのみ表示されます。
https://fanblogs.jp/tb/2006066

コメント

お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのコメント

はびさん

そうです。プロのグラマーです。
しかし、私は、アマチュアなスレンダーがタイプです(?)

なるほど。Wizardryは、私はやったことはないですが、
キャラメイクにボーナス値をふれるゲームはたくさんありますね。

わかります。私もよくやりました。
たいてい、大きい数字は出ないから、2連射とかしてしまって、
そういう時に限って、貴重な数値が出て、
「あ!あ、あぁ・・・」というような声を出しちゃうんですよねw

もう、私も若者じゃないですので、昔ばなしばかりですw
shade|2014年01月17日(Fri) 23:47
Shade さん

最新記事の欄で

「グラマー気取り 」となっ!?
っと釣られてきた Habitat ですっ

記事はランダムとif 文でしたが・・・あとゲーム

ランダムは記事でおっしゃるとおり扱い一つで不確定要素をプログラムに仕込むことができるので、
とても処理の充実が図れると思います

たとえば、今回のはゲームのHPの話だったんで・・・
コアな話になるかもしれませんが、その昔 Wizardry というゲームがあって(初代ね)
自分でパーティーを組むキャラクターを作るんですよね

で、各職業ベースとなる種族を選んだ時点で各ステータス値のベースが取り決められているんですが、
それプラス、ランダムでボーナスポイントなるものが用意されます
このポイントを自由にキャラクターのステータスに割り振ることができるので、
このボーナスポイントが高ければ最初からすごいスペックのキャラクターが作れたんです

ですが、そんなに簡単なものではなく
たいていは8〜12,13ぐらいのものです
がっ! ごくごくたまーーに 18,19なものがでることが
あるので、私はこれを得るために延々と作り直しをして
なかなか始められなかった記憶がありますww

で、盛大に話がそれましたが、何が言いたいかと言うと、
ランダムで出す数値に偏り(重さ)を持たせることができれば、
より、処理の充実化を図ることができるかもねっ>これだけ

うわぁ 昔のゲームの話したら長くなっちゃった・・
昔話する時点でおっさんなのかなぁ・・・
Habitat|2014年01月16日(Thu) 00:45
   
×

この広告は30日以上新しい記事の更新がないブログに表示されております。