前言
公司一直在大力推进员工学习微软PowerPlatform平台的计划,作为小白的我看了这个视频之后,突然想着做一个小游戏,至于为什么是贪吃蛇呢,因为简单。下面我跟大家分享下我的开发经历。
地图的实现
众所周知,贪吃蛇的地图一般是一个矩形的网格,而在这个网格中一共就两个东西:蛇和食物,蛇通过不断吃食物来不断变长。因此如何存储这个网格尤为重要。
方案一
我一开始的想法是使用自定义组件,组件定义4个属性:X值,Y值,是否蛇,是否食物。在屏幕中生成100个自定义组件,使它们呈10*10的布局排列。在每个单元格中,根据X值、Y值同变量蛇和食物的X值、Y值作比较来赋值属性是否为蛇、是否食物,并通过这两个属性值决定单元格的颜色,以此展示蛇和食物在网格中的位置。但是实际操作下来发现这个方案不好,原因如下:
- 工作量太大,需要手动添加100个自定义控件,并手动设置自定义属性值X、Y来满足布局
- 对单元格判断是否为蛇、是否为食物的难度较大
- 组件太多,影响性能
方案二
之前为了多用点PowerApps上提供的功能,老想着用自定义组件,后来发现问题复杂化了,其实只要使用一个自动换行的库控件和一维数组就能完美解决问题。
- 定义一个变量Matrix存储一个1~·100的有