여기 블랙 잭 프로그램에 문제가 있습니다. 현재 이곳에다른 클래스에서 클래스에 액세스하는 방법?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public class blackjack
{
static string[] playercards = new string[11];
static string hitstay = "";
static int total = 0, count = 1, dealertotal = 0;
static Random cardshuffler = new Random();
static Form1 f1 = new Form1();
public static void start()
{
dealertotal = cardshuffler.Next(15, 22);
playercards[0] = deal();
playercards[1] = deal();
f1.TextValue = "test";
bj();
}
private static void hit()
{
count += 1;
playercards[count] = deal();
f1.playertb.Text += "you were dealed a(n) " + playercards[count] + ".your new total is " + total + ".";
if (total.Equals(21))
{
f1.playertb.Text += "you got blackjack! the dealer's total was " + dealertotal + ".would you like to play again?";
playagain();
}
else if (total > 21)
{
f1.playertb.Text += "you busted, therefore you lost. sorry. the dealer's total was " + dealertotal + ".would you like to play again? y/n";
playagain();
}
else if (total < 21)
{
do
{
f1.playertb.Text += "would you like to hit or stay?";
} while (!hitstay.Equals(f1.Hit) && !hitstay.Equals(f1.Stay));
bj();
}
}
private static string deal()
{
string Card = "";
int cards = cardshuffler.Next(1, 14);
switch (cards)
{
case 1: Card = "Two"; total += 2;
break;
case 2: Card = "Three"; total += 3;
break;
case 3: Card = "Four"; total += 4;
break;
case 4: Card = "Five"; total += 5;
break;
case 5: Card = "Six"; total += 6;
break;
case 6: Card = "Seven"; total += 7;
break;
case 7: Card = "Eight"; total += 8;
break;
case 8: Card = "Nine"; total += 9;
break;
case 9: Card = "Ten"; total += 10;
break;
case 10: Card = "Jack"; total += 10;
break;
case 11: Card = "Queen"; total += 10;
break;
case 12: Card = "King"; total += 10;
break;
case 13: Card = "Ace"; total += 11;
break;
}
return Card;
}
static void bj()
{
if (hitstay.Equals (f1.Hit))
{
hit();
}
else if (hitstay.Equals(f1.Stay))
{
if (total > dealertotal && total <= 21)
{
f1.PlayerText += "you won! the dealer busted with " + dealertotal + " as their total" + "your total was " + total;
playagain();
}
else if (total < dealertotal)
{
f1.PlayerText += "sorry, you lost! the dealer's total was " + dealertotal;
playagain();
}
}
}
private static void playagain()
{
}
}
}
내에서 Form1.cs 코드 :이 BlackJack.cs의 코드 내가 양식에 "재생"버튼을 누르면
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult result = MessageBox.Show
("Are You Sure You Want To Close?",
"",
MessageBoxButtons.OK,
MessageBoxIcon.Warning);
if (result == DialogResult.Cancel)
e.Cancel = true;
}
public void button1_Click(object sender, EventArgs e)
{
BetForm betForm = new BetForm();
betForm.StartPosition = FormStartPosition.CenterParent;
if (betForm.ShowDialog() == DialogResult.OK)
{
MessageBox.Show("You bet $" + betForm.Bet);
}
}
public string TextValue
{
set
{
playertb.Text = value;
}
}
public string PlayerText
{
get { return playertb.Text; }
set { playertb.Text = value; }
}
private void Stay_Click(object sender, EventArgs e)
{
}
private void Play_Click(object sender, EventArgs e)
{
blackjack.start();
}
}
}
이 문제는이 가정입니다
것을 BlackJack 클래스에서 start()를 수행합니다. 그것을 수행 할 때 무언가는 "playertb"라는 텍스트 상자에 기록되어야합니다. 텍스트 상자에 아무 것도 쓰지 않고 그것에 대해 아무 것도 할 수 없습니다. 도와주세요.
숙제가 있습니까? 그렇다면 나는 그런 태그를 붙이는 것이 좋습니다. – JohnFx