题目
该题目的大概图案是以下模样,让✳摁wasd上下左右移动。
考察点 :
该题主要考察的地方还是for循环函数的使用,以及for循环之间的逻辑问题,该题一定一定一定要注意逻辑顺序,要不然运行会出现很多小错误。
分析:
该题应该先先写出在10*10的正方形来(因为行间距不能修改,所以行之间有空格,有大神知道的可以dd)然后输出*号位于中间位置,五行五列,再进行移动。
具体的代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _2._15class
{
class Program
{
static void Main(string[] args)
{
int a = 0;
int b = 0;
for (; ; ) //一直进行
{
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if (i == 0 || i == 9 || j == 0 || j == 9) //让第一行,最后一行,第一列和最后一列加上方块
{
Console.Write("■");
}
else if (i == 5 + a && j == 5 + b) //*号开始时的位置,a代表上下移动,b代表左右移动
{
Console.Write("*");
}
else
{
Console.Write(" "); //其余位置为空白
}
}
Console.WriteLine(); //输出行数
}
string move = Console.ReadLine(); //识别输入的字符
if (move == "w")
{
a--; //行数减少
}
else if (move == "s")
{
a++; //行数增加
}
else if (move == "a")
{
b--; //列数减少
}
else if (move == "d")
{
b++; //列数增加
}
Console.Clear(); //清空控制台
}
}
}
}
注意点:
1.先输出图形,然后让它移动,逻辑顺序需要注意一点
2.console.readline()的使用需要在注意一点,这个语句是字符型
3.console.clear ()清除控制台