|
|

楼主 |
发表于 2021-8-15 16:47:25
|
显示全部楼层
今天就来画一个围棋的棋谱图,效果图如下:
6 e9 v% N! R- C/ Y; l7 d* Y( r; k& s
/ n' b) c5 V5 m+ h4 x
代码如下:; f. s' G4 |* `
- # -*- coding: utf-8 -*-: b: e3 Z6 U# m- Y5 Y* M
- """
5 @7 z& a! |0 E' L) K% A - @Team: 新大榭论坛 ^- P0 t& |& v! P" U8 q1 [
- @Author: 张黎斌
; M5 x" ^8 K2 J" T3 L) @ - @update: 2021-08-15
& G- ?; E/ Z5 b3 ?8 f - @Version: v1.05 R" N7 w$ Z @ K8 z
- @BBSid: 7171-17-01" n- A: Y. \; s4 C
- @Level: B: ]# t4 s' r( ?# D% X6 B
- ---------------------------
; ?3 o$ ^) Z# |) c7 a9 ` - 说明:19路围棋盘# d2 f8 z/ i( ^! j5 h8 g
- ---------------------------
4 S# P+ v ~% w+ q8 q - """# Y4 i# v' g1 d' v! @
- print("+----------------------------------------------------------+")
: t, J. _9 U, o+ I/ w9 T - print(">>> 新大榭Python文件启动程序(py文件双击) V1.3.21.0801 ")
7 d. |4 F* O! D. t `5 }4 }. \ - print("+----------------------------------------------------------+"), n2 q4 ]% j1 H. g
- print(">>> 新大榭Web实验室 http://lab.daxie.net.cn/ ")
A# i: U1 m+ s7 D! E) n7 L - print("+----------------------------------------------------------+")0 `# e/ k( O& n0 d, J* e8 t
- print("↓↓↓ 《19路围棋盘》")
9 Y. y& e3 w2 x$ P2 [ - print("+----------------------------------------------------------+")
! f* p1 R" x) u1 h/ Y9 B - 6 j+ ]9 m- A1 i& {: ^
- # 以下为主程序核心代码 ↓↓↓
/ z+ {3 g/ G* ] i) @& l
( Z7 z$ R1 y7 |8 d! a- import turtle as tt; @" H, V+ s2 M' _; H0 P
- 3 j* K" L3 V0 H6 n* y, D0 l
- tt.TurtleScreen._RUNNING = True # 启动绘图,在IDE中运行加这句可避免报错$ ]" y, R! Z- }0 O! B
- tt.speed(5) #速度0-10,0表示默认速度
7 R$ B+ E7 G6 s5 K0 e
# c u! L9 n: o- i2 x" K7 ^- x = -270
* R2 z' x1 p# q, @; J% O- O5 q - y = -270; A V, D4 d6 H, g& t+ t
- d = 540" q/ k$ |# F {. y& C$ p9 b& I
- s = 30
9 N- ?1 c) q) [* C9 V8 V& g - for i in range(19):/ R2 A8 O+ ]7 Y# `, c* m
- tt.penup()0 v* O; f" |. R5 V: G
- tt.goto(x, y)6 v8 R* C! E5 x1 @9 L
- tt.pendown()
- S6 c& b; x x3 l/ c) l - tt.forward(d); e2 h% |4 q* u9 R3 h, v
- y = y + s7 t) W: B4 l! E
-
1 u4 V9 `3 M$ V# f: W, s - tt.left(90)
, j; ]: w6 O( k1 k% j - x = -270
- i3 |( R1 Z$ D7 w! C' d; C( d - y = -270: F& @1 P. E* b8 L# E
- d = 540/ D4 F% d$ ]2 t5 a f: F+ y- B
- for i in range(19):2 c4 E" T+ Z% l1 L6 _
- tt.penup()
$ I6 }+ L& b8 b* K7 O, g( @ - tt.goto(x, y)' |6 v& ]% n! v+ z1 V) V' B
- tt.pendown()
( [, t: G- O+ {; E8 C y8 h - tt.forward(d)/ D0 E7 q, U3 | e# c9 e* o
- x = x + s
' P9 p' t$ Z: w1 K - 3 |( L; ~' ]; Q; C! f( t! ]
- point = ((-180,-180),(0,-180),(180,-180),
3 j; f5 _1 q3 y- m3 Z# J. P& q - (-180,0),(0,0),(180,0), w+ L/ I" t3 B l7 b
- (180,180),(0,180),(-180,180))$ x, G2 A& A8 d
- for x, y in point:( S; A0 u% ?0 G+ j1 ^
- tt.penup()
" s/ j0 L2 K4 `+ I - tt.goto(x, y)" [6 _; G4 a5 M
- tt.pendown()
- g1 e+ c; L3 t! t - tt.dot(6)! F% A' L. y: I5 ?% d
- 9 O A& S9 ]4 C9 F1 F' a
- tt.hideturtle() # 隐藏画笔,使得图像看上去更完美
2 e# M6 N$ }# c5 l( w9 x+ V3 c7 b - tt.done()
; f! `/ {% l; s9 t
) P) ?, W; U9 v) P, E/ \- # ↓↓↓ 以下代码优化与答题无关,可屏蔽IDLE程序意外退出!
# Q6 ~4 _8 H, v6 j4 d, E - 9 Z) g6 }+ h5 f4 a' a0 M
- print("┏----------------------------┓")) f) H) u2 n9 Z( F" k/ w. A' L
- print("┣--- 按下回车键即退出程序 ---┫")
$ v, @, ~% w k: w9 a - print("┗----------------------------┛")
$ h* S) L$ @9 Z3 v. U# V3 d4 a - input(">>>")
复制代码 |
|