【发布时间】:2012-01-26 10:20:31
【问题描述】:
在商业环境中工作,我真的不会再编写代码或使用旧的控制台了。我的工作是重复性的,因此并不具有挑战性。
我决定通过在 C# 控制台中编写一个蛇游戏来挑战自己;男孩这样做让我的大脑工作。我从来不用每天都这么努力地思考,但我觉得我的编程技能并没有变得更好。
我有一个问题。我采用的基本方法是创建一个蛇类和一个食物类。蛇类使用一个数组来存储所有坐标,然后一个绘图类决定在屏幕上绘制哪些坐标。
问题是,当您移动蛇时,数组会填满(最大大小为 250 以提高性能),所以当我到达数组末尾时,我想将最后几个坐标复制到临时数组中,刷新原始数组数组并将临时坐标复制回主数组。
我遇到的问题是将 x 坐标复制回原始数组。我决定手动进行测试,但这个解决方案总是让我可怜的蛇在屏幕上留下它不应该存在的部分。
我将如何以编程方式执行此操作?
spoints[4, 0] = stemp[249, 0];
spoints[4, 1] = stemp[249, 1];
spoints[4, 2] = stemp[249, 2];
spoints[3, 0] = stemp[248, 0];
spoints[3, 1] = stemp[248, 1];
spoints[3, 2] = stemp[248, 2];
spoints[2, 0] = stemp[247, 0];
spoints[2, 1] = stemp[247, 1];
spoints[2, 2] = stemp[247, 2];
spoints[1, 0] = stemp[246, 0];
spoints[1, 1] = stemp[246, 1];
spoints[1, 2] = stemp[246, 2];
spoints[0, 0] = stemp[245, 0];
spoints[0, 1] = stemp[245, 1];
spoints[0, 2] = stemp[245, 2];
如果有人真的想深入研究代码,我真的不介意在这里发布整个游戏。
【问题讨论】:
-
使用数组而不是类型化的集合/字典让你的生活变得更加艰难。
标签: c# arrays multidimensional-array