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

変数(後編)

Pocket

計算

「変数」とは言うものの、前ページではHPの値は変わらなかったので、
変数の意味が特にありませんでした。

次はいよいよ変数の値を変えてみたいと思います。


HP200の主人公が70のダメージを受けたとしましょう。

残りHPが130になるのは暗算でできますね?

これをプログラム的にどう書くかというと、
「HP-70の計算結果をHPに代入する」ということになります。

実際に書いてみましょう。

    screen 0, 640, 480
HP = 200
MP = 80
    mes “主人公は70のダメージ!”
    HP = HP – 70
mes “現在のHPは” + HP + “です”

「HP = HP – 70」という書き方は、はじめてみると変な感じですね。

前に説明したとおり「=」という記号は、
=の右にある値を、=の左に書いた変数に代入する役割を持っています。

コンピューターというのは直訳すれば計算機なわけですから
HP-70という式を見ると、瞬時に計算して130という値にしてしまいます。

そして、変数HPに130を代入するわけですが、
変数というのは1つの値しか入れることができません。

したがって、130という値を代入すると、もともと入っていた200という
値は消えてしまいます。

つまり、値が上書きされるということですね。

と、言うわけで、上のプログラムを実行すると、HPは130と表示されます。

03_01

 

四則演算

先ほどは引き算をしましたが、
もちろん足し算、掛け算、割り算も同様にできます。

ただし、掛け算をする場合の記号は「×」ではなく「*」になり、
割り算は「÷」ではなく「/」になります。

これはHSPのルールではなく、
コンピュータのルールになりますので覚えておいて下さい。

では、次のように書いてみましょう。

    screen 0, 640, 480
HP = 200
MP = 80
mes “主人公は70のダメージ!”
HP = HP – 70
mes “現在のHPは” + HP + “です”

mes “主人公は45回復した!”
HP = HP + 45
mes “現在のHPは” + HP + “です”


mes “特殊能力によりHPが3倍!”
HP = HP * 3
mes “現在のHPは” + HP + “です”

mes “重力魔法を受けてHPが半分になった!”
HP = HP / 2
mes “現在のHPは” + HP + “です”

実行すると、次のように表示されると思います。

<実行結果>

主人公は70のダメージ!
現在のHPは130です。
主人公は45回復した!
現在のHPは175です。
特殊能力によりHPが3倍!
現在のHPは525です。
重力魔法を受けてHPが半分になった!
現在のHPは262です。

特に難しいことはないでしょう。

しかし、1カ所だけ計算がおかしいことに気づきましたか・・・?

よく見てください。

一番最後の割り算の計算がおかしいですね。

525だったHPが半分になれば262.5になるはずです。
ところが表示結果を見ると262になっています。

HSPは小数点以下を切り捨て、勝手に整数にします。

小数が使えないわけではありませんが、とりあえず今は、
変数に入るのは整数だけと思っていてください。

 

今回のポイント

  • 変数に式を代入すると、式の計算結果が入る。

  • 足し算は +、引き算は 、掛け算は *、割り算は / で求める。

  • 変数には基本的に整数しか入らない。

Pocket


コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

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

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