一天中的各種時刻!問題在於循環:用最後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)'是一個無限循環。因爲'true'永遠不會*成爲'true'。你究竟想在這裏做什麼? – David
*「如何擺脫這個循環」*好吧,你如何*想擺脫這個循環?它是在什麼時候執行任何列出的動作,是在沒有選擇任何動作時,或者是否按下了某個特定的按鍵,還是取決於窗外的太陽? – grek40