サンプルテンプレート

Last-modified: 2006-09-04 (月) 11:12:06

利用バージョン

HSP3.1
Easy3Da

スクリーンショット

まだない

ダウンロード

ない

ソース

filemap[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}}