利用バージョン
HSP | 3.1 |
Easy3D | a |
スクリーンショット
まだない
ダウンロード
ない
ソース
map[1.2].as
/******************************************************************************
* *
* ?f?[?^?\??F?A?z?z?? *
* *
******************************************************************************/
#module "map"
;-----------------------------------------------------------------------
; ?A?z?z???????
; map_dim ?v?f??, key????????O?X, value????????O?X
;-----------------------------------------------------------------------
#deffunc map_dim int, int, int
// ???W???[?????O???[?o?????????r?p???????????< kz3
// mref mapSize, 0
// mref keyLength, 1
// mref valueLength, 2
mref n1, 0 : mapSize = n1 ; ?v?f??
mref n2, 1 : keyLength = n2 ; key????????O?X
mref n3, 2 : valueLength = n3 ; value????????O?X
sdim keyArray, keyLength, mapSize
sdim valueArray, valueLength, mapSize
return
;-----------------------------------------------------------------------
; ????l??w?????L?[????}?b?v???A?t????B
; ?}?b?v???O????L?[??}?b?s???O????????????A???l??u????????B
; map_put key, value
;-----------------------------------------------------------------------
#deffunc map_put str, str
mref return_status,64 ; status????l
mref key, 32 ; key
mref value, 33 ; value
// 1??]?v????[?v??????I??`?F?b?N
// ?????I??`?F?b?N??v?f??Q?O??`?F?b?N < kz3
// repeat mapSize
repeat mapSize+1
if cnt == mapSize { ;cnt??z???v?f????B??????????B
return_status = 1
break
}
if keyArray.cnt == "" { ;key?z????????
keyArray.cnt = key
valueArray.cnt = value
break
}
if keyArray.cnt == key { ;key?z?????l???????alue??X?V
valueArray.cnt = value
break
}
loop
return
;-----------------------------------------------------------------------
; ?L?[??}?b?v??????l??????B
; ????????tatus??0??????B
; map_get key, ????????????
;-----------------------------------------------------------------------
#deffunc map_get str, val
mref return_status,64 ; status????l
mref get_key, 32 ; key
mref get_value, 25 ; ???l
// 1??]?v????[?v??????I??`?F?b?N
// ?????I??`?F?b?N??v?f??Q?O??`?F?b?N < kz3
// repeat mapSize
repeat mapSize + 1
if cnt == mapSize { ;cnt??z???v?f????B??????????B
return_status = 1
break
}
if keyArray.cnt == get_key { ;key?z?????l???????alue??X?V
get_value = valueArray.cnt
break
}
loop
return
#global
/* -------------------------------------------------------------------------- *
* *
* ?r?@?`?@?l?@?o?@?k?@?d *
* *
* -------------------------------------------------------------------------- */
map_dim 10, 10, 100 ; ?A?z?z?????
map_put "????, "90?_"
sdim result
map_get "????, result
if stat!1 : print result : else : print "????????D"
stop
利用モデル
むむ
解説
はは
掲示板
{{bbs}}