gpt4 book ai didi

c# - 猜数字游戏还没开始就结束了

转载 作者:行者123 更新时间:2023-11-29 00:21:32 25 4
gpt4 key购买 nike

我正在使用 xamarim.ios,但在下面的代码中遇到问题:

using System;

using UIKit;

namespace SingleViewApp
{
public partial class ViewController : UIViewController
{
int count = 0;
int countFrom = 8;
int guess;
bool run = false;

public ViewController(IntPtr handle) : base(handle)
{
}

public override void ViewDidLoad()
{
base.ViewDidLoad();
// Perform any additional setup after loading the view, typically from a nib.

textView.Text = $"Can you guess my number in {countFrom} or less tries? Number: ";

}

public override void DidReceiveMemoryWarning()
{
base.DidReceiveMemoryWarning();
// Release any cached data, images, etc that aren't in use.
}

partial void EnterButton_TouchUpInside(UIButton sender)
{
Random random = new Random();
int number = random.Next(1, 1001);

try
{
while (!run)
{
guess = Convert.ToInt32(guessInput.Text);

if (guess == number && count <= 8)
{
textView.Text = $"Congrats, you won! Guessed in {count + 1} guesses.";

run = true;
}
else if (guess != number && count >= 8)
{
textView.Text = $"You lose! The number was {number}.";

run = true;
}
else if (guess == (number - 25))
{
textView.Text = "A hint: The number is higher than that!";

}
else if (guess == (number + 25))
{
textView.Text = "A hint: The number is lower than that!";

}
else if (guess <= (number - 50))
{
textView.Text = "A hint: The number is higher than that!";

}
else if (guess == (number + 50))
{
textView.Text = "A hint: The number is lower than that!";

}
else if (guess == (number - 75))
{
textView.Text = "A hint: The number is higher than that!";

}
else if (guess == (number + 75))
{
textView.Text = "A hint: The number is lower than that!";

}
else if (guess == (number - 100))
{
textView.Text = "A hint: The number is higher than that!";

}
else if (guess == (number + 100))
{
textView.Text = "A hint: The number is lower than that!";

}
else if (guess >= (number - 2) && guess <= (number + 2))
{
textView.Text = "You're practically there (2) !";

}
else if (guess >= (number - 5) && guess <= (number + 5))
{
textView.Text = "You're very close (5) !";

}
else if (guess >= (number - 13) && guess <= (number + 13))
{
textView.Text = "You are close (13) !";

}
else if (guess >= (number - 25) && guess <= (number + 25))
{
textView.Text = "It's warmer.";

}
else if (guess >= (number - 50) && guess <= (number + 50))
{
textView.Text = "It's warm.";

}
else if (guess >= (number - 75) && guess <= (number + 75))
{
textView.Text = "It's not too far anymore!";

}
else if (guess >= (number - 100) && guess <= (number + 100))
{
textView.Text = "You are not quite there!";

}
else if (guess <= (number - 150))
{
textView.Text = "You are too low!";

}
else if (guess >= (number + 150))
{
textView.Text = "You are too high!";

}
else if (guess > number)
{
textView.Text = "It's lower.";

}
else if (guess < number)
{
textView.Text = "It's higher.";
}

count++;
countFrom--;
}
}
catch (FormatException e)
{
textView.Text = "Wrong input!";

}
}
}

首先代码不好,做了不必要的东西或者可以缩短或一般重写的东西但我真正的问题是,为什么我的应用程序使用输入的数字运行 8,然后在游戏开始之前输出我丢失的数字?当第一次运行结束时,我应该能够输入下一个数字/尝试

最佳答案

我从未创建过 iOS 应用程序,所以不知道最佳做法是什么,但我会在 EnterButton 之外生成数字,然后我认为您根本不需要循环。

using System;

using UIKit;

namespace SingleViewApp
{
public partial class ViewController : UIViewController
{
int count = 0;
int countFrom = 8;
int guess;
bool run = false;
int number =0;

public ViewController(IntPtr handle) : base(handle)
{
Random random = new Random();
number = random.Next(1, 1001);
}

public override void ViewDidLoad()
{
base.ViewDidLoad();
// Perform any additional setup after loading the view, typically from a nib.

textView.Text = $"Can you guess my number in {countFrom} or less tries? Number: ";

}

public override void DidReceiveMemoryWarning()
{
base.DidReceiveMemoryWarning();
// Release any cached data, images, etc that aren't in use.
}



partial void EnterButton_TouchUpInside(UIButton sender)
{
try
{
guess = Convert.ToInt32(guessInput.Text);

if (guess == number && count <= 8)
{
textView.Text = $"Congrats, you won! Guessed in {count + 1} guesses.";

}
else if (guess != number && count >= 8)
{
textView.Text = $"You lose! The number was {number}.";
}
else if (guess == (number - 25))
{
textView.Text = "A hint: The number is higher than that!";

}
else if (guess == (number + 25))
{
textView.Text = "A hint: The number is lower than that!";

}
else if (guess <= (number - 50))
{
textView.Text = "A hint: The number is higher than that!";

}
else if (guess == (number + 50))
{
textView.Text = "A hint: The number is lower than that!";

}
else if (guess == (number - 75))
{
textView.Text = "A hint: The number is higher than that!";

}
else if (guess == (number + 75))
{
textView.Text = "A hint: The number is lower than that!";

}
else if (guess == (number - 100))
{
textView.Text = "A hint: The number is higher than that!";

}
else if (guess == (number + 100))
{
textView.Text = "A hint: The number is lower than that!";

}
else if (guess >= (number - 2) && guess <= (number + 2))
{
textView.Text = "You're practically there (2) !";

}
else if (guess >= (number - 5) && guess <= (number + 5))
{
textView.Text = "You're very close (5) !";

}
else if (guess >= (number - 13) && guess <= (number + 13))
{
textView.Text = "You are close (13) !";

}
else if (guess >= (number - 25) && guess <= (number + 25))
{
textView.Text = "It's warmer.";

}
else if (guess >= (number - 50) && guess <= (number + 50))
{
textView.Text = "It's warm.";

}
else if (guess >= (number - 75) && guess <= (number + 75))
{
textView.Text = "It's not too far anymore!";

}
else if (guess >= (number - 100) && guess <= (number + 100))
{
textView.Text = "You are not quite there!";

}
else if (guess <= (number - 150))
{
textView.Text = "You are too low!";

}
else if (guess >= (number + 150))
{
textView.Text = "You are too high!";

}
else if (guess > number)
{
textView.Text = "It's lower.";

}
else if (guess < number)
{
textView.Text = "It's higher.";
}

count++;
countFrom--;
}
catch (FormatException e)
{
textView.Text = "Wrong input!";

}
}
}

关于c# - 猜数字游戏还没开始就结束了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44107493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com