简单的推箱子游戏(利用数组)
string[,] serwei = new string[10, 10] { {"■","■","■","■","■","■","■","■","■","■"}, {"■"," "," "," "," ","■"," "," ","■","■"}, {"■"," "," "," "," "," "," ","■","■","■"}, {"■"," ","■"," "," "," ","■"," "," ","■"}, {"■"," ","■","■","■"," "," "," "," ","■"}, {"■"," "," "," ","■"," "," ","■"," ","■"}, {"■","■"," "," ","■"," "," ","■"," ","■"}, {"■"," "," ","■","■"," "," "," "," ","■"}, {"■"," "," "," "," "," "," "," ","■","■"}, {"■","■","■","■","■","■","■","■","■","■"}, };//定义二维数组 serwei[1, 1] = "人"; serwei[2, 4] = "□"; serwei[8, 7] = "○"; int rzbx = 1; int rzby = 1; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { Console.Write(serwei[i, j]); } Console.WriteLine(); } while (true) { Console.WriteLine("请输入移动方向wasd,上左下右"); char yidong = Console.ReadKey().KeyChar; if (yidong == 'd') { if (serwei[rzby, rzbx + 1] == "■") { } if (serwei[rzby, rzbx + 1] == "□") { if (serwei[rzby, rzbx + 2] == " " || serwei[rzby, rzbx + 2] == "○") { serwei[rzby, rzbx + 1] = "人"; serwei[rzby, rzbx + 2] = "□"; serwei[rzby, rzbx] = " "; rzbx = rzbx + 1; } } if (serwei[rzby, rzbx + 1] == " ") { serwei[rzby, rzbx] = " "; serwei[rzby, rzbx + 1] = "人"; rzbx = rzbx + 1; } } if (yidong == 's') { if (serwei[rzby + 1, rzbx] == " ") { serwei[rzby, rzbx] = " "; serwei[rzby + 1, rzbx] = "人"; rzby = rzby + 1; } if (serwei[rzby + 1, rzbx] == "□") { if (serwei[rzby + 2, rzbx] == " " || serwei[rzby + 2, rzbx] == "○") { serwei[rzby, rzbx] = " "; serwei[rzby + 1, rzbx] = "人"; serwei[rzby + 2, rzbx] = "□"; rzby = rzby + 1; } } } if (yidong == 'a') { if (serwei[rzby, rzbx - 1] == " ") { serwei[rzby, rzbx] = " "; serwei[rzby, rzbx - 1] = "人"; rzbx = rzbx - 1; } if (serwei[rzby, rzbx - 1] == "□") { if (serwei[rzby, rzbx - 2] == " " || serwei[rzby, rzbx - 2] == "○") { serwei[rzby, rzbx] = " "; serwei[rzby, rzbx - 1] = "人"; serwei[rzby, rzbx - 2] = "□"; rzbx = rzbx - 1; } } } if (yidong == 'w') { if (serwei[rzby - 1, rzbx] == " ") { serwei[rzby, rzbx] = " "; serwei[rzby - 1, rzbx] = "人"; rzby = rzby - 1; } if (serwei[rzby - 1, rzbx] == "□") { if (serwei[rzby - 2, rzbx] == " " || serwei[rzby - 2, rzbx] == "○") { serwei[rzby, rzbx] = " "; serwei[rzby - 1, rzbx] = "人"; serwei[rzby - 2, rzbx] = "□"; rzby = rzby - 1; } } } Console.Clear(); //清除控制台缓冲区和相应的控制台窗口的显示信息。... for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { Console.Write(serwei[i, j]); } Console.WriteLine(); } if (serwei[8, 7] == "□") { Console.WriteLine("游戏结束"); } } Console.ReadLine();