C#-wpf一个简单的井字棋程序

本文介绍了使用C# WPF开发的一个井字棋程序,详细讲述了从登录界面到游戏过程再到得分界面的实现步骤。程序要求包括用户输入、游戏逻辑、得分记录等功能,并讨论了电脑AI的简单策略。尽管存在一些待改进之处,如界面设计和数值绑定,但这个项目为C#编程提供了实践经验。
摘要由CSDN通过智能技术生成

前言

好久没有碰过代码了,上次看C#估计还是上个学期233,这次老师突然布置了一个C#语言编写的井字棋程序让我有点措手不及.不过,仗着微软爸爸的vs的强大的代码补全能力,最后还是将这个程序做好了(遇到了很多坑).


要求

该程序的要求还是有点多了,以下一一列举:
1. 在程序初始化时,要求输入玩家用户名,输入后出现提示文字,并选择是先手还是后手.
这里写图片描述
2. 点击Fight!后,进入游戏界面,在九宫格中下一步棋后,电脑(敌人)会判断形势并下第二部棋,如此直至有三子连成一线(玩家或电脑赢),或者格子被占满(和局).旁边有提示按钮,点击后会出现提示;得分按钮会出现具体的得分界面;退出按钮则会退出程序
这里写图片描述
3. 得分界面,点开后会显示自己的得分情况.最高得分按钮会记录玩家玩这个游戏以来所得的最高分;打印按钮则会打印自己的具体得分情况
这里写图片描述


主体

首先制作打开程序时出现的”登录”界面,即该程序的mainwindow:

样式:
这里写图片描述

这里要注意的是,只有当输入完姓名后才能出现下面的提示文字等控件,所以应事先将其属性定为隐藏,点击”commit”按钮后触发事件

private void btm_commit_click(object sender, RoutedEventArgs e)
        {
            if (TBox1.Text.Length>0&&TBox1.Text.Length<10)//判断玩家输入的文字长度,更为严谨的做法应该是判断字母+数字的长度,以及玩家输入的字符串不符合时应出现提示信息
            {
                storage.name = TBox1.Text;//定义在storage类中的静态变量,为了存储玩家名称,成绩等信息
                TBlock2.Text = "Hi " + storage.name + ". Welcome to the battlefield!Now,lets begin the game!!!Hey,do you want to place a bomb first?";//其实应该直接在前台代码中写好内容,不必在后台再赋值,因多次修改代码所致
                TBlock2.Visibility = Visibility.Visible;//显示提示文本块
                RB1.Visibility = Visibility.Visible;//显示单选按钮,让用户选择是否先手
                RB2.Visibility = Visibility.Visible;//同上
                btm_fight.Visibility = Visibility.Visible;//显示进入游戏界面的按钮
                btm_commit.IsEnabled = false;//禁止玩家再次点击commit按钮
            }
        }

在玩家确定好是否先手后,就该点击Fight!按钮进入游戏界面了

private void to_
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值