|
|

楼主 |
发表于 2021-8-15 16:47:25
|
显示全部楼层
今天就来画一个围棋的棋谱图,效果图如下:' E1 g5 O/ H' O- v
. c5 R. p* g* _1 N$ z; J
P. w- V* S- A. M& ^0 _代码如下:0 W+ O6 E! s' G: y+ F
- # -*- coding: utf-8 -*-
3 e G3 p' B, U! X- @1 K- y3 {( r - """
: c! \% C4 W6 K7 _/ K% o" \ - @Team: 新大榭论坛
4 Y( ^" r! F% T+ F" W8 f - @Author: 张黎斌
1 \4 E. i1 L6 y% ^" V7 l - @update: 2021-08-15
8 u/ b( E- b. h: i; T1 z+ Q( h - @Version: v1.01 a: O/ [7 ?* h
- @BBSid: 7171-17-01
" L/ _5 I b0 c/ ^7 v$ N - @Level: B
( v C4 s; @: x0 c0 N3 [3 h8 {) P - ---------------------------! B" F5 q/ ^5 G; H5 l
- 说明:19路围棋盘0 c! V" }$ {" F# Z" V
- ---------------------------
7 r, M q' d. A - """
2 H+ _# K# x* i! x! T - print("+----------------------------------------------------------+"). v, v2 J- s" w& D. V) m
- print(">>> 新大榭Python文件启动程序(py文件双击) V1.3.21.0801 ")
& h& W5 M$ _! F- g - print("+----------------------------------------------------------+")& o+ s) B$ l$ c6 I2 p' W Q
- print(">>> 新大榭Web实验室 http://lab.daxie.net.cn/ ")
# R/ ?6 }4 n6 n0 G+ t' P0 n - print("+----------------------------------------------------------+"); q, A- G. w" R( K, z3 g5 g
- print("↓↓↓ 《19路围棋盘》")
9 L1 E) w! f8 W/ V# y% M& d - print("+----------------------------------------------------------+")
$ n! G2 z/ P# b: l4 J2 ?/ \
3 D; ?7 h s% m- F" O* v2 A' E! n- # 以下为主程序核心代码 ↓↓↓* N. e: z7 N9 g. l& ^2 [! d
- ; n: p+ s6 u+ T6 x
- import turtle as tt9 W8 e# ?- v& _8 [. P* Q% W, \
- # ~# _# r% q$ b( N" V; t, Z5 H
- tt.TurtleScreen._RUNNING = True # 启动绘图,在IDE中运行加这句可避免报错
8 b3 D' r( i5 {; J6 t - tt.speed(5) #速度0-10,0表示默认速度2 U% F, O; L7 P5 K
8 v' U. q$ A a+ v6 Z; q- x = -270: v5 T5 E* l6 P" [
- y = -270
" m. P% g0 C# w! u0 f4 U3 ]' K - d = 5407 i1 q, R. k. }$ V8 k
- s = 30% G; ~- o, A, ]1 \
- for i in range(19):
d) D* K- e9 E& r% r k8 } - tt.penup()
3 M3 q9 b) n' @' D: H - tt.goto(x, y). c# a e" L2 k9 @
- tt.pendown()
8 E5 `1 J( I# C. ^! n5 |, z2 n& B# D - tt.forward(d)
; T4 E" N" R5 O# C I! C3 N* k - y = y + s
5 X/ g* l2 k3 n6 R) F- I5 d! P; `: v7 B - 3 a( C4 ^0 i* K% z
- tt.left(90), {# b" V0 c; l9 _& B
- x = -2704 O& z! K6 v; N5 O. H
- y = -270 c. Y) l' U( `7 {# g# L3 ?4 }
- d = 540. [) `. g' \5 [; {9 {5 y
- for i in range(19):. y& i4 |! {1 b ~5 ~: x
- tt.penup()
' @! ^4 d+ _" Q) f. @ - tt.goto(x, y)+ w* h: P# B2 Z4 Q! p9 ?) u
- tt.pendown()
" g0 S4 N$ V, N v! Z# o$ L: d; | - tt.forward(d)
9 V$ e% ?. d$ X* O - x = x + s
( ^1 @# f! D1 i' @1 u2 r: V) e - + Y& z* F% u2 I+ E g
- point = ((-180,-180),(0,-180),(180,-180),
5 t. U3 z9 B5 ? - (-180,0),(0,0),(180,0),
' }; c6 N( j4 o: T - (180,180),(0,180),(-180,180)): P* L3 J- Y. C" H5 h
- for x, y in point:) z6 r" V& J3 ^$ @; w
- tt.penup()
0 w$ L9 B2 x2 A - tt.goto(x, y)
- Y0 B( j$ G( G1 d' J3 Z - tt.pendown()
) u9 V. K3 q5 r% Y - tt.dot(6)
# s6 v; m# E# u - ' F& u3 P( k& n% o9 {4 M; A" S0 N
- tt.hideturtle() # 隐藏画笔,使得图像看上去更完美
# f8 b. X3 Z: k$ l% c - tt.done()5 e( g S/ b& L) H
* @2 p5 Z" n) T6 O# Z- # ↓↓↓ 以下代码优化与答题无关,可屏蔽IDLE程序意外退出!
. H1 q6 ~- v% Y4 S; C! |7 j9 j - 9 t+ z1 |$ e6 I2 e" t
- print("┏----------------------------┓")5 c: ?0 E- {$ ?1 v/ p
- print("┣--- 按下回车键即退出程序 ---┫")3 r3 l1 J0 A, x8 D4 \
- print("┗----------------------------┛")
8 c, ]* H" v. x- i4 U - input(">>>")
复制代码 |
|