【发布时间】:2022-08-02 17:00:47
【问题描述】:
我从video 获得了这段代码,并出于教育目的对其进行了修改。我根据视频输入了所有内容,但是当我尝试运行它时,它仅适用于左上角的按钮,并且不显示其他任何内容。重置按钮和新游戏按钮工作正常,但我还没有看到分数选项卡是否工作,因为它不会显示其余的 x\'s 和 o\'s。
#pragma endregion
Boolean checker;
int plus;
void Enable_False() {
btn1->Enabled = false;
btn2->Enabled = false;
btn3->Enabled = false;
btn4->Enabled = false;
btn5->Enabled = false;
btn6->Enabled = false;
btn7->Enabled = false;
btn8->Enabled = false;
btn9->Enabled = false;
}
void score(){
{
// Player X
if (btn1->Text == \"X\" && btn2->Text == \"X\" && btn3->Text == \"X\"){
btn1->BackColor = System::Drawing::Color::PowderBlue;
btn2->BackColor = System::Drawing::Color::PowderBlue;
btn3->BackColor = System::Drawing::Color::PowderBlue;
MessageBox::Show(\"Player X wins!\", \"Tic Tac Toe\", MessageBoxButtons::OK, MessageBoxIcon::Information);
plus = int::Parse(playerx->Text);
playerx->Text = Convert::ToString(plus + 1);
Enable_False();
}
if (btn1->Text == \"X\" && btn4->Text == \"X\" && btn7->Text == \"X\"){
btn1->BackColor = System::Drawing::Color::PowderBlue;
btn4->BackColor = System::Drawing::Color::PowderBlue;
btn7->BackColor = System::Drawing::Color::PowderBlue;
MessageBox::Show(\"Player X wins!\", \"Tic Tac Toe\", MessageBoxButtons::OK, MessageBoxIcon::Information);
plus = int::Parse(playerx->Text);
playerx->Text = Convert::ToString(plus + 1);
Enable_False();
}
if (btn1->Text == \"X\" && btn5->Text == \"X\" && btn9->Text == \"X\"){
btn1->BackColor = System::Drawing::Color::PowderBlue;
btn5->BackColor = System::Drawing::Color::PowderBlue;
btn9->BackColor = System::Drawing::Color::PowderBlue;
MessageBox::Show(\"Player X wins!\", \"Tic Tac Toe\", MessageBoxButtons::OK, MessageBoxIcon::Information);
plus = int::Parse(playerx->Text);
playerx->Text = Convert::ToString(plus + 1);
Enable_False();
}
if (btn4->Text == \"X\" && btn5->Text == \"X\" && btn6->Text == \"X\"){
btn4->BackColor = System::Drawing::Color::PowderBlue;
btn5->BackColor = System::Drawing::Color::PowderBlue;
btn6->BackColor = System::Drawing::Color::PowderBlue;
MessageBox::Show(\"Player X wins!\", \"Tic Tac Toe\", MessageBoxButtons::OK, MessageBoxIcon::Information);
plus = int::Parse(playerx->Text);
playerx->Text = Convert::ToString(plus + 1);
Enable_False();
}
if (btn7->Text == \"X\" && btn8->Text == \"X\" && btn9->Text == \"X\"){
btn7->BackColor = System::Drawing::Color::PowderBlue;
btn8->BackColor = System::Drawing::Color::PowderBlue;
btn9->BackColor = System::Drawing::Color::PowderBlue;
MessageBox::Show(\"Player X wins!\", \"Tic Tac Toe\", MessageBoxButtons::OK, MessageBoxIcon::Information);
plus = int::Parse(playerx->Text);
playerx->Text = Convert::ToString(plus + 1);
Enable_False();
}
if (btn3->Text == \"X\" && btn5->Text == \"X\" && btn7->Text == \"X\"){
btn3->BackColor = System::Drawing::Color::PowderBlue;
btn5->BackColor = System::Drawing::Color::PowderBlue;
btn7->BackColor = System::Drawing::Color::PowderBlue;
MessageBox::Show(\"Player X wins!\", \"Tic Tac Toe\", MessageBoxButtons::OK, MessageBoxIcon::Information);
plus = int::Parse(playerx->Text);
playerx->Text = Convert::ToString(plus + 1);
Enable_False();
}
// Player O
if (btn1->Text == \"O\" && btn2->Text == \"O\" && btn3->Text == \"O\"){
btn1->BackColor = System::Drawing::Color::PowderBlue;
btn2->BackColor = System::Drawing::Color::PowderBlue;
btn3->BackColor = System::Drawing::Color::PowderBlue;
MessageBox::Show(\"Player O wins!\", \"Tic Tac Toe\", MessageBoxButtons::OK, MessageBoxIcon::Information);
plus = int::Parse(playero->Text);
playero->Text = Convert::ToString(plus + 1);
Enable_False();
}
if (btn1->Text == \"O\" && btn4->Text == \"O\" && btn7->Text == \"O\"){
btn1->BackColor = System::Drawing::Color::PowderBlue;
btn4->BackColor = System::Drawing::Color::PowderBlue;
btn7->BackColor = System::Drawing::Color::PowderBlue;
MessageBox::Show(\"Player O wins!\", \"Tic Tac Toe\", MessageBoxButtons::OK, MessageBoxIcon::Information);
plus = int::Parse(playero->Text);
playero->Text = Convert::ToString(plus + 1);
Enable_False();
}
if (btn1->Text == \"O\" && btn5->Text == \"O\" && btn9->Text == \"O\"){
btn1->BackColor = System::Drawing::Color::PowderBlue;
btn5->BackColor = System::Drawing::Color::PowderBlue;
btn9->BackColor = System::Drawing::Color::PowderBlue;
MessageBox::Show(\"Player O wins!\", \"Tic Tac Toe\", MessageBoxButtons::OK, MessageBoxIcon::Information);
plus = int::Parse(playero->Text);
playero->Text = Convert::ToString(plus + 1);
Enable_False();
}
if (btn4->Text == \"O\" && btn5->Text == \"O\" && btn6->Text == \"O\"){
btn4->BackColor = System::Drawing::Color::PowderBlue;
btn5->BackColor = System::Drawing::Color::PowderBlue;
btn6->BackColor = System::Drawing::Color::PowderBlue;
MessageBox::Show(\"Player O wins!\", \"Tic Tac Toe\", MessageBoxButtons::OK, MessageBoxIcon::Information);
plus = int::Parse(playero->Text);
playero->Text = Convert::ToString(plus + 1);
Enable_False();
}
if (btn7->Text == \"O\" && btn8->Text == \"O\" && btn9->Text == \"O\"){
btn7->BackColor = System::Drawing::Color::PowderBlue;
btn8->BackColor = System::Drawing::Color::PowderBlue;
btn9->BackColor = System::Drawing::Color::PowderBlue;
MessageBox::Show(\"Player O wins!\", \"Tic Tac Toe\", MessageBoxButtons::OK, MessageBoxIcon::Information);
plus = int::Parse(playero->Text);
playero->Text = Convert::ToString(plus + 1);
Enable_False();
}
if (btn3->Text == \"O\" && btn5->Text == \"O\" && btn7->Text == \"O\"){
btn3->BackColor = System::Drawing::Color::PowderBlue;
btn5->BackColor = System::Drawing::Color::PowderBlue;
btn7->BackColor = System::Drawing::Color::PowderBlue;
MessageBox::Show(\"Player O wins!\", \"Tic Tac Toe\", MessageBoxButtons::OK, MessageBoxIcon::Information);
plus = int::Parse(playero->Text);
playero->Text = Convert::ToString(plus + 1);
Enable_False();
}
}
}
private: System::Void MyForm_Load(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void btn1_Click(System::Object^ sender, System::EventArgs^ e) {
if (checker == false) {
btn1->Text = \"X\";
checker = true;
}
else {
btn1->Text = \"O\";
checker = false;
}
score();
btn1->Enabled = false;
}
private: System::Void btn2_Click(System::Object ^ sender, System::EventArgs ^ e) {
if (checker == false) {
btn2->Text = \"X\";
checker = true;
}
else {
btn2->Text = \"O\";
checker = false;
}
score();
btn2->Enabled = false;
}
private: System::Void btn3_Click(System::Object^ sender, System::EventArgs^ e) {
if (checker == false) {
btn3->Text = \"X\";
checker = true;
}
else {
btn3->Text = \"O\";
checker = false;
}
score();
btn3->Enabled = false;
}
private: System::Void btn4_Click(System::Object^ sender, System::EventArgs^ e) {
if (checker == false) {
btn4->Text = \"X\";
checker = true;
}
else {
btn4->Text = \"O\";
checker = false;
}
score();
btn4->Enabled = false;
}
private: System::Void btn5_Click(System::Object^ sender, System::EventArgs^ e) {
if (checker == false) {
btn5->Text = \"X\";
checker = true;
}
else {
btn5->Text = \"O\";
checker = false;
}
score();
btn5->Enabled = false;
}
private: System::Void btn6_Click(System::Object^ sender, System::EventArgs^ e) {
if (checker == false) {
btn6->Text = \"X\";
checker = true;
}
else {
btn6->Text = \"O\";
checker = false;
}
score();
btn6->Enabled = false;
}
private: System::Void btn7_Click(System::Object^ sender, System::EventArgs^ e) {
if (checker == false) {
btn7->Text = \"X\";
checker = true;
}
else {
btn7->Text = \"O\";
checker = false;
}
score();
btn7->Enabled = false;
}
private: System::Void btn8_Click(System::Object^ sender, System::EventArgs^ e) {
if (checker == false) {
btn8->Text = \"X\";
checker = true;
}
else {
btn8->Text = \"O\";
checker = false;
}
score();
btn8->Enabled = false;
}
private: System::Void btn9_Click(System::Object^ sender, System::EventArgs^ e) {
if (checker == false) {
btn9->Text = \"X\";
checker = true;
}
else {
btn9->Text = \"O\";
checker = false;
}
score();
btn9->Enabled = false;
}
private: System::Void reset_Click(System::Object^ sender, System::EventArgs^ e) {
btn1->Enabled = true;
btn2->Enabled = true;
btn3->Enabled = true;
btn4->Enabled = true;
btn5->Enabled = true;
btn6->Enabled = true;
btn7->Enabled = true;
btn8->Enabled = true;
btn9->Enabled = true;
btn1->Text = \"\";
btn2->Text = \"\";
btn3->Text = \"\";
btn4->Text = \"\";
btn5->Text = \"\";
btn6->Text = \"\";
btn7->Text = \"\";
btn8->Text = \"\";
btn9->Text = \"\";
newbtn->Enabled = true;
btn1->BackColor = System::Drawing::Color::WhiteSmoke;
btn2->BackColor = System::Drawing::Color::WhiteSmoke;
btn3->BackColor = System::Drawing::Color::WhiteSmoke;
btn4->BackColor = System::Drawing::Color::WhiteSmoke;
btn5->BackColor = System::Drawing::Color::WhiteSmoke;
btn6->BackColor = System::Drawing::Color::WhiteSmoke;
btn7->BackColor = System::Drawing::Color::WhiteSmoke;
btn8->BackColor = System::Drawing::Color::WhiteSmoke;
btn9->BackColor = System::Drawing::Color::WhiteSmoke;
}
private: System::Void newBtn_Click(System::Object^ sender, System::EventArgs^ e) {
btn1->Enabled = true;
btn2->Enabled = true;
btn3->Enabled = true;
btn4->Enabled = true;
btn5->Enabled = true;
btn6->Enabled = true;
btn7->Enabled = true;
btn8->Enabled = true;
btn9->Enabled = true;
btn1->Text = \"\";
btn2->Text = \"\";
btn3->Text = \"\";
btn4->Text = \"\";
btn5->Text = \"\";
btn6->Text = \"\";
btn7->Text = \"\";
btn8->Text = \"\";
btn9->Text = \"\";
playerx->Text = \"0\";
playero->Text = \"0\";
btn1->BackColor = System::Drawing::Color::WhiteSmoke;
btn2->BackColor = System::Drawing::Color::WhiteSmoke;
btn3->BackColor = System::Drawing::Color::WhiteSmoke;
btn4->BackColor = System::Drawing::Color::WhiteSmoke;
btn5->BackColor = System::Drawing::Color::WhiteSmoke;
btn6->BackColor = System::Drawing::Color::WhiteSmoke;
btn7->BackColor = System::Drawing::Color::WhiteSmoke;
btn8->BackColor = System::Drawing::Color::WhiteSmoke;
btn9->BackColor = System::Drawing::Color::WhiteSmoke;
}
-
跟随视频编写程序的主要问题之一是您绕过了编程的几个关键方面。你必须知道什么你正在做并且为什么,以便有机会了解哪里出了问题、如何隔离它以及如何修复它。您可以通过编写自己的小程序、在您所知道的知识和经常测试的基础上逐步构建来有机地发展这些技能。没有捷径可走。
标签: c++ visual-studio winforms tic-tac-toe