IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> python基础入门游戏之井字棋 -> 正文阅读

[数据结构与算法]python基础入门游戏之井字棋

python基础入门游戏之“#”字棋

作者的第一次创作,有不好、不理解的地方尽管提

先把源码放这,讲解有时间下期再做

#要用的函数,可以在主程序用到时再看
def panduan1(a,b):
	x=0
	if x==0:
		for i in range(3):
			q=0;p=0
			for j in range(3):
				if a[i][j]==b:
					q+=1
				if q==3:
					return 1
				if a[j][i]==b:
					p+=1
				if p==3:
					return 1
		q=0;w=0
		for i in range(3):
			if a[i][i]==b:
				q+=1
			if a[i][2-i]==b:
				w+=1
			if q==3 or w==3:
				return 1
		return 0
def xiaqi(all,qi,a):
	all[int(qi[1])-1][int(qi[0])-1]=a
def shuru1():
	x=input()
	suoyou='123456789'
	if suoyou.find(x)==-1:
		print('输入不符合要求:')
		return 'no'
	y=0
	sum=''
	for j in range(1,4):
		for z in range(1,4):
			y+=1
			sum=str(z)+','+str(j)
			if y==int(x):
				return(sum.split(','))
				break
def panduan2(all,x):
        hang=int(x[1])
        lie=int(x[0])
        if all[hang-1][lie-1]!='-':
                return 1
        else:
                return 0
def dayin(all):
	for i in range(3):
		print(' '.join(all[i]))
#主程序开始
all=[['-','-','-'],['-','-','-'],['-','-','-']]
t=0;w=0
print('游戏开始!\n黑棋先:')
while t==0 and w==0:
	dayin(all)
	print('轮到黑棋了:')
	hei=shuru1()
	while hei=='no' or panduan2(all,hei)==1:
		dayin(all)
		print('请重新输入:')
		hei=shuru1()
	xiaqi(all,hei,'1')
	t=panduan1(all,'1')
	dayin(all)
	if t==1:
		print('黑棋赢!')
		break
	all1=all[0]+all[1]+all[2]
	if all1.count('-')==0:
		dayin(all)
		print('平局!')
		break
	print('轮到白棋了:')
	bai=shuru1()
	while bai=='no' or panduan2(all,bai)==1:
		dayin(all)
		print('请重新输入:')
		bai=shuru1()
	xiaqi(all,bai,'0')
	w=panduan1(all,'0')
	if w==1:
		print('白棋赢!')
		dayin(all)
	all1=all[0]+all[1]+all[2]
	if all1.count('-')==0:
		dayin(all)
		print('平局!')
		break
print('游戏结束!')

输入格式为数字1-9(对应手机的拨号键位置):在这里插入图片描述
不要忘记收藏关注哦,你的支持是作者最大的动力!

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-11-16 19:05:28  更:2021-11-16 19:05:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:57:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码