yosgspecさんが投稿したコード一覧

HSP FNV-1 on HSP (ハッシュ関数)

// http://wowdev.jp/?p=873
// https://qiita.com/Ushio/items/a19083514d087a57fc72
/**
 * FNV Constants
 */
#module FNV
	#const FNV_OFFSET_BASIS_32 2166136261
	#const FNV_PRIME_32 16777619
	/**
	 * FNV Hash Algorithm
	 */
	#defcfunc fnv_1_hash_32 str _bytes

		bytes = _bytes
		hash = FNV_OFFSET_BASIS_32
		repeat strlen(bytes)
			hash = (FNV_PRIME_32 * hash) ^ peek(bytes, cnt)
		loop

	return double(strf("%u",hash))
#global

HSP テキストルーレット

#cmpopt varinit 1
#packopt name "txtLret"
#packopt xsize 600,ysize 400
#include "XorShift.as"

new@XorShift rand

#module GUI
	#deffunc GUIMain
		screen 0,600,400
		title "テキストルーレット!"
		color 51,153,255
		boxf 0
		color 0,0,153
		font "Meiryo UI",16
		objmode 2

		pos 210,15
		mes "ルーレットしたい値を入れてね。"

		pos 10,40
		sdim txtList,0x7FFF
		#enum txtListID=0
		mesbox txtList,580,260

		pos 140,310
		objsize 200,24
		#enum onclickLretID
		button gosub "Let's ルーレット!",*onclickLret

		pos 350,310
		objsize 100,24
		#enum onclickDefaultID
		button gosub "デフォルト",*onclickDefault

		pos 10,345
		sdim resultList,0xFF
		#enum resultListID
		input resultList,580,25
	return

*onclickLret
		lretMain
	return
*onclickDefault
		lretDefault
	return
#global

#module Lret
	#deffunc lretMain
		sdim txtListValue
		split txtList@GUI,"\n",txtListValue
		objprm resultListID@GUI,txtListValue(xsRandInt(rand@,0,length(txtListValue)-1))
	return

	#deffunc lretDefault
		mhList={"大剣
			太刀
			片手剣
			双剣
			ランス
			ガンランス
			ハンマー
			狩猟笛
			操虫棍
			穿龍棍
			ライトボウガン
			ヘビィボウガン
			弓"}
		objprm txtListID@GUI,mhList
	return
#global

GUIMain

よく投稿されているコード

タグ

最近投稿されたコード