【发布时间】:2013-05-20 12:58:02
【问题描述】:
我正在做一个二十一点项目..
我首先为Hit 按钮创建了Hit 类。
所以在表单上,当我单击它时,它将从 switch case 场景中检索一个值,该值在命中类中随机化了一个数字/值。
我尝试在 GenerateID 方法中的 Class hit to = stRefID 下创建一个变量,但这也失败了;一切都是公开的,所以我很困惑。
感谢您抽出宝贵时间帮助我,因为这是我第一次在这里发帖,但我一直都在使用这个地方。
Hit.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Blackjack
{
public class Hit
{
public static string GenerateID(int MinSize, int MaxSize)
{
string stRefID = "";
Random random = new Random();
int iChosenMaxSize = random.Next(0, 11);
int two = 2;
int three = 3;
int four = 4;
int five = 5;
int six = 6;
int seven = 7;
int eight = 8;
int nine = 9;
int ten = 10;
int jack = 10;
int queen = 10;
int king = 10;
int ace = 11;
for (int x = 1; x <= iChosenMaxSize; x++)
{
int iCharType = random.Next(0, 12);
switch (iCharType)
{
case 0:
stRefID += two;
break;
case 1:
stRefID += three;
break;
case 2:
stRefID += four;
break;
case 3:
stRefID += five;
break;
case 4:
stRefID += six;
break;
case 5:
stRefID += seven;
break;
case 6:
stRefID += eight;
break;
case 7:
stRefID += nine;
break;
case 8:
stRefID += ten;
break;
case 9:
stRefID += ace;
break;
case 10:
stRefID += jack;
break;
case 11:
stRefID += queen;
break;
case 12:
stRefID += king;
break;
}
} return stRefID;
}
}
}
我想在哪里检索并将文本框设置为检索到的值:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Blackjack
{
public partial class Form1 : Form
{
private void hit_Click(object sender, EventArgs e)
{
this.test.Text = Hit.stRefID;
}
我也尝试过公开按钮,但失败了...
测试文本框输出:
private void test_TextChanged(object sender, EventArgs e)
{
}
亲切的问候, 迈克。
修改后的代码:
namespace Blackjack
{
public class Hit
{
public static string GenerateID(string stRefID)
{
Random random = new Random();
int iChosenMaxSize = random.Next(0, 11);
int two = 2;
int three = 3;
int four = 4;
int five = 5;
int six = 6;
int seven = 7;
int eight = 8;
int nine = 9;
int ten = 10;
int jack = 10;
int queen = 10;
int king = 10;
int ace = 11;
for (int x = 1; x <= iChosenMaxSize; x++)
{
int iCharType = random.Next(0, 12);
switch (iCharType)
{
case 0:
stRefID += two;
break;
case 1:
stRefID += three;
break;
case 2:
stRefID += four;
break;
case 3:
stRefID += five;
break;
case 4:
stRefID += six;
break;
case 5:
stRefID += seven;
break;
case 6:
stRefID += eight;
break;
case 7:
stRefID += nine;
break;
case 8:
stRefID += ten;
break;
case 9:
stRefID += ace;
break;
case 10:
stRefID += jack;
break;
case 11:
stRefID += queen;
break;
case 12:
stRefID += king;
break;
}
} return stRefID;
}
}
}
我使用 stRefID 创建了 generateID 方法,因为返回应该返回到它 - 我可以从按钮调用值?公共静态字符串声明有效,但前提是我有一个默认值...
【问题讨论】:
-
@Mike:你的代码可以编译吗?我猜
Hit.stRefID应该会抛出编译错误。 -
对不起,我没有在这里看到你的回复,是的,它是:this.test.Text = Hit.GenerateID(stRefID);它说:错误1当前上下文中不存在名称'stRefID'
-
我可以访问变量 - 但方法没有设置它。所以我想找出问题所在,我现在用修改后的代码编辑我的第一篇文章
-
如果我将其保留为 this.test.Text = Hit.GenerateID();然后它说方法“GenerateID”没有重载需要'0'参数。
-
非常感谢您的帮助 - 我希望我现在可以投票给您):
标签: c#