python实现象棋游戏

 更新时间:2022年05月10日 11:39:10   作者:Moyan_0307  
这篇文章主要为大家详细介绍了python实现象棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了python实现象棋游戏的具体代码,供大家参考,具体内容如下

import math
from turtle import *

speed(0)   #调整画的速度 1-10,数字越大,速度越快
width=50
hideturtle()     #隐藏画笔的形状a

#绘制棋盘
for i in range(5):
    forward(8*width)
    penup()
    goto(0,(i+1)*width)
    pendown()
left(90)
for i in range(9):
    penup()
    goto(i*width,0)
    pendown()
    forward(4*width)

for i in range(9):
    penup()
    goto(i*width,-width)
    pendown()
    forward(-4*width)
left(270)
for i in range(5):
    penup()
    goto(0,-width*(i+1))
    pendown()
    forward(8*width)

penup()
goto(-10,4*width+10)
pendown()
right(90)
for i in range(2):
    forward(9*width+20)
    left(90)
    forward(8*width+20)
    left(90)

#田线
penup()
goto(3*width,4*width)
pendown()
left(45)
fd(2*math.sqrt(5000))
penup()
goto(3*width,2*width)
pendown()
left(90)
fd(2*math.sqrt(5000))

penup()
goto(3*width,-5*width)
pendown()
fd(2*math.sqrt(5000))
penup()
goto(3*width,-3*width)
pendown()
right(90)
fd(2*math.sqrt(5000))


#绘制炮兵标记
def fun(x,y):
    penup()
    home()
    goto(x*width,y*width+3)
    fd(-6)
    pendown()
    for i in range(4):
        fd(3)
        left(90)
        fd(3)
        penup()
        right(90)
        fd(6)
        pendown()
        right(90)
for i in range(5):
    fun(i*2,1)
for i in range(5):
    fun(i*2,-2)
fun(1,2)
fun(7,2)
fun(1,-3)
fun(7,-3)

def write_chees(str,color1):  #棋字
    color(color1)
    write(str,font=('隶书',width//2,'normal'))
def drawcircle(radius):   #画圆
    pensize(3)
    begin_fill()
    fillcolor('white')
    circle(radius)
    end_fill()

def chees(x,y,str,color):  #绘制棋子
    penup()
    home()
    goto(x*width,y*width)
    right(90)
    fd(1/3*width)
    left(90)
    pendown()
    pencolor(color)
    drawcircle(1/3*width)
    penup()
    fd(-1/3*width)
    pendown()
    write_chees(str,color)

red='red'
black='black'
#红棋子
for i in range(5):
    chees(i*2,1,'兵','red')
chees(1,2,'炮',red)
chees(7,2,'炮',red)
chees(0,4,'車',red)
chees(1,4,'馬',red)
chees(2,4,'相',red)
chees(3,4,'仕',red)
chees(4,4,'帅',red)
chees(5,4,'仕',red)
chees(6,4,'相',red)
chees(7,4,'馬',red)
chees(8,4,'車',red)
#黑棋子
for i in range(5):
    chees(i*2,-2,'卒','black')
chees(1,-3,'炮',black)
chees(7,-3,'炮',black)
chees(0,-5,'車',black)
chees(1,-5,'馬',black)
chees(2,-5,'象',black)
chees(3,-5,'士',black)
chees(4,-5,'将',black)
chees(5,-5,'士',black)
chees(6,-5,'象',black)
chees(7,-5,'馬',black)
chees(8,-5,'車',black)
done()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 解决Tkinter中button按钮未按却主动执行command函数的问题

    解决Tkinter中button按钮未按却主动执行command函数的问题

    这篇文章主要介绍了解决Tkinter中button按钮未按却主动执行command函数的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • 查看TensorFlow checkpoint文件中的变量名和对应值方法

    查看TensorFlow checkpoint文件中的变量名和对应值方法

    今天小编就为大家分享一篇查看TensorFlow checkpoint文件中的变量名和对应值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Google colab中从kaggle中接入数据的操作方法

    Google colab中从kaggle中接入数据的操作方法

    这篇文章主要介绍了Google colab中如何从kaggle中接入数据,本文涉及到两大平台内容,所以我默认你已经拥有了,并且使用过了一段时间的google账号和kaggle账号,需要的朋友可以参考下
    2024-03-03
  • Python实现查询剪贴板自动匹配信息的思路详解

    Python实现查询剪贴板自动匹配信息的思路详解

    这篇文章主要介绍了Python实现查询剪贴板自动匹配信息,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • Python判断对象是否相等及eq函数的讲解

    Python判断对象是否相等及eq函数的讲解

    今天小编就为大家分享一篇关于Python判断对象是否相等及eq函数的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Django模块学习之模块语言详解

    Django模块学习之模块语言详解

    模板语言渲染的整个过程其实就是将html转换成函数,并为该函数提供全局变量,然后执行该函数,下面这篇文章主要给大家介绍了关于Django模块学习之模块语言的相关资料,需要的朋友可以参考下
    2021-11-11
  • Python 对输入的数字进行排序的方法

    Python 对输入的数字进行排序的方法

    今天小编就为大家分享一篇Python 对输入的数字进行排序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python单链表的简单实现方法

    Python单链表的简单实现方法

    这篇文章主要介绍了Python单链表的简单实现方法,包括定义所需的字段及具体实现代码的分析,需要的朋友可以参考下
    2014-09-09
  • python的pstuil模块使用方法总结

    python的pstuil模块使用方法总结

    这篇文章主要介绍了python的pstuil模块使用方法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 简单介绍Python2.x版本中的cmp()方法的使用

    简单介绍Python2.x版本中的cmp()方法的使用

    这篇文章主要介绍了简单介绍Python2.x版本中的cmp()方法的使用,然而该方法在Python3.x版本中已并不再内置...需要的朋友可以参考下
    2015-05-05

最新评论