用Racket做一个拼图游戏——8 按行列分割图片

按行列分割图片

这一节,我们把调整好尺寸的图片分割成指定的rows行,columns列,每个行列单元格都存储一张分割后的小图片,需要的时候直接取出来使用即可。

行数和列数很好理解。但如果仅仅考虑分割图片,只需给出行列数去分割图片就可以。但是考虑到行列数需要被记住,后边便于使用。因此这里设置两个值来指向行数值和列数值。把值设置为全局绑定,如下:

(define rows 3)
(define cols 3)

这里设置了行列的初始值,为了能够让用户设定行列数,这里需要定义两个函数来实现该功能。如下:

;设置单元格行数:
(define (set-rows! num)
  (set! rows num))
;设置单元格列数:
(define (set-cols! num)
  (set! cols num))

这里函数名"set-rows!"后面有一个”!“,表明它是有副作用的函数。函数里边有对函数"set!"求值,它也是有副作用的。

接下来分割图片。

分割图片用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值