♪ずんずんずん と来りゃ♪ずざざん ざん と来りゃ♪おいらのサイトは ずざざんざん♪製作、運営 y.repeat mail to:y.tack2010@gmail.com 

HSPメモ

別のメモ
opr HSPHSPの演算子
Perlの演算子
とほほ氏のサイトへの直LINKですw直LINK可って書いてたのでw
Javaの演算子
同じくとほほ氏のサイトへの直LINKですw直LINK可って書いてたのでw
HSPmemo4HSPLet
HSPmemo4HSPLet_NEXT
Cmemo

スクリプトを書いている時に忘れがちなこと

モジュール/モジュール変数の覚え書き


トークンの区切りはスペースと "," があるのでややこしい
"#module"
"#module" スペース モジュール名 スペース モジュール変数 "," モジュール変数・・・
例 #module m a,b,c・・・
モジュール名と第一変数の区切りはスペースだが
第一変数と第二変数の区切りは ","
"#modinit"
モジュールのコンストラクタは "#modinit"命令
"#modinit" スペース 型 スペース 引数A "," 型 スペース 引数B・・・
#modinit int l,int n,int m・・・
命令の名前は不要
"#modinit"と引数Aの型の区切りはスペース
引数Aの型と引数Aの名前の区切りもスペース
引数Aの名前と引数Bの型の区切りは ","
"modfunc"
"#modfunc" スペース モジュール命令名 スペース 型 スペース 引数A "," 型 スペース 引数B・・・
例 #modfunc mf int l,int n,int m・・・
モジュール命令名と引数Aの型の区切りはスペース
引数Aの型と引数Aの名前の区切りもスペース
引数Aの名前と引数Bの型の区切りは ","
"#modcfunc"
"#modcfunc" スペース モジュール命令名 スペース 型 スペース 引数A "," 型 スペース 引数B・・・
例 #modcfunc mf int l,int n,int m・・・
モジュール命令名と引数Aの型の区切りはスペース
引数Aの型と引数Aの名前の区切りもスペース
引数Aの名前と引数Bの型の区切りは ","
"newmod"
オブジェクトの作成は"newmod"命令
"newmod" スペース オブジェクト名 "," モジュール名 "," 引数A "," 引数B・・・
例 newmod o,m,1,2,3・・・
オブジェクトを"newmod"命令で作成しないとモジュール命令は使用できない
"newmod" と オブジェクト名 の区切りはスペース
オブジェクト名と モジュール名 の区切りは ","
モジュール命令の使用
モジュール命令 スペース オブジェクト名 "," 引数A "," 引数B・・・
例 mf o,1,2,3・・・
モジュール命令 と オブジェクト名 の 区切りは スペース
オブジェクト名 と 引数 の 区切りは スペース
モジュール関数の使用
モジュール命令 "(" オブジェクト名 "," 引数A "," 引数B・・・")"
例 mf(o,1,2,3・・・)
モジュール命令 と オブジェクト名 の 区切りは "("
オブジェクト名 と 引数 の 区切りは スペース
最後の 区切りは ")"
local キーワード
#modfuncとか local 命令名
例 #modfunc local hoge
"thismod" キーワード
"thismod"キーワードは"#modfunc"の中で
同じモジュール内のモジュール命令を呼び出したい時に
オブジェクト名を指定するかわりに指定する
モジュール外から
mf o,1,2,3・・・
モジュール内から
mf thismod,1,2,3・・・
インスタンスの配列化

newmod Player,player_chara_status,1
newmod Player,player_chara_status,2
dump@player_chara_status Player.0
dump@player_chara_status Player.1
#deffunc/#defcfunc の覚え書き
#deffunc/#defcfunc スペース モジュール命令名 スペース 型 スペース 引数A "," 型 スペース 引数B・・・
関数/命令名と引数Aの型の区切りはスペース
引数Aの型と引数Aの名前の区切りもスペース
引数Aの名前と引数Bの型の区切りは ","
型の種類
int、整数値(値渡し)
str、文字列(値渡し)
double、実数(値渡し)
var、変数(参照渡し)
array、配列(参照渡し)
label、ラベル
local、ローカル変数

関数は値を渡す変数に代入していないとエラー
関数の引数は()で括っていないとエラー
sdimの仕様

sdim命令は、文字列配列を定義する命令ですが
インデックスと文字列数と配列の要素の関係がわかりにくいので少し調べてみましたsdim s,265,16
mes length(s)	// 16

sdim t,265,16,32
mes length(t)	//	16
mes length2(t)	//	32

sdim u,265,16,32,64
mes length(u)	//	16
mes length2(u)	//	32
mes length3(u)	//	64

stop

sdimの仕様は
sdim 変数名,確保する文字列の長さ,配列の1次元 の長さ,配列の2次元の長さ,配列の3次元の長さ
みたいです
配列へのアクセスの仕様

HSPが3.xになり配列の指定に()でアクセスできるようになりました
TACKは配列には'.'でアクセスしているので
()を使ったアクセスがよくわかりません
なので少し調べてみました
配列名 '(' 一次元の要素 ',' 二次元の要素 ',' 三次元の要素 ',' 四次元の要素 ')'
みたいです
'.'でアクセスするのなら
配列名 '.' 一次元の要素 '.' 二次元の要素 '.' 三次元の要素 '.' 四次元の要素
みたいです
'.'でアクセスすると要素を '(' ')' で括った指定はできないみたいです
'(' ')' で括った指定をしたかったら
配列名 '(' 一次元の要素 ',' 二次元の要素 ',' 三次元の要素 ',' 四次元の要素 ')'
の書式でアクセスしましょう
dim n,256,256
;n(1)(2)=12		//error
;mes n(1)(2)=12
n.3.4=34
mes n.3.4
;n(5).6=56		//error
;mes n(5).6
n(7,8)=78	
mes n(7,8)
;n.9.(10)=910	//error
;mes n.9.(10)
n(11,(12))=1112
mes n(11,(12))
stop
タグ

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

管理人/副管理人のみ編集できます