« 【よみもの】もーりおのつぶやき 第5回 | メイン | 【講座】HSPよく使うフレーズ 第27回 15パズルのこと »

2007年04月03日

HSPTV!メルマガ 第36号

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HSPTV!メルマガ 第36号 N0.0036 2007/04/03 発行

編集長:うすあじ ( hsptv@hspcenter.com )
発行:HSPTV!(ONION software)
WEBサイト:http://hsp.tv/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
登録解除などはこちら http://hsp.tv/play/service.html

■はじめに

こんにちは、うすあじです。

新年度がスタートしました!

あたらしくクラブ活動をする人とか、新入社員の人もいるのかな?

新年度のつぶやきは、”もーりお”が聞いてくれるよ!

では、メルマガスタートです。

(うすあじ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■今回のインデックス

【よみもの】もーりおのつぶやき 第6回(ゆめゆめゆうか)

【講座】HSP3ワンポイントテクニック 第18回(おにたま)

【講座】HSPよく使うフレーズ 第26回(うすあじ)

【募集】メルマガ投稿募集中

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
もーりおのつぶやき 第6回


みなさモ、こんにちモ。
舌足らずな牛、『もーりお』でフガフガ。

春がおしせまってきた今日この頃
みなさまいかがお過ごしでしょかモ。

ねみーんだフガフガ。

そーでなくても、ぬぼーっと草なんか食って
生きてるっていうのにモ?
春のたよりなんかが来ちゃった日には
よけーにフガフガねむっちゃうモ。

ちなみに、みんな理解してくれてるのか
わからないけど、フガフガってのは
草くってるってことモ。

モモモ、まさかまさか
わからかったなんてことはないモ。

実録を表現するのは、なかなかに難しいモモ~。


o O(もーりおのつぶやき)
生まれも育ちも 北の大地の ののっぱら
時折みせる するどい目つきは 闘牛の証

意味:
草原育ちの乳牛だなんて、なめてもらっちゃ困るなぁ。
草食べてる合間にちらりと見せる
するどい目つきがわからないのかい?
ふだんのぼくとのギャップがかいまみえて
かっこいいモ。ドキドキだモ。


もーりおは、つぶやくことが趣味モ。
感想を待ってるモ。

みんなもつぶやきたいことがあったら送ってほしいモ。
短歌や川柳なんかでもいいモ。
宛先は”うすあじ”( hsptv@hspcenter.com )までだモモ~。

(ゆめゆめゆうか)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【講座】HSP3ワンポイントテクニック 第18回

このコーナーでは、HSP3の変わった使用例や、気がつきにくい機能など
を紹介していきたいと思います。

今回は、型の扱いについて取り上げてみましょう。
「型」というのは、計算したり変数に格納したりするための基本
となる種類で、HSP3では、「整数型」「実数型」「文字列型」という
3つの型を主に使用することになります。
同じ計算や表示をしても、それぞれの「型」ごとに少しづつ動作が
違ってきます。たとえば、数値型の「2」と「3」を足し算すると、
「5」になりますが、文字列型の「2」と「3」を足し算した時は、
「23」になります。なぜ「型」がいくつもあるのかと言うと、
扱っているものの種類によって最適な動作をすることによって、
便利になったり、高速だったりするからです。
次のようなスクリプトを入力してみてください。

a=1/3
mes a

これは、「1÷3」を計算して表示するだけのものですが、結果は
「0」になってしまいます。これは、最初に出てきている「1」
という数字をHSP3の基本的な型である整数型として判断して
計算が行なわれているためです。
これを実数で計算させるためには、以下のように修正します。

a=1.0/3
mes a

今度は、最初に出てくる「1.0」が小数点の付いた実数型となって
いるため、その後の計算が実数型で行なわれます。
最初から「1」も実数型として扱えばいいのではないかと思われる
かもしれませんが、現在のCPUは実数よりも整数の方が処理速度が
高速で、メモリ効率も優れています。また、多くの場合小数を
使わずに済んでしまうことが多いため、効率を求める上で
このような仕組みができているのです。

ちなみに、変数に代入されているものの型を変えたり、計算の中で
型を変更したい場合には、「str」「int」「double」等の関数を
使います。
たとえば、double関数はカッコ内の値を実数型に変更します。

a=double(1)/3
mes a

とした場合には、カッコ内の「1」が実数型として扱われます。
このように、「型」を使う上で注意するポイントとしては、

・計算の最初に出てくる「型」が結果を決める
・小数点を付けない数字はすべて整数として扱われる
・適切な型を選んで使用した方が効率が良い

となります。
最後に、「1÷3」の計算結果についてですが、精度が低いと考えて
いる人もいるかと思います。HSP3では、実数の文字列変換を行なう
上である程度表示を省略しています。さらに細かい桁を表示する
場合には、以下のようにstrf関数を使って取り出すことが可能です。

a=double(1)/3
mes strf("%4.15f",a) ; 小数点以下15桁まで表示


(おにたま)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【講座】HSPよく使うフレーズ 第27回 15パズルのこと


今回は”kuroさん”からの質問。

”HSP ゲームプログラミング・クックブック ”のスクリプトに
関する内容だ。

ちょっと専門的?な質問だから”よく使うフレーズ”には
あまりふさわしくないかもね。

分からなくても落ち込まなくてイイタイプのテクニックです。

------------
はじめまして。 kuroと申します。

HSPゲームプログラミングクックブックの中に、「15パズル」のサンプル
スクリプトがあります。
その中の71-81行目、問題作成のため入れ替える場所を決める

rnd a,2
rnd b,3
if a{
cx=nx :cy=(ny+b+1)&3
}else{
cy=ny :cx=(nx+b+1)&3
}

【 秀和システム『HSPゲームプログラミング・クックブック』
”15パズル”P85 より引用 】

の部分のスクリプトの意味がよく分かりません。
どうして、空のマスに重ならず、かつ空のマスに接触するマスを
選ぶことができるのでしょうか。
------------

どうも!メールありがとう!

さて、どのようになってるか説明します。

空のブロックの座標はnx、nyです。
クリック対象の座標はcx、cy。

最初に変数aの乱数で、クリックする場所が、"xが同じ"か"yが同じ"か
を振り分ける。

クリックするにはXかYが、空のブロックと同じ必要があるからです。

構造は同じなので「cx=nx :cy=(ny+b+1)&3」の解説をします。

この場合はクリックするx座標は空の場所と同じ。
y座標は「(ny+b+1)&3」
分解すると
ny 空の座標
b 0から2
1 数値1
&3 0-3に変換する命令

となります。

■最初は&3なしで考えます。

ny=0の場合、bが0だと1
0   1  2  3
0【 】【空 】【 】【 】
1【 】【b=0】【 】【 】
2【 】【b=1】【 】【 】
3【 】【b=2】【 】【 】

という並びになります。(今回1の列だけを考えます。)
nyは0から3の可能性があるのですが、どの値の場合でもスタート位置が
ずれて、数値が循環するというのは分かりますか?

仮にny=3なら



【空 】
<ブロックここまで
【b=0】
【b=1】
【b=2】

このようにはみ出てしまいます。

■次に&3があると、はみ出た数値をうまく戻す処理がうまくできます。

2進数は

000
001
010
011
100
101
110
111

という値の増え方をします。

右側の2桁だけをみると同じパターンを繰り返しているのが分かります。

"2桁だけをみる処理"これが「&3」です。
(&「AND」は2桁を切り取るような結果になります。)

&3で

00、01、10、11 このループになるので、
はみ出た部分がぐるっともどります。

【b=0】
【b=1】
【b=2】
【空 】

こんな感じになります。


(バックナンバーの公開ページは図解入りだよ。)

以上です。

というワケでクックブックをもってないとわかりにくいネタで
ゴメンナサイ。

いまでも売ってるといいんだけどねぇ。

(うすあじ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【募集】メルマガ投稿募集中

”HSPTV!メルマガ”への投稿をお待ちします。

募集するコーナーは

(1)「教えて!おにたま!!」

HSPの素朴な疑問をHSPの作者おにたま氏に聞いてみよう!
というコーナー。疑問。知りたいテクニックなどを直接聞く
チャンス。

(2)「もーりおのつぶやき」

つぶやき、短歌や川柳を受け付けてます。

(3)「こんなHSP3本が欲しい」

あなたが欲しい、読んでみたいHSP3の本を教えてください。
ひょっとしたら実際に本になるかも。

メルマガに関する要望や感想、日常のお便りもお待ちしています。

全ての投稿は”うすあじ”( hsptv@hspcenter.com )まで。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[PR]オススメHSP3の本
・HSP3 リファレンスブック
・公認 HSPファンブック 楽しく始める/極める本
・逆引きHSP3プログラミング事典[応用編]
・逆引きHSP3プログラミング事典[基本編]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■編集後記

最近、春らしい天気だなぁと思ってたら、急に寒くなったりして
驚きますねぇ。

うちには新生活も新学期もないので、せめて春らしい食べ物を
食べたいです。
桜餅とか柏餅とか。
ちなみに柏餅は味噌あんが好きです(^^A

では、お元気で!

(うすあじ)

■バックナンバーについて

バックナンバーの公開ページはこちら
http://www.hspcenter.com/hsptvm/

■解約方法

登録解除などはこちら
http://hsp.tv/play/service.html

■広告の掲載など

本メールマガジンの広告掲載のご相談は
”うすあじ”( hsptv@hspcenter.com )までお願いします。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
編集長:うすあじ ( http://hspcenter.com/ )
記事の投稿、ご意見、ご希望はこちらまで hsptv@hspcenter.com

ONION software Copyright 2007(c) All rights reserved.
メルマガ本文の再配布・商利用、転載は禁止させて頂きます。
HSPのスクリプトサンプルは自由に再利用しても構いません。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

投稿者 usuaji : 2007年04月03日 00:51

口臭チェッカー市場