c# - 怎么玩刽子手?
问题描述
我需要创建一个刽子手游戏。问题是我正在努力保持猜测并消除代表尚未选择的字母的 * 字符。
在表单设计中有一个包含整个字母表的列表框可供选择,还有一个代表正在猜测的单词的标签。
public partial class Form1 : Form
{
string line;
public Form1()
{
InitializeComponent();
}
private void tabPage1_Click(object sender, EventArgs e)
{
}
private void lsbLetters_SelectedIndexChanged(object sender, EventArgs e)
{
string myString = "bash";
int d, counter;
char y, letter;
letter = Convert.ToChar(lsbLetters.SelectedItem.ToString());
for (counter = 1; counter < myString.Length; counter++)
{
line = "";
for (d = 0; d < myString.Length; d++)
{
y = myString[d];
if (letter == myString[d])
{
line += myString[d];
for (int j = 1; j <= myString.Length - d; j++)
{
line += "* ";
}
lblWord.Text = line;
}
}
}
}
}
如果猜对了,我需要替换字母,通过列表框和其他字母保留 * 字符,直到它们被选中,例如,如果为当前单词 bash 选择了 a 和 h。
*a*h
| a |
| b |
| c |
| d |
| e |
| f |
| g |
....
解决方案
试试看:
private void lsbLetters_SelectedIndexChanged(object sender, EventArgs e)
{
string myString = "bash";
char letter = Convert.ToChar(lsbLetters.SelectedItem.ToString());
line = "";
for (int counter = 0; counter < myString.Length; counter++)
{
if (letter == myString[counter])
line += letter;
else
line += lblWord.Text[counter];
}
lblWord.Text = line;
}
推荐阅读
- java - Spring-boot 2.3.0.M4 JDK 11 集成 NoSuchBeanDefinitionException ...ConfigurationClassPostProcessor, ...ProxyTransactionManagementConfiguration
- r - 创建一个分数从 0.01 增加到 0.99 的循环
- sql - sql select count(* like '%%')/select count(*)
- excel - powershell 输出到 .txt 文件不会打印 for 循环
- sql - 针对 Azure SQL 运行 SSRS 报告
- lua - ESP32 GPIO 命令
- python - Django:将两个clumn的所有值转换为绝对值
- c# - Httpclient 返回空白 api 键和客户端 ID 键
- ansible - 使用 item 更改命令行中的参数
- python - 熊猫将额外的零添加到十进制值