|
|

楼主 |
发表于 2021-8-15 16:47:25
|
显示全部楼层
今天就来画一个围棋的棋谱图,效果图如下:
- k" f0 t6 c3 T f# B, j( d5 H5 \3 y% e& i" S% p
$ r0 h- R' ~+ u1 y" U) F代码如下:3 v' u" t4 [5 q
- # -*- coding: utf-8 -*-4 e/ D0 I: q! m7 z2 F2 |
- """7 s! q$ Q+ n( ^$ T' q4 O( |
- @Team: 新大榭论坛+ s, p y+ L C6 s$ J
- @Author: 张黎斌
( C9 T0 H* s7 j0 [0 |6 h9 J; z - @update: 2021-08-15
/ K1 J+ [% V; o+ Q% W/ O! V - @Version: v1.0
& q! d' o+ h; o5 G J - @BBSid: 7171-17-012 u6 T W( V" t$ g% d
- @Level: B8 W" G* Q, R& Z- a
- ---------------------------: |( [# g0 F) [! W# v) x
- 说明:19路围棋盘' d/ V) j- { U' r: B: P) V! u
- ---------------------------
5 H: B$ O9 U7 } - """
( `8 Y/ q+ T! ]" S - print("+----------------------------------------------------------+")$ ~$ {, o6 A, W `$ P
- print(">>> 新大榭Python文件启动程序(py文件双击) V1.3.21.0801 ")% L7 o/ q5 ~* x9 P. a" d& g& b
- print("+----------------------------------------------------------+")
9 {1 U! f4 e$ u: K* s5 k, X& q - print(">>> 新大榭Web实验室 http://lab.daxie.net.cn/ ")
) E7 m3 |8 w3 J3 V7 D& s* u - print("+----------------------------------------------------------+")1 K- x% c% C1 {' k7 d
- print("↓↓↓ 《19路围棋盘》")
# ^. M: p' c( O( |4 G" e! v, m - print("+----------------------------------------------------------+"). c, F5 y1 D" j
- 2 L: z T- c, L# b
- # 以下为主程序核心代码 ↓↓↓
6 C0 B% h3 `2 J& H8 ~
4 @, b4 L2 c: b i- import turtle as tt1 D8 S4 s8 y' w( U
! Z/ a8 N* U+ n( Y4 d- tt.TurtleScreen._RUNNING = True # 启动绘图,在IDE中运行加这句可避免报错- d: R6 W' b0 R: [" [% B
- tt.speed(5) #速度0-10,0表示默认速度* ~, z! d7 m0 `& d+ @
% D( t" D. q+ G9 C( b& e- x = -270
# F5 ?- p% p7 }6 j2 x - y = -270
3 Y4 }8 S/ K0 P6 G - d = 540
. J, [4 h" h5 p' G9 M - s = 30; _& k2 K- _6 n" t
- for i in range(19):
$ C; j0 n9 C1 w6 }( C6 D7 N - tt.penup()
" o2 t0 X2 t1 q5 \& G - tt.goto(x, y): T& S" @! k& ? @* Q
- tt.pendown()( z0 X; _( S* D* [% K
- tt.forward(d)2 n' {. R( ^$ Z; T
- y = y + s
6 N. f; P5 G2 n* V -
5 w$ z' U; F7 x; W. H$ m - tt.left(90)
: a: ^; \3 ~, z - x = -270 `8 O( M8 F) D3 N* R
- y = -270- z e* D# G: d% B9 {8 ^' k% {& k
- d = 5407 Y3 E! E: \ R- @; O
- for i in range(19):# u3 q3 P6 E7 M$ l! O, a
- tt.penup()4 `3 K( m7 O. P0 d; m) |
- tt.goto(x, y)7 V6 ?) D! c% f, f; u8 P8 ~4 {+ ]
- tt.pendown()
3 L4 B M# Z9 v4 i: q' U6 K - tt.forward(d)
1 g! i5 p3 s. Y, Z# K6 F - x = x + s! s4 Y3 F# a2 t8 g
- * o. J3 h! q# M, @( c
- point = ((-180,-180),(0,-180),(180,-180),
: ?% e' M; M6 {! @6 | - (-180,0),(0,0),(180,0),$ Y9 x5 Y J5 U: B( R
- (180,180),(0,180),(-180,180))# U2 _+ \2 P" N' }) y: L+ v
- for x, y in point:
% r( a$ u* z9 R5 N3 I- a - tt.penup()
9 f5 }# y% |9 a0 Y - tt.goto(x, y)6 o( z# r6 h# Q9 F0 M# I
- tt.pendown()1 {/ i* U) W2 G2 u9 K( P+ a
- tt.dot(6)
3 `( q: V0 k1 K3 R1 u3 O - - n6 p6 f$ g1 J! w: u$ { s
- tt.hideturtle() # 隐藏画笔,使得图像看上去更完美
) E# ?* z5 ^2 [& T+ i$ x - tt.done()' U, Z2 m$ }; i% s, \
- 1 Z& G0 S; Z; z( W3 `6 t- F: {
- # ↓↓↓ 以下代码优化与答题无关,可屏蔽IDLE程序意外退出!
/ t. m7 i' N+ l( I
+ g* |* n* U8 u1 j- print("┏----------------------------┓")
% n- i5 k$ ^$ v, ?6 W - print("┣--- 按下回车键即退出程序 ---┫")- y) O+ N, G# w' d5 g' o3 t x
- print("┗----------------------------┛") 9 Z) Q/ J2 f* `( \3 F
- input(">>>")
复制代码 |
|