|
|

楼主 |
发表于 2021-8-15 16:47:25
|
显示全部楼层
今天就来画一个围棋的棋谱图,效果图如下:6 @( f$ W: u1 N3 n& R: v6 C
6 _8 f& E% e0 n. L8 j# I! d6 n
) W. Q* Q: S% V
代码如下:& l+ f) W/ M8 h$ p' {
- # -*- coding: utf-8 -*-
0 z$ S8 |# f2 J& i3 n3 \ - """
p- U& A8 w7 R4 F1 q8 |3 C! r - @Team: 新大榭论坛 f) v' _, e9 H* e# Y1 i, |3 A: d
- @Author: 张黎斌
8 Q& o2 I; h* |9 h& w - @update: 2021-08-15. F& C) A8 G6 n6 v: A' M
- @Version: v1.0
3 H6 g; p, _# D, P( X& O - @BBSid: 7171-17-01" n. w; }# u. T* `/ a
- @Level: B3 P$ o+ |0 S: G
- ---------------------------. I/ G! [# U: [
- 说明:19路围棋盘
/ a1 T) e3 O0 ^3 Q; Y) X - ---------------------------
8 A& L/ o: P0 u, U1 s; l - """8 b o# J$ _7 w, j) m
- print("+----------------------------------------------------------+")! Y# S4 l- O4 c, t# g# q
- print(">>> 新大榭Python文件启动程序(py文件双击) V1.3.21.0801 ")- D. _; w* U: @+ C9 d7 h! a
- print("+----------------------------------------------------------+")
# v) t2 i/ C( h3 v: m8 p u; } - print(">>> 新大榭Web实验室 http://lab.daxie.net.cn/ ")
+ W; |& ~9 G+ [3 n - print("+----------------------------------------------------------+")
, ^% \3 s* i* {5 t; a7 g9 ^ - print("↓↓↓ 《19路围棋盘》")
6 \1 H/ K9 i# v0 w' I" { - print("+----------------------------------------------------------+")5 h8 t C2 N% h. N( I/ R5 l# \
4 F# \9 {& f" h- # 以下为主程序核心代码 ↓↓↓
; U, E U/ W# @+ y: T p9 W- M/ [ - $ U, D$ z* f m) z1 t+ P) h
- import turtle as tt
: A! A1 |9 X0 c( [+ l
u/ Q# e7 l6 H8 R- tt.TurtleScreen._RUNNING = True # 启动绘图,在IDE中运行加这句可避免报错
5 }% B6 O7 [) x( j+ D/ L - tt.speed(5) #速度0-10,0表示默认速度
; y* @8 b0 x1 ]; f, W
! g m# W6 V. f! P% F, p' b- x = -270
}; z" V: K! P0 B( m1 W {, ` - y = -270: i0 }) T+ M0 i* \& L
- d = 5404 K2 U* [ K8 O3 _/ Y6 L
- s = 30
8 b" Q4 a& P) k+ z+ k T - for i in range(19):0 J" P# P3 S! {4 M: B2 N
- tt.penup()
7 F5 V( s) z# C! U - tt.goto(x, y)
) Z8 E& ~7 O; z: i; ]" m - tt.pendown()* \4 t6 U0 D8 j6 K( x; n6 H& i
- tt.forward(d)
+ z$ Z- C4 ~9 V( Z6 L - y = y + s1 @2 ^! F+ u- ]; o
-
6 ]" p3 ]$ ?: X - tt.left(90)
, z2 c& g& ]4 U2 ~ - x = -270
+ p3 t4 y& Y" \7 K! N" { - y = -270
5 f. G: j8 v2 V; W0 ? - d = 5408 N) R/ T" X( ?6 w% W
- for i in range(19):3 K3 F8 W/ f1 e& P2 L
- tt.penup()
! e4 `2 h2 a) y4 |' o/ V% I4 X6 t - tt.goto(x, y)3 U2 F9 R- n- A: X8 \# r/ f$ `
- tt.pendown()
$ y0 l, \6 d4 d u2 d - tt.forward(d)2 i! h; h- ]% C" `+ K
- x = x + s: H l& z. R7 ]) w1 r) m
- ' v" z! w5 ?( T# v
- point = ((-180,-180),(0,-180),(180,-180),7 {0 N) F& Z: }$ @: P7 `
- (-180,0),(0,0),(180,0),0 }" {. J) j- C# _/ m% z
- (180,180),(0,180),(-180,180))
# x4 f' d: S! M9 |6 ?" g- \ - for x, y in point:
9 e) F6 M6 p+ d6 @9 V - tt.penup()* c! t9 S9 [2 Y( \) ~& N9 l
- tt.goto(x, y)
: L A6 C+ i& B) m - tt.pendown() O1 ]6 H; E( `8 U+ O F& _
- tt.dot(6)" k! o6 ~! X! j5 j7 |1 Z
- 6 b" }5 J7 l" c' a& Y5 r4 K+ _
- tt.hideturtle() # 隐藏画笔,使得图像看上去更完美
3 `* t$ X5 d( R- ~/ Y, X - tt.done()* F$ T/ Y `& m5 C
- 5 N. m3 v' h8 v" k! V
- # ↓↓↓ 以下代码优化与答题无关,可屏蔽IDLE程序意外退出!8 A4 M8 R& H& N
$ W& ?* t$ o7 \ h# X( H* i: J8 G- print("┏----------------------------┓")
9 o' W/ A2 [, e( p y9 c - print("┣--- 按下回车键即退出程序 ---┫")7 i0 h% s( \- c: p% a2 n
- print("┗----------------------------┛") ) }- Q$ D {& N8 W4 s4 b
- input(">>>")
复制代码 |
|