« 【よみもの】もーりおのつぶやき 第4回 | メイン | 【講座】HSPよく使うフレーズ 第25回 敵が弾を撃つ »

2007年03月06日

HSPTV!メルマガ 第34号

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HSPTV!メルマガ 第34号 N0.0034 2007/03/06 発行

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

■はじめに

今週の”もーりおのつぶやき”が作者急病の為、お休みです。
そのかわり硬派な記事が集まりましたよ。

みなさんも健康に注意して過ごしてくださいね。

では、硬派なメルマガのスタートです!

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

【講座】HSPたまひよ塾 - 特別編(悠黒喧史)

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

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

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

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【講座】HSPたまひよ塾 - 特別編「指定した年月の日数を得る」

はーい。たまひよ塾、久方ぶりの復活です。悠黒は生きてます。

1~3月は個人的に毎年忙しく、体調不良な時期でもあって、
わりと息を潜めて過ごしてますが、最近メルマガに貢献してないのと、
ゆめゆめゆうかさんが風邪でダウンしちゃってるなんてこともあり、
ピンチヒッター的に登場してみました。

さてさて、以下はカレンダーを作るときなどに便利なスクリプトです。
変数 y に西暦年を、変数 m に月を入れ、「*ymdays」ルーチンを呼び出すと、
指定した年月の日数を変数 d に入れて返します。
;----------------------------------------
repeat 8
y=2000+cnt :m=2 :gosub *ymdays
mes ""+y+"年"+m+"月の日数="+d
loop
stop
*ymdays
; 指定された年(西暦)月の日数を返します。
;
d=31
if m=2 { d=28
if (y\4)=0 { d=29
if ((y\100)=0)&((y\400)!0) :d=28
}
}
if (m=4)|(m=6)|(m=9)|(m=11) :d=30
return
;----------------------------------------
来年は閏年(うるう年)。もちろん、その計算もバッチリ入ってます。
ちなみに閏年の判定条件は以下の通り。

・西暦が400で割り切れる年はうるう年である。
・400で割り切れない場合、西暦が100で割り切れる年はうるう年ではない。
・100で割り切れない場合、西暦が4で割り切れる年はうるう年である。
・4で割り切れない場合、うるう年ではない。

今回は、何となーくワンポイントテクニック的な解説になりましたな。
それでは皆さま、また会う日まで。御機嫌よう~ン(^^)/~

(悠黒喧史)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【講座】HSP3ワンポイントテクニック 第16回

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

ファイルを扱うツールなどを作成していると、フォルダ内にある
ファイル一覧を取得する必要が出てくる場合があります。
複数のファイルに対して、同じ処理を行なう時などは、フォルダ内や
特定の拡張子だけをまとめて扱うと効率的です。
このような処理を「バッチ処理」と呼んだりします。
HSP3では、ファイル一覧を取得するための命令として「dirlist」が
用意されています。これは、指定されたフォルダ内にあるファイル
全てか、または名前に特定のパターンを持つものを複数行文字列として
取得できるというものです。
ファイル名を特定するためには「ワイルドカード」と呼ばれる表現を
使用します。これは、「*(アスタリスク)」記号を万能な名前として
扱うもので、「*.txt」と書けば拡張子が「.txt」のものすべて、
「*.*」の場合はすべてのファイルを表しています。

さて、dirlist命令でフォルダ内のファイル一覧は取得できますが、
その中にあるフォルダの下も含めて、すべてのファイルを取得したい
時には困ってしまいます。
そんな時のために、dirlistの上位バージョンにあたるdirlist2命令が
拡張プラグインHSPEXT.DLLで提供されています。
dirlist2命令は、フォルダの下の階層も含めてすべてのファイルを
取得する機能を持っています。また、同時にファイルのサイズや、
更新日時など付加情報も取得することができるのです。

以下は、変数dirで指定したフォルダ以下のファイル一覧を表示する
サンプルです。dirlist命令よりも手順が多くなっていますが、
取得される内容は大きく変わりません。

#include "hspext.as"
buf=""
dir=dir_cur ; 調べるパス
mes dir+"フォルダ以下のファイル一覧"
mesbox buf,640,400
chdir dir ; カレンドディレクトリに移動
dirlist2h 1 ; 初期設定
dirlist2 size,"*.*", 0, '\\' ; サイズを取得
sdim ftmp,size ; サイズを確保する
dirlist2r ftmp ; 結果を取得
objprm 0,ftmp ; 表示する
stop

(おにたま)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【講座】HSPよく使うフレーズ 第25回 敵が弾を撃つ

前回、背景がスクロールするゲームのようなものでした。

今回は何をしようかな?と思っていたところに、ちょっと前に
掲示板に”敵が弾を撃つ”方法に関しての質問があったので、
ちょっと実験してみることにしたよ。

スクリプトが長くなるので、今回は背景スクロールは無しにして、
プレイヤーは動いて、敵は固定、弾がプレイヤーを目指して発車される、
という事にしてみた。

X座標とY座標をみて、割り算で1回分の増分を、と思ったけど
ここでは全部整数になっちゃうんだよねぇ。
おかげで、プレイヤーに向けて弾を撃ってきても全然あたらない
安全地帯が出来ちゃう。

小数点が扱えるようになると、もっと当たると思うんだけど・・・
正直、あまり高度な計算でもないし、動きも単純だなぁ。

まあ、その改造は見てる読者にお任せします。

いろいろ改装して、カッコ良く、正確に、弾を撃たせまくって下さいね。


screen 0,640,400
mx=200:my=300
//teki
tx=300:ty=40
gosub *tama_mk
*lp1
redraw 0
color 0,0,100:boxf
stick a,5,0
if a&4:mx+=10
if a&1:mx-=10
//me
mx=limit(mx,0,620)
title ""+dx+"/"+ystep
pos sx,sy:color 255,255,0:mes "*"
pos tx,ty:color 255,255,255:mes "■"
pos mx,my:color 0,200,0:mes "▲"
//tama
sx=sx+dx:sy=sy+dy
if sy>400:gosub *tama_mk
redraw 1
await 10
goto *lp1
//
*tama_mk
sx=tx:sy=ty:dy=5
if mx = sx {
dx=0
} else {
ystep=(my-sy)/dy
dx=(mx-sx)/ystep
}
return

[teki1.hsp/hsp3]

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

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

 募集するコーナーは

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

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

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

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

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

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

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

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

今回はちょっと男子校みたいなメルマガでした。
たまにはこんなのもイイかもね。

さて、今週お休みの「もーりおのつぶやき」では、
つぶやき、短歌や川柳を受け付けてますよ。
応援のメッセージもお待ちしてます。

それから、ちょっとお知らせ。

「逆引きHSP3プログラミング事典」でおなじみ、
さくらさんのサイト”HSPNEXT”がサーバーを換えてリニューアルです。
http://hspnext.com/

HSP関連の豊富な情報が集まってるので、是非一度訪ねて見てください。

では、皆さん、お元気で!

(うすあじ)

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

 バックナンバーの公開ページはこちら

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年03月06日 21:21

口臭チェッカー市場