すべての種類の時間!問題はサイクルです:最後の2行の書き込みコードは到達不能コードとして定義されます。これは、ケースの任意のキーを押すと無限ループを開始するためです。プログラミングの経験はほとんどなく、理解できません。このサイクルから抜け出す方法は?ここでは、プログラムのコードがあります:このサイクルから抜け出すには?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
namespace ConsoleApplication3
{
class Hero
{
public int x = 0;
public int y = 0;
public int hp = 3;
public double power = 3;
public void printHero()
{
Console.WriteLine(" x={0},y={1},hp={2},power={3}", x, y, hp, power);
}
public void hitHero()
{
hp = hp - 1;
}
public void attackHero()
{
power = power - 0.5;
}
static void Main(string[] args)
{
Hero hero;
hero = new Hero();
ConsoleKeyInfo keypress;
keypress = Console.ReadKey();
while (true)
{
switch (keypress.KeyChar)
{
case 'A':
hero.x = hero.x - 1;
hero.printHero();
break;
case 'D':
hero.x = hero.x +1;
hero.printHero();
break;
case 'W':
hero.y = hero.y + 1;
hero.printHero();
break;
case 'S':
hero.y = hero.y - 1;
hero.printHero();
break;
case 'E':
hero.attackHero();
hero.printHero();
break;
case 'X':
hero.hitHero();
hero.printHero();
break;
default:
break;
}
}
Console.ReadLine();
return;
}
}
}
'while(true)'は無限ループです。 「真実」は決して「真実」ではないからです。ここでは正確に何をしようとしていますか? – David
*「このサイクルから抜け出す方法」*まあ、サイクルから抜け出すにはどうすればいいですか?リストされたアクションが実行されたとき、アクションが選択されていないとき、または特定のキーが押されているときか、ウィンドウの外の太陽に依存しているときですか? – grek40