ハングマンゲームを作成しようとすると、私はほとんどそこにいます。 txtBokstavGjett
に入力すると、ボタンを押したときに配列が保存されません。私はlosning[]
のセッション変数を持っています。配列変数はセッション変数に保存されません
私は本当にここから何をすべきかわからないので、どんな助けも大歓迎です。 変数名はノルウェー語ですが、重要ではありません。
public partial class _Default : System.Web.UI.Page
{
int antallForsok = 0;
string forsokteBokstaver;
char[] losning = new char[8];
protected void Page_Load(object sender, EventArgs e)
{
if (Session["antallForsok"] != null)
{
antallForsok = (int)Session["antallForsok"];
}
labForsok.Text = Convert.ToString(antallForsok);
if (Session["forsokteBokstaver"] != null)
{
forsokteBokstaver = (string)Session["forsokteBokstaver"];
}
if (Session["losning"] != null)
{
losning = (char[])Session["losning"];
}
if (antallForsok == 0)
{
for (int k = 0; k < losning.Length; k++)
{
losning[k] = '_';
labRes.Text += " " + losning[k] + " ";
labTestBox.Text += "" + losning[k] + " ";
}
}
}
protected void btnKnapp_Click(object sender, EventArgs e)
{
labRes.Text = "";
labTestBox.Text = "";
string losningOrd = "appelsin";
char brukerGjett = Convert.ToChar(txtBokstavGjett.Text);
char[] bokstaver = losningOrd.ToCharArray();
losning = new char[bokstaver.Length];
for (int i = 0; i <bokstaver.Length; i++)
{
if (brukerGjett == bokstaver[i])
{
losning[i] = bokstaver[i];
}
else if (!(brukerGjett == bokstaver[i]))
{
}
forsokteBokstaver = brukerGjett.ToString();
labRes.Text += "" + losning[i];
labTestBox.Text += " " + losning[i];
}
txtBokstavGjett.Text = "";
antallForsok++;
labForsoktBokstav.Text += forsokteBokstaver;
}
protected void Page_Unload (object sender, EventArgs e)
{
Session["antallForsok"] = antallForsok;
Session["forsokteBokstaver"] = forsokteBokstaver;
Session["losning"] = losning;
}
}
セッション変数を保存するためにCookieを使用している場合は正しいかもしれませんが、それはPage_Unloadに値を持たなければならないクラスフィールドです。 –
優秀な点、私はそれが当てはまるかもしれないと仮定していましたが、確かに物事がどのように構成されているかに依存します。 –