• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#实现简单的井字游戏实例

C#实现简单的井字游戏实例

作者:小卒过河 字体:[增加 减小] 来源:互联网 时间:2017-05-28

小卒过河 通过本文主要向大家介绍了马桶c的个人空间,c语言,欲情 c max,维生素c,crh2c等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了C#实现简单的井字游戏。分享给大家供大家参考。具体如下:

/*
 * Created using: SharpDevelop
 * Created by: Tony Misner
 * Date: 1/2/2007
 * Time: 2:34 PM
 * 
 */
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
namespace TicTacToe
{
  /// <summary>
  /// This is a basic one player versus computer game of TicTacToe
  /// </summary>
  public partial class frmMain
  {
   string playerTurn = "0";
   string playerSymbol = "X";
   string computerSymbol = "O";
   int playCounter = 0;
   [STAThread]
   public static void Main(string[] args)
   {
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new frmMain());
   }
   public frmMain()
   {
    InitializeComponent();  
   }
   void Label1Click(object sender, System.EventArgs e)
   {
    bool playerDone = false;
    string labelText = label1.Text;
    if (playerClick(labelText) == true)
    {
     label1.Text = playerSymbol;
     playerDone = true;
    }     
    else
    {
     return ;
    }
    if (checkWin() == true)
    {
     resetGame();
    }
    else
    {
     computerGo();
     if (checkWin() == true)
     {
       resetGame();
     }
    }
   }   
   void Label2Click(object sender, System.EventArgs e)
   {
    bool playerDone = false;
    string labelText = label2.Text;
    if (playerClick(labelText) == true)
    {
     label2.Text = playerSymbol;
     playerDone = true;
    }     
    else
    {
     return ;
    }
    if (checkWin() == true)
    {
     resetGame();
    }
    else
    {
     computerGo();
     if (checkWin() == true)
     {
       resetGame();
     }
    }
   }   
   void Label3Click(object sender, System.EventArgs e)
   {
    bool playerDone = false;
    string labelText = label3.Text;
    if (playerClick(labelText) == true)
    {
     label3.Text = playerSymbol;
     playerDone = true;
    }     
    else
    {
     return ;
    }
    if (checkWin() == true)
    {
     resetGame();
    }
    else
    {
     computerGo();
     if (checkWin() == true)
     {
       resetGame();
     }
    }
   }
   void Label4Click(object sender, System.EventArgs e)
   {
    bool playerDone = false;
    string labelText = label4.Text;
    if (playerClick(labelText) == true)
    {
     label4.Text = playerSymbol;
     playerDone = true;
    }     
    else
    {
     return ;
    }
    if (checkWin() == true)
    {
     resetGame();
    }
    else
    {
     computerGo();
     if (checkWin() == true)
     {
       resetGame();
     }
    }
   }   
   void Label5Click(object sender, System.EventArgs e)
   {
    bool playerDone = false;
    string labelText = label5.Text;
    if (playerClick(labelText) == true)
    {
     label5.Text = playerSymbol;
     playerDone = true;
    }     
    else
    {
     return ;
    }
    if (checkWin() == true)
    {
     resetGame();
    }
    else
    {
     computerGo();
     if (checkWin() == true)
     {
       resetGame();
     }
    }
   }   
   void Label6Click(object sender, System.EventArgs e)
   {
    bool playerDone = false;
    string labelText = label6.Text;
    if (playerClick(labelText) == true)
    {
     label6.Text = playerSymbol;
     playerDone = true;
    }     
    else
    {
     return ;
    }
    if (checkWin() == true)
    {
     resetGame();
    }
    else
    {
     computerGo();
     if (checkWin() == true)
     {
       resetGame();
     }
    }
   }   
   void Label7Click(object sender, System.EventArgs e)
   {
    bool playerDone = false;
    string labelText = label7.Text;
    if (playerClick(labelText) == true)
    {
     label7.Text = playerSymbol;
     playerDone = true;
    }     
    else
    {
     return ;
    }
    if (checkWin() == true)
    {
     resetGame();
    }
    else
    {
     computerGo();
     if (checkWin() == true)
     {
       resetGame();
     }
    }
   }   
   void Label8Click(object sender, System.EventArgs e)
   {
    bool playerDone = false;
    string labelText = label8.Text;
    if (playerClick(labelText) == true)
    {
     label8.Text = playerSymbol;
     playerDone = true;
    }     
    else
    {
     return ;
    }
    if (checkWin() == true)
    {
     resetGame();
    }
    else
    {
     computerGo();
     if (checkWin() == true)
     {
       resetGame();
     }
    }
   }
   void Label9Click(object sender, System.EventArgs e)
   {
    bool playerDone = false;
    string labelText = label9.Text;
    if (playerClick(labelText) == true)
    {
     label9.Text = playerSymbol;
     playerDone = true;
    }     
    else
    {
     return ;
    }
    if (checkWin() == true)
    {
     resetGame();
    }
    else
    {
     computerGo();
     if (checkWin() == true)
     {
       resetGame();
     }
    }
   }
   bool playerClick(string labelText)
   {
    if (playerTurn == "1" && labelText == "" && playCounter < 4)
    {
     playerTurn = "2";
     lblTurn.Text = "Player 2 Turn";
     playCounter++;
     return true;
    } else if (playCounter == 4)
    {
     toolStripTotal.Text = ((Convert.ToInt32(toolStripTotal.Text)) + 1).ToString();
     toolStripDraw.Text = ((Convert.ToInt32(toolStripDraw.Text)) + 1).ToString();
     MessageBox.Show("Draw","Game Over", MessageBoxButtons.OK, MessageBoxIcon.Stop);
     resetGame();
    }
    return false;
   }
   bool checkWin()
   {
    bool win = false;
    if (label1.Text == label2.Text && label2.Text == label3.Text && label1.Text != "")
    {
     win = true;
    }
    else if (label4.Text == label5.Text && label5.Text == label6.Text && label4.Text != "")
    {
     win = true;
    }
    else if (label7.Text == label8.Text && label8.Text == label9.Text && label7.Text != "")
    {
     win = true;
    }
    else if (label1.Text == label4.Text && label4.Text == label7.Text && label1.Text != "")
    {
     win = true;
    }
    else if (label2.Text == label5.Text && label5.Text == label8.Text && label2.Text != "")
    {
     win = true;
    }
    else if (label3.Text == label6.Text && label6.Text == label9.Text && label3.Text != "")
    {
     win = true;
    }
    else if (label1.Text == label5.Text && label5.Text == label9.Text && label1.Text != "")
    {
     win = true;
    }
    else if (label3.Text == label5.Text && label5.Text == label7.Text && label3.Text != "")
    {
     win = true;
    }
    if (win == true)
    {
     toolStripTotal.Text = ((Convert.ToInt32(toolStripTotal.Text)) + 1).ToString();
     if (playerTurn == "1")
     {
       toolStripLost.Text = ((Convert.ToInt32(toolStripLost.Text)) + 1).ToString();
       MessageBox.Show("Player 2 has won!","Game Over", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
       return win = true;
     }
     else
     {
       toolStripWon.Text = ((Convert.ToInt32(toolStripWon.Text)) + 1).ToString();
       MessageBox.Show("Player 1 has won!","Game Over", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
       return win = true;
     }
    }
    return win;
   }
   void resetGame()
   {
    label1.Text = "";
    label2.Text = "";
    label3.Text = "";
    label4.Text = "";
    label5.Text = "";
    label6.Text = "";
    label7.Text = "";
    label8.Text = "";
    label9.Text = "";
    playerTurn = "1";
    playCounter = 0;
    lblTurn.Text = "Player 1 Turn";
   }
   void computerGo()
   {
    bool computerDone = false;
    computerDone = computerGoForWin();
    if (computerDone == false)
    {
     computerDone = computerGoForBlock();
     if (computerDone == false)
     {
       computerDone = computerGoRandom();    
     }
    }




 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#利用ReportViewer生成报表
  • C#基于正则去掉注释的方法示例
  • C#中new的用法及与override的区别分析
  • C#实现两个richtextbox控件滚动条同步滚动的简单方法
  • C# for循环的经典案例集锦
  • C#操作word的方法示例
  • C#使用WebClient登录网站并抓取登录后的网页信息实现方法
  • C# WinForm制作异形窗体与控件的方法
  • C#实现Excel表数据导入Sql Server数据库中的方法
  • C#使用NPOI上传excel

相关文章

  • 2017-05-28C# NetRemoting实现双向通信
  • 2017-05-28C#操作 JSON方法汇总
  • 2017-05-28c#反射机制学习和利用反射获取类型信息
  • 2017-05-28C#中验证sql语句是否正确(不执行语句)
  • 2017-05-28C#自定义缓存封装类实例
  • 2017-05-28C#识别出图片里的数字和字母
  • 2017-05-28C# 实例化接口对象的方法
  • 2017-05-28C#实现word文件下载的代码
  • 2017-05-28C#生成XML的三种途径小结
  • 2017-05-28C#实现将数据导出到word或者Excel中的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • asp.net core项目mvc权限控制:分配权限
    • C#中控制远程计算机的服务的方法
    • C#自定义基于控制台的Timer实例
    • 使用设计模式中的工厂方法模式进行C#编程的示例讲解
    • 谈谈C# replace在正则表达式中的意义
    • C#基础语法:Base关键字学习笔记
    • C#操作EXCEL DataTable转换的实例代码
    • C#数据绑定(DataBinding)简单实现方法
    • winform 中显示异步下载的图片
    • C#基于DBContext(EF)实现通用增删改查的REST方法实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有