作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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/
我正在用 python 编写一个猜词游戏。这是我的学校项目。我快完成了,我只是有一件事有问题。我不知道如何掩盖一个词。例如,如果单词是 monkey,程序应该显示 ------ 并且当用户猜一个字母时
我是一名优秀的程序员,十分优秀!