问题描述
我正在尝试创建一个补丁,它将成为海龟必须经过的路径中间的瓶颈结构。
我已经创建了抛物线,但我想添加一个滑块,以便可以更改瓶颈的大小,但我不知道如何创建可以移动它的代码。
这是代码(我对抛物线的数学很不擅长,所以我得到了顶部的帮助,我只是手动创建了向下的)
onpressed: () async {
final qrCodeScannerBloc = BlocProvider.of<QrCodeScannerBloc>(context);
Navigator.pop(context);
final String qrCodeResponse =
await FlutterBarcodeScanner.scanBarcode(
'#FF6666','cancel'.tr(),true,ScanMode.QR);
qrCodeScannerBloc.add(GetQrCodeResponseEvent(qrCodeResponse));
…
},
有人可以帮忙吗?
解决方法
给你。 这假设您有一个名为 setup 的按钮 以及范围从 0 到 11 的可变“宽度”滑块。
我在您设置红色和绿色的顶部附近添加了“询问补丁 []”。
to setup
clear-all
setup-road
reset-ticks
end
to setup-road
;; patch procedure
;; colour patches to paint a horizontal road
let bound (max-pycor / 3)
ask patches [
ifelse (pycor < (max-pycor - bound)) and (pycor > (min-pycor + bound))
[ set pcolor red - 3 ]
[ set pcolor green ]
]
let upper-road-bound (max-pycor - bound - 2 )
let lower-road-bound (min-pycor + bound + 2 )
setup-top-parabola-on-road
setup-down-parabola-on-road
end
;; I want to be able to expand the parabolas so that the opening between them will be wider as well as narrow according a slider.
to setup-top-parabola-on-road
ask patches with
[pxcor > -25 and pxcor < 25] [
if pycor > ((pxcor ^ 2) / 20 + width)
[ set pcolor blue ]
]
end
to setup-down-parabola-on-road
ask patches with
[pxcor > -25 and pxcor < 25] [
if pycor < (-1 * (pxcor ^ 2) / 20) - width + 1
[ set pcolor yellow ]
]
end