0 c#
我是C#的相对新手而且完全卡住了!对于学校作业,我需要制作一个滑动拼图,其中编号的瓷砖将通过使用空格来重新排列,即
[1] [2] [3]
[4] [5] [6]
[7] [8] [ ]
Run Code Online (Sandbox Code Playgroud)
我不知道从哪里开始.
fro*_*h42 11
无论应用程序如何使用(Winforms UI,控制台,Web或其他),您都需要关注如何构建这样的应用程序.首先考虑一下你需要做什么:
你需要
在初级阶段,我会从引擎开始.您将需要编写一个包含数据的C#类.有关如何使用该语言的信息,请参阅C#教程,我将重点关注此处的问题:
enigne需要抓住这个难题.我们有9个字段和8个瓷砖.所以我们可能只使用长度为9的固定数组.数组中的每个条目都是一个描述图块的数字.1是tile 1,2是tile 2,依此类推到tile 8.我们使用0来描述空tile.
然后,您需要实现移动的方法.您可以随时尝试将瓷砖从上,右,下或左移动到空槽中.哪一个是空的瓷砖?我们的数组中包含0的条目.
因此,让我们向上,向下,向左,向右写四种方法来实现这些动作.让我们关注"向上",将瓷砖从上部插槽移动到空插槽中.我们可以假设我们的数组映射到拼图如下:
0 1 2
3 4 5
6 7 8
因此,如果数组包含"7 6 5 3 0 1 2 4 8",那么拼图就会显示出来
7 6 5
3 _ 1
2 4 8
up方法现在需要在数组中找到"0"并将其与上面行中的值进行交换:
如果"0"位于上一行(数组索引0,索引1或索引2),则没有上行,"up"抛出异常.它不能工作.
如果"0"在另一个索引i上,则索引"在"上方i将是索引i-3.所以我们在数组中交换索引i和索引i-3的值.
你可以类似地实现"左","右"和"下"方法.看看有关如何为您的软件编写测试用例的所谓"单元测试"软件.(Nunit,MBUnit)
最后在拼图类中构建一个方法或属性,在解决时检查数组内容是否按正确的顺序"1 2 3 4 5 6 7 8 0".
现在你有一个实现逻辑的益智类.
作为最后一步(但仍然很大的一步),您现在需要阅读有关如何构建UI的Winforms或WPF教程.但是现在你应该已经学习了很多关于C#的知识,以便找到并阅读教程并完成它.
| 归档时间: |
|
| 查看次数: |
5804 次 |
| 最近记录: |