目前很简易,后期会不断完善,棋盘的代码如下:
import numpy as np
import matplotlib.pyplot as plt
def pltNode(a,b,text,color):
r = 0.2
theta = np.arange(0, 2*np.pi, 0.01)
x =a + r * np.cos(theta) *1.5
y =b + r * np.sin(theta)*1.5
plt.plot(x, y,c=color)
plt.text(a-r*1.2,b-r*0.8,text,fontdict={'family':'LiSu','size':30,'color':color})
plt.figure(figsize=(10,10))
for i in range(10):
plt.hlines(i, -4, 4,color="orange")#横线
for i in range(9):
plt.vlines(i-4, 0, 4,color="orange")#竖线
for i in range(9):
plt.vlines(i-4, 5,9,color="orange")#竖线
plt.vlines(-4, 4,5,color="orange")#竖线
plt.vlines(4, 4,5,color="orange")#竖线
x = np.linspace(-1,1,100)
y=x+1
plt.plot(x,y,c='orange')
y=-x+1
plt.plot(x,y,c='orange')
y=x+8
plt.plot(x,y,c='orange')
y=-x+8
plt.plot(x,y,c='orange')
pltNode(0,0,'帅','red')
pltNode(-1,0,'士','red')
pltNode(1,0,'士','red')
pltNode(-2,0,'相','red')
pltNode(2,0,'相','red')
pltNode(-3,0,'马','red')
pltNode(3,0,'马','red')
pltNode(-4,0,'车','red')
pltNode(4,0,'车','red')
pltNode(-3,2,'炮','red')
pltNode(3,2,'炮','red')
pltNode(-4,3,'兵','red')
pltNode(-2,3,'兵','red')
pltNode(0,3,'兵','red')
pltNode(2,3,'兵','red')
pltNode(4,3,'兵','red')
pltNode(0,9,'将','black')
pltNode(-1,9,'士','black')
pltNode(1,9,'士','black')
pltNode(-2,9,'象','black')
pltNode(2,9,'象','black')
pltNode(-3,9,'马','black')
pltNode(3,9,'马','black')
pltNode(-4,9,'车','black')
pltNode(4,9,'车','black')
pltNode(-3,7,'炮','black')
pltNode(3,7,'炮','black')
pltNode(-4,6,'卒','black')
pltNode(-2,6,'卒','black')
pltNode(0,6,'卒','black')
pltNode(2,6,'卒','black')
pltNode(4,6,'卒','black')
plt.show()
运行结果:
未完,待续。。。