diff --git a/App.config b/App.config new file mode 100644 index 0000000..2018128 --- /dev/null +++ b/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs new file mode 100644 index 0000000..ed1a268 --- /dev/null +++ b/MainForm.Designer.cs @@ -0,0 +1,328 @@ + +namespace Tic_Tac_Toe +{ + partial class MainForm + { + /// + /// Erforderliche Designervariable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Verwendete Ressourcen bereinigen. + /// + /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Vom Windows Form-Designer generierter Code + + /// + /// Erforderliche Methode für die Designerunterstützung. + /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.toolTip = new System.Windows.Forms.ToolTip(this.components); + this.tabPageGame3x3 = new System.Windows.Forms.TabPage(); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonField33 = new System.Windows.Forms.Button(); + this.buttonField32 = new System.Windows.Forms.Button(); + this.buttonField31 = new System.Windows.Forms.Button(); + this.buttonField23 = new System.Windows.Forms.Button(); + this.buttonField22 = new System.Windows.Forms.Button(); + this.buttonField21 = new System.Windows.Forms.Button(); + this.buttonField13 = new System.Windows.Forms.Button(); + this.buttonField12 = new System.Windows.Forms.Button(); + this.buttonField11 = new System.Windows.Forms.Button(); + this.statusStrip = new System.Windows.Forms.StatusStrip(); + this.toolStripContainer = new System.Windows.Forms.ToolStripContainer(); + this.tabControlGame = new System.Windows.Forms.TabControl(); + this.toolStrip = new System.Windows.Forms.ToolStrip(); + this.tabPageGame3x3.SuspendLayout(); + this.tableLayoutPanel1.SuspendLayout(); + this.toolStripContainer.BottomToolStripPanel.SuspendLayout(); + this.toolStripContainer.ContentPanel.SuspendLayout(); + this.toolStripContainer.TopToolStripPanel.SuspendLayout(); + this.toolStripContainer.SuspendLayout(); + this.tabControlGame.SuspendLayout(); + this.SuspendLayout(); + // + // tabPageGame3x3 + // + this.tabPageGame3x3.Controls.Add(this.tableLayoutPanel1); + this.tabPageGame3x3.Location = new System.Drawing.Point(4, 22); + this.tabPageGame3x3.Name = "tabPageGame3x3"; + this.tabPageGame3x3.Padding = new System.Windows.Forms.Padding(3); + this.tabPageGame3x3.Size = new System.Drawing.Size(224, 224); + this.tabPageGame3x3.TabIndex = 0; + this.tabPageGame3x3.Text = "3x3"; + this.toolTip.SetToolTip(this.tabPageGame3x3, "Game 3x3"); + this.tabPageGame3x3.ToolTipText = "Game 3x3"; + this.tabPageGame3x3.UseVisualStyleBackColor = true; + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.ColumnCount = 3; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); + this.tableLayoutPanel1.Controls.Add(this.buttonField33, 2, 2); + this.tableLayoutPanel1.Controls.Add(this.buttonField32, 1, 2); + this.tableLayoutPanel1.Controls.Add(this.buttonField31, 0, 2); + this.tableLayoutPanel1.Controls.Add(this.buttonField23, 2, 1); + this.tableLayoutPanel1.Controls.Add(this.buttonField22, 1, 1); + this.tableLayoutPanel1.Controls.Add(this.buttonField21, 0, 1); + this.tableLayoutPanel1.Controls.Add(this.buttonField13, 2, 0); + this.tableLayoutPanel1.Controls.Add(this.buttonField12, 1, 0); + this.tableLayoutPanel1.Controls.Add(this.buttonField11, 0, 0); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel1.Location = new System.Drawing.Point(3, 3); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 3; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(218, 218); + this.tableLayoutPanel1.TabIndex = 0; + // + // buttonField33 + // + this.buttonField33.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonField33.AutoEllipsis = true; + this.buttonField33.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonField33.Font = new System.Drawing.Font("Segoe UI", 36F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonField33.Location = new System.Drawing.Point(144, 144); + this.buttonField33.Margin = new System.Windows.Forms.Padding(0); + this.buttonField33.Name = "buttonField33"; + this.buttonField33.Size = new System.Drawing.Size(74, 74); + this.buttonField33.TabIndex = 8; + this.buttonField33.TabStop = false; + this.buttonField33.UseVisualStyleBackColor = true; + this.buttonField33.Click += new System.EventHandler(this.ButtonField33_Click); + // + // buttonField32 + // + this.buttonField32.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonField32.AutoEllipsis = true; + this.buttonField32.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonField32.Font = new System.Drawing.Font("Segoe UI", 36F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonField32.Location = new System.Drawing.Point(72, 144); + this.buttonField32.Margin = new System.Windows.Forms.Padding(0); + this.buttonField32.Name = "buttonField32"; + this.buttonField32.Size = new System.Drawing.Size(72, 74); + this.buttonField32.TabIndex = 7; + this.buttonField32.TabStop = false; + this.buttonField32.UseVisualStyleBackColor = true; + this.buttonField32.Click += new System.EventHandler(this.ButtonField32_Click); + // + // buttonField31 + // + this.buttonField31.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonField31.AutoEllipsis = true; + this.buttonField31.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonField31.Font = new System.Drawing.Font("Segoe UI", 36F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonField31.Location = new System.Drawing.Point(0, 144); + this.buttonField31.Margin = new System.Windows.Forms.Padding(0); + this.buttonField31.Name = "buttonField31"; + this.buttonField31.Size = new System.Drawing.Size(72, 74); + this.buttonField31.TabIndex = 6; + this.buttonField31.TabStop = false; + this.buttonField31.UseVisualStyleBackColor = true; + this.buttonField31.Click += new System.EventHandler(this.ButtonField31_Click); + // + // buttonField23 + // + this.buttonField23.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonField23.AutoEllipsis = true; + this.buttonField23.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonField23.Font = new System.Drawing.Font("Segoe UI", 36F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonField23.Location = new System.Drawing.Point(144, 72); + this.buttonField23.Margin = new System.Windows.Forms.Padding(0); + this.buttonField23.Name = "buttonField23"; + this.buttonField23.Size = new System.Drawing.Size(74, 72); + this.buttonField23.TabIndex = 5; + this.buttonField23.TabStop = false; + this.buttonField23.UseVisualStyleBackColor = true; + this.buttonField23.Click += new System.EventHandler(this.ButtonField23_Click); + // + // buttonField22 + // + this.buttonField22.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonField22.AutoEllipsis = true; + this.buttonField22.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonField22.Font = new System.Drawing.Font("Segoe UI", 36F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonField22.Location = new System.Drawing.Point(72, 72); + this.buttonField22.Margin = new System.Windows.Forms.Padding(0); + this.buttonField22.Name = "buttonField22"; + this.buttonField22.Size = new System.Drawing.Size(72, 72); + this.buttonField22.TabIndex = 4; + this.buttonField22.TabStop = false; + this.buttonField22.UseVisualStyleBackColor = true; + this.buttonField22.Click += new System.EventHandler(this.ButtonField22_Click); + // + // buttonField21 + // + this.buttonField21.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonField21.AutoEllipsis = true; + this.buttonField21.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonField21.Font = new System.Drawing.Font("Segoe UI", 36F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonField21.Location = new System.Drawing.Point(0, 72); + this.buttonField21.Margin = new System.Windows.Forms.Padding(0); + this.buttonField21.Name = "buttonField21"; + this.buttonField21.Size = new System.Drawing.Size(72, 72); + this.buttonField21.TabIndex = 3; + this.buttonField21.TabStop = false; + this.buttonField21.UseVisualStyleBackColor = true; + this.buttonField21.Click += new System.EventHandler(this.ButtonField21_Click); + // + // buttonField13 + // + this.buttonField13.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonField13.AutoEllipsis = true; + this.buttonField13.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonField13.Font = new System.Drawing.Font("Segoe UI", 36F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonField13.Location = new System.Drawing.Point(144, 0); + this.buttonField13.Margin = new System.Windows.Forms.Padding(0); + this.buttonField13.Name = "buttonField13"; + this.buttonField13.Size = new System.Drawing.Size(74, 72); + this.buttonField13.TabIndex = 2; + this.buttonField13.TabStop = false; + this.buttonField13.UseVisualStyleBackColor = true; + this.buttonField13.Click += new System.EventHandler(this.ButtonField13_Click); + // + // buttonField12 + // + this.buttonField12.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonField12.AutoEllipsis = true; + this.buttonField12.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonField12.Font = new System.Drawing.Font("Segoe UI", 36F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonField12.Location = new System.Drawing.Point(72, 0); + this.buttonField12.Margin = new System.Windows.Forms.Padding(0); + this.buttonField12.Name = "buttonField12"; + this.buttonField12.Size = new System.Drawing.Size(72, 72); + this.buttonField12.TabIndex = 1; + this.buttonField12.TabStop = false; + this.buttonField12.UseVisualStyleBackColor = true; + this.buttonField12.Click += new System.EventHandler(this.ButtonField12_Click); + // + // buttonField11 + // + this.buttonField11.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonField11.AutoSize = true; + this.buttonField11.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonField11.Font = new System.Drawing.Font("Segoe UI", 36F, System.Drawing.FontStyle.Bold); + this.buttonField11.Location = new System.Drawing.Point(0, 0); + this.buttonField11.Margin = new System.Windows.Forms.Padding(0); + this.buttonField11.Name = "buttonField11"; + this.buttonField11.Size = new System.Drawing.Size(72, 72); + this.buttonField11.TabIndex = 0; + this.buttonField11.TabStop = false; + this.buttonField11.UseVisualStyleBackColor = true; + this.buttonField11.Click += new System.EventHandler(this.ButtonField11_Click); + // + // statusStrip + // + this.statusStrip.Dock = System.Windows.Forms.DockStyle.None; + this.statusStrip.Location = new System.Drawing.Point(0, 0); + this.statusStrip.Name = "statusStrip"; + this.statusStrip.RenderMode = System.Windows.Forms.ToolStripRenderMode.ManagerRenderMode; + this.statusStrip.Size = new System.Drawing.Size(232, 22); + this.statusStrip.TabIndex = 0; + this.statusStrip.Text = "statusStrip"; + // + // toolStripContainer + // + // + // toolStripContainer.BottomToolStripPanel + // + this.toolStripContainer.BottomToolStripPanel.Controls.Add(this.statusStrip); + // + // toolStripContainer.ContentPanel + // + this.toolStripContainer.ContentPanel.Controls.Add(this.tabControlGame); + this.toolStripContainer.ContentPanel.Size = new System.Drawing.Size(232, 250); + this.toolStripContainer.Dock = System.Windows.Forms.DockStyle.Fill; + this.toolStripContainer.Location = new System.Drawing.Point(0, 0); + this.toolStripContainer.Name = "toolStripContainer"; + this.toolStripContainer.Size = new System.Drawing.Size(232, 297); + this.toolStripContainer.TabIndex = 1; + this.toolStripContainer.Text = "toolStripContainer"; + // + // toolStripContainer.TopToolStripPanel + // + this.toolStripContainer.TopToolStripPanel.Controls.Add(this.toolStrip); + // + // tabControlGame + // + this.tabControlGame.Controls.Add(this.tabPageGame3x3); + this.tabControlGame.Dock = System.Windows.Forms.DockStyle.Fill; + this.tabControlGame.HotTrack = true; + this.tabControlGame.Location = new System.Drawing.Point(0, 0); + this.tabControlGame.Multiline = true; + this.tabControlGame.Name = "tabControlGame"; + this.tabControlGame.SelectedIndex = 0; + this.tabControlGame.ShowToolTips = true; + this.tabControlGame.Size = new System.Drawing.Size(232, 250); + this.tabControlGame.TabIndex = 1; + // + // toolStrip + // + this.toolStrip.Dock = System.Windows.Forms.DockStyle.None; + this.toolStrip.Location = new System.Drawing.Point(0, 0); + this.toolStrip.Name = "toolStrip"; + this.toolStrip.Size = new System.Drawing.Size(232, 25); + this.toolStrip.Stretch = true; + this.toolStrip.TabIndex = 0; + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(232, 297); + this.Controls.Add(this.toolStripContainer); + this.Name = "MainForm"; + this.Text = "Form1"; + this.tabPageGame3x3.ResumeLayout(false); + this.tableLayoutPanel1.ResumeLayout(false); + this.tableLayoutPanel1.PerformLayout(); + this.toolStripContainer.BottomToolStripPanel.ResumeLayout(false); + this.toolStripContainer.BottomToolStripPanel.PerformLayout(); + this.toolStripContainer.ContentPanel.ResumeLayout(false); + this.toolStripContainer.TopToolStripPanel.ResumeLayout(false); + this.toolStripContainer.TopToolStripPanel.PerformLayout(); + this.toolStripContainer.ResumeLayout(false); + this.toolStripContainer.PerformLayout(); + this.tabControlGame.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ToolTip toolTip; + private System.Windows.Forms.StatusStrip statusStrip; + private System.Windows.Forms.ToolStripContainer toolStripContainer; + private System.Windows.Forms.TabControl tabControlGame; + private System.Windows.Forms.TabPage tabPageGame3x3; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private System.Windows.Forms.Button buttonField33; + private System.Windows.Forms.Button buttonField32; + private System.Windows.Forms.Button buttonField31; + private System.Windows.Forms.Button buttonField23; + private System.Windows.Forms.Button buttonField22; + private System.Windows.Forms.Button buttonField21; + private System.Windows.Forms.Button buttonField13; + private System.Windows.Forms.Button buttonField12; + private System.Windows.Forms.Button buttonField11; + private System.Windows.Forms.ToolStrip toolStrip; + } +} + diff --git a/MainForm.cs b/MainForm.cs new file mode 100644 index 0000000..739c696 --- /dev/null +++ b/MainForm.cs @@ -0,0 +1,140 @@ +using System; +using System.Windows.Forms; + +namespace Tic_Tac_Toe +{ + public partial class MainForm : Form + { + bool isPlayer1Playing = true; + public MainForm() + { + InitializeComponent(); + } + + private bool IsSameText(string string1, string string2, string string3) => string.Compare(string1, string2) == 0 && string.Compare(string2, string3) == 0; + + private bool CheckIfSomebodyWons() + { + if (string.IsNullOrEmpty(buttonField11.Text) || + string.IsNullOrEmpty(buttonField12.Text) || + string.IsNullOrEmpty(buttonField13.Text) || + string.IsNullOrEmpty(buttonField21.Text) || + string.IsNullOrEmpty(buttonField22.Text) || + string.IsNullOrEmpty(buttonField23.Text) || + string.IsNullOrEmpty(buttonField31.Text) || + string.IsNullOrEmpty(buttonField32.Text) || + string.IsNullOrEmpty(buttonField33.Text) + ) + { + return false; + } + return IsSameText(buttonField11.Text, buttonField12.Text, buttonField13.Text) || + IsSameText(buttonField21.Text, buttonField22.Text, buttonField23.Text) || + IsSameText(buttonField31.Text, buttonField32.Text, buttonField33.Text) || + IsSameText(buttonField11.Text, buttonField21.Text, buttonField31.Text) || + IsSameText(buttonField12.Text, buttonField22.Text, buttonField32.Text) || + IsSameText(buttonField13.Text, buttonField23.Text, buttonField33.Text) || + IsSameText(buttonField11.Text, buttonField22.Text, buttonField33.Text) || + IsSameText(buttonField13.Text, buttonField22.Text, buttonField31.Text); + } + + private void ButtonField11_Click(object sender, EventArgs e) + { + buttonField11.Text = isPlayer1Playing ? "O" : "X"; + isPlayer1Playing = !isPlayer1Playing; + buttonField11.Enabled = false; + if (CheckIfSomebodyWons()) + { + MessageBox.Show("Gewonnen"); + } + } + + private void ButtonField12_Click(object sender, EventArgs e) + { + buttonField12.Text = isPlayer1Playing ? "O" : "X"; + isPlayer1Playing = !isPlayer1Playing; + buttonField12.Enabled = false; + if (CheckIfSomebodyWons()) + { + MessageBox.Show("Gewonnen"); + } + } + + private void ButtonField13_Click(object sender, EventArgs e) + { + buttonField13.Text = isPlayer1Playing ? "O" : "X"; + isPlayer1Playing = !isPlayer1Playing; + buttonField13.Enabled = false; + if (CheckIfSomebodyWons()) + { + MessageBox.Show("Gewonnen"); + } + } + + private void ButtonField21_Click(object sender, EventArgs e) + { + buttonField21.Text = isPlayer1Playing ? "O" : "X"; + isPlayer1Playing = !isPlayer1Playing; + buttonField21.Enabled = false; + if (CheckIfSomebodyWons()) + { + MessageBox.Show("Gewonnen"); + } + } + + private void ButtonField22_Click(object sender, EventArgs e) + { + buttonField22.Text = isPlayer1Playing ? "O" : "X"; + isPlayer1Playing = !isPlayer1Playing; + buttonField22.Enabled = false; + if (CheckIfSomebodyWons()) + { + MessageBox.Show("Gewonnen"); + } + } + + private void ButtonField23_Click(object sender, EventArgs e) + { + buttonField23.Text = isPlayer1Playing ? "O" : "X"; + isPlayer1Playing = !isPlayer1Playing; + buttonField23.Enabled = false; + if (CheckIfSomebodyWons()) + { + MessageBox.Show("Gewonnen"); + } + } + + private void ButtonField31_Click(object sender, EventArgs e) + { + buttonField31.Text = isPlayer1Playing ? "O" : "X"; + isPlayer1Playing = !isPlayer1Playing; + buttonField31.Enabled = false; + if (CheckIfSomebodyWons()) + { + MessageBox.Show("Gewonnen"); + } + } + + private void ButtonField32_Click(object sender, EventArgs e) + { + buttonField32.Text = isPlayer1Playing ? "O" : "X"; + isPlayer1Playing = !isPlayer1Playing; + buttonField32.Enabled = false; + if (CheckIfSomebodyWons()) + { + MessageBox.Show("Gewonnen"); + } + } + + private void ButtonField33_Click(object sender, EventArgs e) + { + buttonField33.Text = isPlayer1Playing ? "O" : "X"; + isPlayer1Playing = !isPlayer1Playing; + buttonField33.Enabled = false; + if (CheckIfSomebodyWons()) + { + MessageBox.Show("Gewonnen"); + } + } + } +} diff --git a/MainForm.resx b/MainForm.resx new file mode 100644 index 0000000..5cd30fe --- /dev/null +++ b/MainForm.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 114, 17 + + + 223, 17 + + \ No newline at end of file diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..d49aca2 --- /dev/null +++ b/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Tic_Tac_Toe +{ + static class Program + { + /// + /// Der Haupteinstiegspunkt für die Anwendung. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new MainForm()); + } + } +} diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..cca8aad --- /dev/null +++ b/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die einer Assembly zugeordnet sind. +[assembly: AssemblyTitle("Tic Tac Toe")] +[assembly: AssemblyDescription("The game Tic Tac Toe")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Mijo Software")] +[assembly: AssemblyProduct("Tic Tac Toe")] +[assembly: AssemblyCopyright("2023 Mijo Software")] +[assembly: AssemblyTrademark("Tic Tac Toe")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly +// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von +// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("ed14c7ef-5a78-4d5d-b564-f154fc864034")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +// indem Sie "*" wie unten gezeigt eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("0.0.1.1")] +[assembly: AssemblyFileVersion("0.0.1.1")] diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs new file mode 100644 index 0000000..e04794f --- /dev/null +++ b/Properties/Resources.Designer.cs @@ -0,0 +1,70 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion: 4.0.30319.42000 +// +// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn +// der Code neu generiert wird. +// +//------------------------------------------------------------------------------ + + +namespace Tic_Tac_Toe.Properties +{ + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder-Klasse + // über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der Option /str erneut aus, oder erstellen Sie Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Tic_Tac_Toe.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenlookups, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Properties/Resources.resx b/Properties/Resources.resx new file mode 100644 index 0000000..ffecec8 --- /dev/null +++ b/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Properties/Settings.Designer.cs b/Properties/Settings.Designer.cs new file mode 100644 index 0000000..880a4a4 --- /dev/null +++ b/Properties/Settings.Designer.cs @@ -0,0 +1,29 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + + +namespace Tic_Tac_Toe.Properties +{ + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Properties/Settings.settings b/Properties/Settings.settings new file mode 100644 index 0000000..abf36c5 --- /dev/null +++ b/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Resources/tic-tac-toe-512px.png b/Resources/tic-tac-toe-512px.png new file mode 100644 index 0000000..4ebd3d3 Binary files /dev/null and b/Resources/tic-tac-toe-512px.png differ diff --git a/Resources/tic-tac-toe_logo-32px.ico b/Resources/tic-tac-toe_logo-32px.ico new file mode 100644 index 0000000..84fb42c Binary files /dev/null and b/Resources/tic-tac-toe_logo-32px.ico differ diff --git a/Resources/tic-tac-toe_logo-full.ico b/Resources/tic-tac-toe_logo-full.ico new file mode 100644 index 0000000..85ae052 Binary files /dev/null and b/Resources/tic-tac-toe_logo-full.ico differ diff --git a/Tic Tac Toe.csproj b/Tic Tac Toe.csproj new file mode 100644 index 0000000..1860e90 --- /dev/null +++ b/Tic Tac Toe.csproj @@ -0,0 +1,144 @@ + + + + + Debug + AnyCPU + {ED14C7EF-5A78-4D5D-B564-F154FC864034} + WinExe + Tic_Tac_Toe + Tic Tac Toe + v4.8.1 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + bin\Release\Tic Tac Toe.xml + true + AllRules.ruleset + true + + + true + bin\x64\Debug\ + DEBUG;TRACE + full + x64 + 7.3 + prompt + true + + + bin\x64\Release\ + TRACE + true + pdbonly + x64 + 7.3 + prompt + true + bin\x64\Release\Tic Tac Toe.xml + true + AllRules.ruleset + true + + + true + bin\x86\Debug\ + DEBUG;TRACE + full + x86 + 7.3 + prompt + true + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + 7.3 + prompt + true + bin\x86\Release\Tic Tac Toe.xml + true + AllRules.ruleset + true + + + Tic_Tac_Toe.Program + + + tic-tac-toe_logo-full.ico + + + + + + + + + + + + + + + + + Form + + + MainForm.cs + + + + + MainForm.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + \ No newline at end of file diff --git a/Tic Tac Toe.sln b/Tic Tac Toe.sln new file mode 100644 index 0000000..a055316 --- /dev/null +++ b/Tic Tac Toe.sln @@ -0,0 +1,37 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.34114.132 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tic Tac Toe", "Tic Tac Toe.csproj", "{ED14C7EF-5A78-4D5D-B564-F154FC864034}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {ED14C7EF-5A78-4D5D-B564-F154FC864034}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ED14C7EF-5A78-4D5D-B564-F154FC864034}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ED14C7EF-5A78-4D5D-B564-F154FC864034}.Debug|x64.ActiveCfg = Debug|x64 + {ED14C7EF-5A78-4D5D-B564-F154FC864034}.Debug|x64.Build.0 = Debug|x64 + {ED14C7EF-5A78-4D5D-B564-F154FC864034}.Debug|x86.ActiveCfg = Debug|x86 + {ED14C7EF-5A78-4D5D-B564-F154FC864034}.Debug|x86.Build.0 = Debug|x86 + {ED14C7EF-5A78-4D5D-B564-F154FC864034}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ED14C7EF-5A78-4D5D-B564-F154FC864034}.Release|Any CPU.Build.0 = Release|Any CPU + {ED14C7EF-5A78-4D5D-B564-F154FC864034}.Release|x64.ActiveCfg = Release|x64 + {ED14C7EF-5A78-4D5D-B564-F154FC864034}.Release|x64.Build.0 = Release|x64 + {ED14C7EF-5A78-4D5D-B564-F154FC864034}.Release|x86.ActiveCfg = Release|x86 + {ED14C7EF-5A78-4D5D-B564-F154FC864034}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {210F37A3-F700-4F0C-98BD-4FA154E01DA2} + EndGlobalSection +EndGlobal