aardio 走迷宫算法,全网首发,就问你,炫不炫!
代码用到以下两个库,请到 http://chengxu.online → aardio资源下载
godking.paint // 请下载 paint.rar ,解压到 lib/godking/ 文件夹
godking // 请下载 _.rar ,解压到 lib/godking/ 文件夹
源代码如下:
import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=839;bottom=649)
winform.add(
button={cls="button";text="Button";left=370;top=550;right=520;bottom=600;z=2};
plus={cls="plus";left=180;top=60;right=660;bottom=540;z=1}
)
/*}}*/
winform.show();
import godking.paint // 请到 http://chengxu.online 下载
import godking // 请到 http://chengxu.online 下载
var p = godking.paint.fromPlus(winform.plus,true/*自动刷新*/,false/*重绘背景*/);
p.drawImage(0,0,p.width,p.height,"\迷宫.png"/*图片*/,/*透明度或图片属性*/,/*保持比例*/);
winform.button.oncommand = function(id,event){
var t = ..table.new(0,24,24);
var b = p.bitLock(8);
var luzhang = b.get(10,10);
for(col=1;24;1){
var cx = col*20-10;
for(row=1;24;1){
var cy = row*20-10;
var c = b.get(cx,cy);
if c==luzhang t[row][col]=1;
}
}
b.release();
var r = godking.getShortestPath( t,1/*起点行*/ , 5/*起点列*/,24/*终点行*/ ,10 /*终点列*/);
for(i=1;#r;1){
p.fillRectF(r[i].col*20-15,r[i].row*20-15/*y*/,10/*宽度*/,10/*高度*/,0xFF000000);
..win.delay(100);
}
}
win.loopMessage();
所用图片如下: