【Prominence3D】もよろしく!!
あのRPGツクールの開発部もおすすめする
2Dゲーム用の3Dエフェクト作成ソフト!!
無料体験版を是非触ってみてください!!
トップページ > HSPのひきだし > 変数(前編)
2013年04月07日

変数(前編)

Pocket

定数と変数

ループ処理を学びましたが、それだけではやはり何回実行しても結果は同じです。

ゲームと言うのは
“敵を倒せばスコアが入る” や “攻撃を受ければHPが減る”
のように何らかの値が変化します。


このように変化する値をどのように扱えばいいのでしょうか。

たとえば「100」という数字があったとします。

これは、いつ何時でも「100」という意味ですね?

こういう値を「定数」と呼びます。

それに対して、上の例のスコアやHPのように、
その時によって値が変わるものを「変数」と呼びます。

変数は箱だと思ってください。

例えば、主人公のHPが200で、MPが80だったとします。

これは、HPという箱に200という値が、MPという箱に80という値が
入っているということです。

02_01

この状態を「変数HPに200が入っている」と言ったり、
「変数HPは200」と言ったりします。

 

代入

では、実際にプログラムで変数を使ってみましょう。

    screen 0, 640, 480
HP = 200
MP = 80

上のように書いてみてください。

実行しても何も表示されません。

さてHP=200というのはどういう意味でしょうか。

算数や数学の考え方でいくと「HPは200と等しい」という意味ですが、
プログラムでは意味が変わってきます。

実は、これがまさしく「HPという箱(変数)に、200という値を入れる」
という処理になります。

02_02

つまり、プログラムにおける「=」という記号は、
「=の右側にある値を、=の左側に書かれた名前の変数に入れる」
という役割を持ちます。

そして、このように変数に値を入れることを「代入」と言います。

つまり、上のプログラムは、
「変数HPに200を代入し、変数MPに80を代入している」と 表現します。

ちなみに、今回は「HP」「MP」という名前の変数を使いましたが、
変数名は自由につけられます。

ただし以下のルールに従ってください。
  • 使える文字はアルファベットと 数字_
  • 一文字目が数字は×
  • 「mes」や「pos」のように、命令と同じ名前は×
 

表示

変数に値を代入しただけでは何の意味もありません。

変数の“現在の値”を表示してみましょう。

文字を表示する命令はmesでしたよね?

同じ命令で変数の値を表示することができます。

    screen 0, 640, 480
HP = 200
MP = 80
    mes HP

このように書きます。

実行してみましょう。

現在のHPである「200」が表示されると思います。

以前mes命令を使ったときは表示する内容を
「””(ダブルクォーテーション)」で囲んでいましたね?

でも今回は””はいりません。

ちなみにmes “HP”と書いたらどうなるでしょうか。

答えは「HP」という文字が表示されます。

つまり、HSPでは””で囲んだものは「そういう文字」と判断し、
””をつけてないものは「そういう変数」
と判断します。

さて、変数の値を表示することができましたが、
ただ「200」と表示されるだけでは味気ないですね。

次のように書いてみてください。

    screen 0, 640, 480
HP = 200
MP = 80
    mes “現在のHPは” + HP + “です”

このように書くと、「現在のHPは200です」と表示されます。
HSPでは「文字」と「変数」の足し算ができるのです!!

02_03

ただし、文字と変数の足し算をする場合は、最初が文字でないといけません。

つまり・・・
    gold = 100
mes gold + “円”


と書いても「100円」とは表示されません。

この場合は
    mes “” + gold + “円”
と書いてください。

なんだか意味がないように思えますが、これで「100円」と表示されます。

 

今回のポイント

  • 変化する値は 変数 に入れて扱う。

  • 変数名=値と書いて、変数に値を代入することができる。

  • mes 変数名と書いて、変数の値を表示することができる。

  • 文字と変数は足し算で繋げることができる。

Pocket


コメントを残す

メールアドレスが公開されることはありません。

 ■ツール・ゲーム  ■講座  ■素材  ■その他  ■管理人へ
  Prominece3D   エフェクト画像の描き方   戦闘エフェクト素材   CG作品   お問い合わせ
  ウディタミネンス   ロゴの描き方   投稿エフェクト   書籍   管理人を応援
  Relocater   HSP講座      
  Prominece        

Copyright © 2011-2015 藤宮翔流 All Rights Reserved.