oregon ha scritto:
Calma ...
1) che tipo di progetto hai creato esattamente?
2) quale codice hai scritto?
3) hai una funzione main ?
1) Ho fatto : FILE -> Nuovo -> Progetto... -> Visual C++ -> CLR -> progetto CLR vuoto ; poi ho aggiunto la Form facendo: PROGETTO -> Aggiungi nuovo elemento... -> UI -> Windows Form.
2)questo è tutto il MyForm.h :
#pragma once
namespace EsercitazioneProva_GiongoDaniele {
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
char tris[3][3] = {{ ' ', ' ', ' ' }, { ' ', ' ', ' ' }, { ' ', ' ', ' ' } };
typedef enum TBoolen { FALSE, TRUE };
/// <summary>
/// Riepilogo per MyForm
/// </summary>
public ref class MyForm : public System::Windows::Forms::Form
{
public:
MyForm(void)
{
InitializeComponent();
char tris[3][3] = {{ ' ', ' ', ' ' }, { ' ', ' ', ' ' }, { ' ', ' ', ' ' } };
textBox1->Text = " ";
textBox2->Text = " ";
textBox3->Text = " ";
textBox4->Text = " ";
textBox5->Text = " ";
textBox6->Text = " ";
textBox7->Text = " ";
textBox8->Text = " ";
textBox9->Text = " ";
}
protected:
/// <summary>
/// Pulire le risorse in uso.
/// </summary>
~MyForm()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::Button^ btnRestart;
protected:
protected:
private: System::Windows::Forms::TextBox^ textBox9;
private: System::Windows::Forms::TextBox^ textBox8;
private: System::Windows::Forms::TextBox^ textBox7;
private: System::Windows::Forms::TextBox^ textBox6;
private: System::Windows::Forms::TextBox^ textBox5;
private: System::Windows::Forms::TextBox^ textBox4;
private: System::Windows::Forms::TextBox^ textBox3;
private: System::Windows::Forms::TextBox^ textBox2;
private: System::Windows::Forms::TextBox^ textBox1;
protected:
private:
/// <summary>
/// Variabile di progettazione necessaria.
/// </summary>
System::ComponentModel::Container ^components;
#pragma region Windows Form Designer generated code
/// <summary>
/// Metodo necessario per il supporto della finestra di progettazione. Non modificare
/// il contenuto del metodo con l'editor di codice.
/// </summary>
void InitializeComponent(void)
{
this->btnRestart = (gcnew System::Windows::Forms::Button());
this->textBox9 = (gcnew System::Windows::Forms::TextBox());
this->textBox8 = (gcnew System::Windows::Forms::TextBox());
this->textBox7 = (gcnew System::Windows::Forms::TextBox());
this->textBox6 = (gcnew System::Windows::Forms::TextBox());
this->textBox5 = (gcnew System::Windows::Forms::TextBox());
this->textBox4 = (gcnew System::Windows::Forms::TextBox());
this->textBox3 = (gcnew System::Windows::Forms::TextBox());
this->textBox2 = (gcnew System::Windows::Forms::TextBox());
this->textBox1 = (gcnew System::Windows::Forms::TextBox());
this->SuspendLayout();
//
// btnRestart
//
this->btnRestart->Location = System::Drawing::Point(12, 246);
this->btnRestart->Name = L"btnRestart";
this->btnRestart->Size = System::Drawing::Size(237, 38);
this->btnRestart->TabIndex = 19;
this->btnRestart->Text = L"Restart";
this->btnRestart->UseVisualStyleBackColor = true;
this->btnRestart->Click += gcnew System::EventHandler(this, &MyForm::button1_Click);
//
// textBox9
//
this->textBox9->Location = System::Drawing::Point(174, 168);
this->textBox9->Multiline = true;
this->textBox9->Name = L"textBox9";
this->textBox9->ReadOnly = true;
this->textBox9->Size = System::Drawing::Size(75, 72);
this->textBox9->TabIndex = 18;
this->textBox9->Click += gcnew System::EventHandler(this, &MyForm::button9_Click);
//
// textBox8
//
this->textBox8->Location = System::Drawing::Point(93, 168);
this->textBox8->Multiline = true;
this->textBox8->Name = L"textBox8";
this->textBox8->ReadOnly = true;
this->textBox8->Size = System::Drawing::Size(75, 72);
this->textBox8->TabIndex = 17;
this->textBox8->Click += gcnew System::EventHandler(this, &MyForm::button8_Click);
//
// textBox7
//
this->textBox7->Location = System::Drawing::Point(12, 168);
this->textBox7->Multiline = true;
this->textBox7->Name = L"textBox7";
this->textBox7->ReadOnly = true;
this->textBox7->Size = System::Drawing::Size(75, 72);
this->textBox7->TabIndex = 16;
this->textBox7->Click += gcnew System::EventHandler(this, &MyForm::button7_Click);
//
// textBox6
//
this->textBox6->Location = System::Drawing::Point(174, 90);
this->textBox6->Multiline = true;
this->textBox6->Name = L"textBox6";
this->textBox6->ReadOnly = true;
this->textBox6->Size = System::Drawing::Size(75, 72);
this->textBox6->TabIndex = 15;
this->textBox6->Click += gcnew System::EventHandler(this, &MyForm::button6_Click);
//
// textBox5
//
this->textBox5->Location = System::Drawing::Point(93, 90);
this->textBox5->Multiline = true;
this->textBox5->Name = L"textBox5";
this->textBox5->ReadOnly = true;
this->textBox5->Size = System::Drawing::Size(75, 72);
this->textBox5->TabIndex = 14;
this->textBox5->Click += gcnew System::EventHandler(this, &MyForm::button5_Click);
//
// textBox4
//
this->textBox4->Location = System::Drawing::Point(12, 90);
this->textBox4->Multiline = true;
this->textBox4->Name = L"textBox4";
this->textBox4->ReadOnly = true;
this->textBox4->Size = System::Drawing::Size(75, 72);
this->textBox4->TabIndex = 13;
this->textBox4->Click += gcnew System::EventHandler(this, &MyForm::button4_Click);
//
// textBox3
//
this->textBox3->Location = System::Drawing::Point(174, 12);
this->textBox3->Multiline = true;
this->textBox3->Name = L"textBox3";
this->textBox3->ReadOnly = true;
this->textBox3->Size = System::Drawing::Size(75, 72);
this->textBox3->TabIndex = 12;
this->textBox3->Click += gcnew System::EventHandler(this, &MyForm::button3_Click);
//
// textBox2
//
this->textBox2->Location = System::Drawing::Point(93, 12);
this->textBox2->Multiline = true;
this->textBox2->Name = L"textBox2";
this->textBox2->ReadOnly = true;
this->textBox2->Size = System::Drawing::Size(75, 72);
this->textBox2->TabIndex = 11;
this->textBox2->Click += gcnew System::EventHandler(this, &MyForm::button2_Click);
//
// textBox1
//
this->textBox1->Location = System::Drawing::Point(12, 12);
this->textBox1->Multiline = true;
this->textBox1->Name = L"textBox1";
this->textBox1->ReadOnly = true;
this->textBox1->Size = System::Drawing::Size(75, 72);
this->textBox1->TabIndex = 10;
this->textBox1->Click += gcnew System::EventHandler(this, &MyForm::button1_Click);
//
// MyForm
//
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->BackColor = System::Drawing::SystemColors::ButtonHighlight;
this->ClientSize = System::Drawing::Size(263, 296);
this->Controls->Add(this->btnRestart);
this->Controls->Add(this->textBox9);
this->Controls->Add(this->textBox8);
this->Controls->Add(this->textBox7);
this->Controls->Add(this->textBox6);
this->Controls->Add(this->textBox5);
this->Controls->Add(this->textBox4);
this->Controls->Add(this->textBox3);
this->Controls->Add(this->textBox2);
this->Controls->Add(this->textBox1);
this->Name = L"MyForm";
this->Text = L"Preparazione Verifica";
this->ResumeLayout(false);
this->PerformLayout();
}
#pragma endregion
private: System::Void btnRestart_Click(System::Object^ sender, System::EventArgs^ e) {
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
tris
[j] = ' ';
}
}
textBox1->Text = " ";
textBox2->Text = " ";
textBox3->Text = " ";
textBox4->Text = " ";
textBox5->Text = " ";
textBox6->Text = " ";
textBox7->Text = " ";
textBox8->Text = " ";
textBox9->Text = " ";
}
bool controllaVincente()
{
bool vinto = false;
for (int i = 0; i < 3 && !vinto; i++)
{
if (tris[0] == tris[1] && tris[1] == tris[2] && !vinto)
{
if (tris[0] == 'X')
{
MessageBox::Show("Ha vinto l'utente");
vinto = true;
}
else if (tris[0] == 'O')
{
MessageBox::Show("Ha vinto il PC");
vinto = true;
}
}
}
for (int i = 0; i < 3 && !vinto; i++)
{
if (tris[0] == tris[1] && tris[1] == tris[2][i] && !vinto)
{
if (tris[0][i] == 'X')
{
MessageBox::Show("Ha vinto l'utente");
vinto = true;
}
else if (tris[0][i] == 'O')
{
MessageBox::Show("Ha vinto il PC");
vinto = true;
}
}
}
if (tris[0][0] == tris[1][1] && tris[1][1] == tris[2][2] && !vinto)
{
if (tris[1][1] == 'X')
{
MessageBox::Show("Ha vinto l'utente");
vinto = true;
}
else if (tris[1][1] == 'O')
{
MessageBox::Show("Ha vinto il PC");
vinto = true;
}
}
if (tris[0][2] == tris[1][1] && tris[1][1] == tris[2][0] && !vinto)
{
if (tris[1][1] == 'X')
{
MessageBox::Show("Ha vinto l'utente");
vinto = true;
}
else if (tris[1][1] == 'O')
{
MessageBox::Show("Ha vinto il PC");
vinto = true;
}
}
return vinto;
}
bool vuoto(int r,int c)
{
bool vuoto = false;
if (tris[r][c] == ' ')
{
vuoto = true;
}
return vuoto;
}
void mossaPC()
{
bool esci = false;
for (int i = 0; i < 3 && !esci; i++)
{
for (int j = 0; j < 3 && !esci; j++)
{
if (vuoto(i, j))
{
tris[i][j] = 'O';
esci = true;
}
}
}
}
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
if (!controllaVincente())
{
if (vuoto(0, 0))
{
tris[0][0] = 'X';
textBox1->Text = "X";
mossaPC();
}
MessageBox::Show("C'è gia dentro qualcosa!");
}
}
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
if (!controllaVincente())
{
if (vuoto(0, 1))
{
tris[0][1] = 'X';
textBox1->Text = "X";
mossaPC();
}
MessageBox::Show("C'è gia dentro qualcosa!");
}
}
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) {
if (!controllaVincente())
{
if (vuoto(0, 2))
{
tris[0][2] = 'X';
textBox1->Text = "X";
mossaPC();
}
MessageBox::Show("C'è gia dentro qualcosa!");
}
}
private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e) {
if (!controllaVincente())
{
if (vuoto(1, 0))
{
tris[1][0] = 'X';
textBox1->Text = "X";
mossaPC();
}
MessageBox::Show("C'è gia dentro qualcosa!");
}
}
private: System::Void button5_Click(System::Object^ sender, System::EventArgs^ e) {
if (!controllaVincente())
{
if (vuoto(1, 1))
{
tris[1][1] = 'X';
textBox1->Text = "X";
mossaPC();
}
MessageBox::Show("C'è gia dentro qualcosa!");
}
}
private: System::Void button6_Click(System::Object^ sender, System::EventArgs^ e) {
if (!controllaVincente())
{
if (vuoto(1, 2))
{
tris[1][2] = 'X';
textBox1->Text = "X";
mossaPC();
}
MessageBox::Show("C'è gia dentro qualcosa!");
}
}
private: System::Void button7_Click(System::Object^ sender, System::EventArgs^ e) {
if (!controllaVincente())
{
if (vuoto(2, 0))
{
tris[2][0] = 'X';
textBox1->Text = "X";
mossaPC();
}
MessageBox::Show("C'è gia dentro qualcosa!");
}
}
private: System::Void button8_Click(System::Object^ sender, System::EventArgs^ e) {
if (!controllaVincente())
{
if (vuoto(2, 1))
{
tris[2][1] = 'X';
textBox1->Text = "X";
mossaPC();
}
MessageBox::Show("C'è gia dentro qualcosa!");
}
}
private: System::Void button9_Click(System::Object^ sender, System::EventArgs^ e) {
if (!controllaVincente())
{
if (vuoto(2, 2))
{
tris[2][2] = 'X';
textBox1->Text = "X";
mossaPC();
}
MessageBox::Show("C'è gia dentro qualcosa!");
}
}
};
}
3) no, non ho una funzione main.
Grazie per avermi risposto