亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? shared functions.bb

?? 國外的一個A*算法演示
?? BB
字號:
;Common Functions
;==================================================================
;This include file contains functions that are used by several demos. It does not contain
;any significant pathfinding-related code.

Global gInt1, gInt2
Const failed = -1, succeeded = 1
Global gScreenCaptureNumber, gLoops, gLoopTime#, gGameTime#

;Returns the lesser of two numbers.
Function Min#(a#,b#)
	If a < b Then Return a
	Return b
End Function

;Returns the greater of two numbers.
Function Max#(a#,b#)
	If a > b Then Return a
	Return b
End Function

;Returns the angle between the first point and the second point.
;Zero degrees is at the 3 o'clock position. Angles proceed in a
;counterclockwise direction. For example, 90 degrees is at
;12 o'clock. 180 degrees is at 9 o'clock, and 270 degrees
;is at 6 o'clock.
;	Also, please note that this function is using screen coordinates,
;where y increases in value as it goes down.
;	Note that the Blitz ATan2() function returns -180 to 180 with
;zero being the 12 o'clock position if y increases as you move up
;the screen, and 6'oclock if y increases as you move down the screen.
;This functions adjusts for that.
Function GetAngle(x1#,y1#,x2#,y2#)
	angle = ATan2(x2-x1,y2-y1)
	If angle >= 90 And angle <= 180
		Return angle-90
	Else
		Return angle+270			
	End If
End Function

;Note: Blitz calculates squares very slowly for some reason,
;so it is much faster to multiply the values rather than using
;the shorthand "^2".
Function GetDistance#(x1#,y1#,x2#,y2#)
	Return Sqr( (x1#-x2#)*(x1#-x2#) + (y1#-y2#)*(y1#-y2#) )	
End Function

;This subroutine copies the map image into one large image for
;faster rendering. This isn't really necessary, and it doesn't effect
;pathfinding at all. It just makes map drawing faster because drawing
;one big image is a lot faster than separately drawing each of the wall
;images and grids. 
Function CopyMapImage()
	FreeImage gMap
	gMap = CreateImage(800,600) ;create a new map image.
	SetBuffer ImageBuffer(gMap)
	For x = 0 To 800/tileSize-1
	For y = 0 To 600/tileSize-1
		If walkability(x,y) = unwalkable Then DrawBlock wallBlock,x*tileSize,y*tileSize
		DrawImage grid,x*tileSize,y*tileSize			
	Next
	Next		
	SetBuffer BackBuffer()
End Function

;This function draws the blue walls and grid.
Function DrawMapImage()
	If gGameStarted = False	
		Cls
		For x = 0 To 800/tileSize-1
		For y = 0 To 600/tileSize-1
			If walkability(x,y) = unwalkable Then DrawBlock wallBlock,x*tileSize,y*tileSize
			DrawImage grid,x*tileSize,y*tileSize			
		Next
		Next
	Else
		DrawBlock gMap,0,0
	End If
End Function	

;This function loads walkability data from a file.
Function LoadMapData(fileName$)
	filein = ReadFile(fileName$)
	If filein
		For x = 0 To 800/tileSize-1
		For y = 0 To 600/tileSize-1
			walkability(x,y) = ReadByte(filein)			
		Next
		Next	 
		CloseFile(filein)	
	End If
End Function	

;This function saves walkability data to a file.
Function SaveMapData(fileName$)
	fileout = WriteFile(fileName$)	
	For x = 0 To 800/tileSize-1
	For y = 0 To 600/tileSize-1
		If walkability(x,y) <> 1Then WriteByte(fileout,0)
		If walkability(x,y) = 1 Then WriteByte(fileout,walkability(x,y))					
	Next
	Next
	CloseFile(fileout)	
End Function

;ScreenCapture by pressing print screen or F12. Successive screen
;captures during the same program run will be saved separately.
Function ScreenCapture()
	If KeyHit(88) Or KeyHit(183)
		SaveBuffer(BackBuffer(),"screenshot"+gScreenCaptureNumber+".bmp")
		gScreenCaptureNumber = gScreenCaptureNumber+1 ;global enables multiple captures
	EndIf	
End Function

;This function draws unit claimed nodes. It is called by the 
;RenderScreen() function.
Function DrawClaimedNodes(drawSelectedOnly=False)
	If gDrawMore = True	
		For x = 0 To 800/tileSize-1
		For y = 0 To 600/tileSize-1
			If claimedNode(x,y) <> Null;claimed nodes
				unit.unit = claimedNode(x,y)
				If drawSelectedOnly=False Or unit\ID <= 3			
					If unit\pathStatus <> stopped
						Color unit\red,unit\green,unit\blue
						Rect x*tileSize+.4*tileSize,y*tileSize+.4*tileSize,.2*tileSize,.2*tileSize,1	
					End If
				End If	
			End If
		Next
		Next	
		For unit.unit = Each unit ;draw square when unit is tempStopped
			If drawSelectedOnly=False Or unit\ID <= 3			
			If unit\pathStatus = tempStopped
				Color unit\red,unit\green,unit\blue
				Rect ReadPathX(unit,unit\pathLocation)-.25*tileSize,ReadPathY(unit,unit\pathLocation)-.25*tileSize,.5*tileSize,.5*tileSize,0
			End If
			End If
		Next		
	End If
End Function


;This function calculates the average amount time that has passed
;per loop over the past 20 game loops. This rolling average
;is combined with speed information (expressed in pixels/second) to
;determine how far to move a unit in a given loop. 
;	We use this time-based approach to ensure consistent unit 
;movement speeds. If units instead moved a fixed distance every 
;loop, the movement speed would be inconsistent from one PC
;to the next because of different chip speeds and monitor refresh
;rates.
;	A rolling average is used because the Millisecs() function does
;not always return a reliably accurate time down to the millisecond. 
;Using an average over the past 20 game loops is more reliable.
Dim savedClockTime#(20)
Global savedClockCount
Function UpdateGameClock()
	savedClockCount = savedClockCount+1
	If savedClockCount = 20 Then savedClockCount = 0
	time# = MilliSecs()
	gLoopTime# = (time#-savedClockTime#(savedClockCount))/20000	
	savedClockTime#(savedClockCount) = time#
	If gLoopTime# > .1 Then gLoopTime# = .0167	
End Function

	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丝袜美腿一区二区三区| 在线观看亚洲专区| 久久久精品天堂| 久久成人免费电影| 久久久99免费| av日韩在线网站| 亚洲一区二区成人在线观看| 欧美日韩一区二区三区高清| 日韩电影在线观看网站| 欧美电影免费观看高清完整版 | 欧美一二三四区在线| 午夜精品一区二区三区免费视频 | 日韩视频一区二区| 国产成人精品三级麻豆| |精品福利一区二区三区| 欧美午夜不卡视频| 偷偷要91色婷婷| 2023国产精品| 99免费精品在线观看| 亚洲国产日韩a在线播放| 日韩一区二区三免费高清| 国产精品99久久久久| 夜夜揉揉日日人人青青一国产精品| 69p69国产精品| 高清成人免费视频| 一级中文字幕一区二区| 日韩女优毛片在线| 不卡免费追剧大全电视剧网站| 亚洲综合色视频| 欧美精品一区二区蜜臀亚洲| 91香蕉视频mp4| 秋霞成人午夜伦在线观看| 欧美国产一区二区在线观看| 欧美猛男超大videosgay| 国产一区二区三区| 亚洲国产一区二区三区| 久久九九久久九九| 欧美精品免费视频| 97久久超碰国产精品电影| 免费久久精品视频| 尤物视频一区二区| 久久精品欧美一区二区三区不卡| 色哟哟精品一区| 国产精品69久久久久水密桃| 日本美女一区二区| 亚洲乱码国产乱码精品精可以看| 欧美va亚洲va| 欧美喷水一区二区| 91小宝寻花一区二区三区| 国产一区二区三区电影在线观看 | 免费日韩伦理电影| 一区二区三区在线免费播放| 亚洲国产精品黑人久久久| 日韩女优电影在线观看| 欧美日韩综合在线免费观看| 成人毛片在线观看| 精品在线你懂的| 日日夜夜精品视频免费| 一区二区三区毛片| 亚洲品质自拍视频网站| 亚洲国产精品t66y| 久久免费视频色| 精品国精品自拍自在线| 678五月天丁香亚洲综合网| 色丁香久综合在线久综合在线观看| 国产精品乡下勾搭老头1| 看片网站欧美日韩| 日韩精品成人一区二区三区| 亚洲线精品一区二区三区| 亚洲欧美一区二区三区国产精品 | 日本精品视频一区二区| 99久久精品国产一区二区三区| 国产精品一区一区三区| 国产综合久久久久久久久久久久| 麻豆久久一区二区| 美女性感视频久久| 久久不见久久见免费视频7| 日韩av电影天堂| 蜜桃av噜噜一区| 美女www一区二区| 美女一区二区久久| 国产九色sp调教91| 国产91在线|亚洲| 丁香婷婷综合激情五月色| 高清国产一区二区| 一本久道久久综合中文字幕| 色婷婷综合久久久中文字幕| 欧美私人免费视频| 欧美欧美欧美欧美首页| 欧美一区二区视频在线观看2022| 51久久夜色精品国产麻豆| 日韩精品一区二区三区在线| 2021国产精品久久精品| 久久精品一区二区三区不卡牛牛| 国产欧美视频一区二区三区| 国产精品国产三级国产专播品爱网 | 亚洲精品国产品国语在线app| 亚洲欧美日韩一区二区| 亚洲高清免费在线| 麻豆精品蜜桃视频网站| 国产福利视频一区二区三区| 成人国产精品视频| 欧美日韩久久不卡| 久久综合五月天婷婷伊人| 国产精品素人视频| 亚洲午夜日本在线观看| 蜜臀91精品一区二区三区 | 国产成人激情av| 成人美女视频在线看| 精品视频一区三区九区| 26uuu亚洲婷婷狠狠天堂| 中文字幕亚洲精品在线观看| 亚洲一区二区偷拍精品| 国产尤物一区二区| 91精品办公室少妇高潮对白| 精品毛片乱码1区2区3区| 国产精品色噜噜| 日韩影院在线观看| 国产成人精品亚洲日本在线桃色| 91高清视频在线| 久久久精品国产99久久精品芒果| 亚洲精品视频一区| 经典一区二区三区| 日本道精品一区二区三区| 精品久久久久久久久久久久久久久| 中文字幕免费观看一区| 亚洲.国产.中文慕字在线| 国产精品自在在线| 欧美日韩国产在线播放网站| 国产日韩av一区| 日韩av成人高清| 91在线视频免费观看| 日韩免费视频线观看| 一区二区三区不卡视频| 国产高清成人在线| 日韩午夜激情视频| 亚洲一卡二卡三卡四卡五卡| 丰满少妇在线播放bd日韩电影| 欧美日产国产精品| 国产精品进线69影院| 久久精品国产网站| 欧美日韩在线播放三区| 日韩伦理电影网| 国产91富婆露脸刺激对白| 欧美一级搡bbbb搡bbbb| 亚洲国产精品影院| 99精品欧美一区二区三区综合在线| 日韩精品最新网址| 日韩成人av影视| 欧美日韩精品一区二区| 一区二区三区日韩精品视频| 成人一二三区视频| 国产午夜精品福利| 国产一区二区毛片| 欧美精品一区二区在线播放| 乱一区二区av| 日韩一区二区三区av| 三级成人在线视频| 精品视频一区三区九区| 亚洲一区二区三区在线看| 97精品超碰一区二区三区| 国产精品网站一区| av一二三不卡影片| 中文字幕视频一区| 99久久精品国产一区二区三区| 国产色一区二区| 国产成人av影院| 中文字幕欧美日韩一区| 风间由美一区二区三区在线观看| 欧美精品一区二区蜜臀亚洲| 韩国在线一区二区| 久久久久国产精品人| 国产成人在线观看免费网站| 国产亚洲婷婷免费| 福利电影一区二区三区| 国产精品网站一区| 一本久久a久久精品亚洲| 一区二区三区四区国产精品| 欧美午夜理伦三级在线观看| 午夜精品久久久久久久久久| 欧美日韩国产另类不卡| 开心九九激情九九欧美日韩精美视频电影| 欧美一区二区三区四区久久| 久久精品国产一区二区| 久久精品人人爽人人爽| 99久久国产综合精品色伊| 亚洲午夜电影网| 日韩欧美区一区二| 国产精品一二三四五| 最新日韩在线视频| 欧美少妇一区二区| 久久99国内精品| 国产精品色婷婷| 欧美日韩精品一区二区三区| 国内精品国产三级国产a久久| 国产午夜亚洲精品羞羞网站| 99re热这里只有精品视频| 亚洲一区二区av在线| 精品国产免费视频| 色综合久久久久|