|
|

楼主 |
发表于 2021-8-15 16:47:25
|
显示全部楼层
今天就来画一个围棋的棋谱图,效果图如下:( H2 E6 [$ X8 ]2 M) @) r
0 M8 q8 K9 z, R) K4 T" P
8 n2 G& C6 c7 Y3 m
代码如下:
. d' T+ p$ l$ P/ s7 v: f- # -*- coding: utf-8 -*-
1 j+ [% ]7 u$ b& B - """
! m( I0 D i( n) K - @Team: 新大榭论坛
$ w! ~; E+ I3 ]! s; ?) m; w. h - @Author: 张黎斌
/ U8 J% h: c/ Z3 `6 d2 A - @update: 2021-08-15" p+ o" {! _" E3 B9 ?2 X
- @Version: v1.0
; w* L5 T+ C1 g$ ~; _ - @BBSid: 7171-17-010 I$ B. Y. W1 |! M; L, Y1 y3 V ]
- @Level: B7 Q6 [: z2 B* g4 S- `) K! T# x7 p; M
- ---------------------------
% x+ ~* V1 S8 b( c8 z) U0 P - 说明:19路围棋盘7 l' @ {- w- Y) R. l7 b; U! L
- ---------------------------: _/ @3 D7 j: ]5 r) k" _9 Z+ T
- """
0 {" C8 x! R6 S3 }0 d% E2 [ - print("+----------------------------------------------------------+")' c/ c( J7 B5 m, H
- print(">>> 新大榭Python文件启动程序(py文件双击) V1.3.21.0801 ")* v, ]5 \, J/ U9 M8 q5 K8 N
- print("+----------------------------------------------------------+")0 i& w% M7 W* M# F
- print(">>> 新大榭Web实验室 http://lab.daxie.net.cn/ ")
) x4 D/ y7 S' P [, u2 m - print("+----------------------------------------------------------+")
- X$ r; E# P2 _- N V- v3 r$ D - print("↓↓↓ 《19路围棋盘》")
; c8 a6 O( u% P" |# a9 o" y0 E - print("+----------------------------------------------------------+")
2 i" i! d5 S& T - ( E5 H- Q9 K0 k6 ~8 x0 j4 C7 t
- # 以下为主程序核心代码 ↓↓↓
4 a- f. L) r# u/ Q* S3 X - 9 B8 K- k T5 K& M/ l+ E
- import turtle as tt% b: N; O0 d q
. G# X. `" e4 d4 y- tt.TurtleScreen._RUNNING = True # 启动绘图,在IDE中运行加这句可避免报错
7 m+ M5 j( n# A d0 o - tt.speed(5) #速度0-10,0表示默认速度
, V; y4 o6 l. v+ Y2 Y - ; k$ |: }) L! M5 q
- x = -270
; s Q/ b X; u" [, B - y = -270
1 g) M4 @: p1 K- |- @ - d = 540
) x: p; L+ O% E9 _: f0 P% M+ \ - s = 30
. I" ]8 Q; T* p8 i - for i in range(19):; s1 V/ i; k7 m4 G+ ], U* F6 F& r
- tt.penup()6 E C1 `4 c+ A9 U# f: {
- tt.goto(x, y)6 j2 B6 O" G1 M" X1 Y
- tt.pendown()7 L0 |' s9 F V3 U! t1 {! p
- tt.forward(d)
) x8 j) @6 }5 C" b - y = y + s
6 @+ S( Y& d* J( | - 3 i& H: L8 ~& ?1 J
- tt.left(90)# m! }1 |( u( ^
- x = -270
) |; u7 N5 M! O! U - y = -270
9 w3 v: K6 k4 [: }! O6 ` - d = 540
# ^1 X6 j) ^7 G- p* } - for i in range(19):
+ s4 R c8 K, e0 h( |2 I - tt.penup()
, w& \ x' J4 q/ j" |, c, n - tt.goto(x, y)6 t& A. U5 x* H! B( d. z
- tt.pendown()$ E0 [/ Z" M. I- q- g* d2 c3 G
- tt.forward(d)& n% O0 w G% f, F% k# m5 d+ O/ y
- x = x + s
1 d& E# u. ^2 r( s - / V% P6 ^- K) P! ^& I$ p) i
- point = ((-180,-180),(0,-180),(180,-180),
7 j4 j2 j- h2 Q. t M - (-180,0),(0,0),(180,0),; @& s& X; S1 N' P2 G& S+ B
- (180,180),(0,180),(-180,180))
/ b$ t2 a! C& o) w Q' ` - for x, y in point:
4 y" n( |5 o3 l) D1 ^3 _7 k - tt.penup()! \ C* h# e% M/ m* d; B# ^
- tt.goto(x, y)5 X/ M' O+ s: K- K8 z) _2 c7 _
- tt.pendown()
# x- J9 |) @/ K1 F/ B' Y, e - tt.dot(6)
" [( s- D/ o# D -
' z3 R- C$ Y, |8 j6 Q - tt.hideturtle() # 隐藏画笔,使得图像看上去更完美 / \0 X2 q4 y8 a% r' t5 A, o& s. t
- tt.done()
0 X. Z2 t& \: B% Q* I: v
; Z3 v: L; @9 r+ n, k( ]- # ↓↓↓ 以下代码优化与答题无关,可屏蔽IDLE程序意外退出!" x) [9 O% U, U5 \) e$ f: p* @( ?
# M! T* Q3 G4 j1 w6 }$ r2 S- print("┏----------------------------┓")
; v, O w: _2 L. D4 Q - print("┣--- 按下回车键即退出程序 ---┫"); G0 F, ^$ _) ]8 K" @
- print("┗----------------------------┛")
% T, E, F' Y- B - input(">>>")
复制代码 |
|