|
|

楼主 |
发表于 2021-8-15 16:47:25
|
显示全部楼层
今天就来画一个围棋的棋谱图,效果图如下:
h0 q8 V+ g6 M9 P) k8 z$ s
5 E i8 a6 Y9 K* i5 q5 W* Q$ L# G
( s( u$ s1 p7 ?
代码如下:& I, T6 J, d, L: m( f' v- d' `
- # -*- coding: utf-8 -*-
7 {# A- H+ A! C9 _ - """
# Q0 W" w- B: q/ }% E) Z - @Team: 新大榭论坛
, ^, p; ^. }( Z* F - @Author: 张黎斌; y/ y2 |( S; U! G6 r1 _
- @update: 2021-08-15( i9 [' u! K9 }0 U
- @Version: v1.0/ e! Z- ^" h- R8 _! Z, ]9 v
- @BBSid: 7171-17-01
. T' _; s8 a* H$ b- Q/ d/ V - @Level: B, j( D, [' _6 E
- ---------------------------
* I) h2 }" z: R/ O. @ - 说明:19路围棋盘
! g9 M) K# k2 t5 Z - ---------------------------% W% Z0 O3 {' S: i5 J) l3 S
- """
" L( _2 g P5 w/ [) | - print("+----------------------------------------------------------+")+ P1 S a T+ s
- print(">>> 新大榭Python文件启动程序(py文件双击) V1.3.21.0801 ")
; \9 A% s# r6 P3 _6 ]# j' u - print("+----------------------------------------------------------+")
x- j5 u c7 k0 g6 p' h - print(">>> 新大榭Web实验室 http://lab.daxie.net.cn/ ")
- `1 R7 F1 q/ A( _5 ^7 u# h% I/ @ - print("+----------------------------------------------------------+"): X7 O8 _- ?5 `8 }# ]
- print("↓↓↓ 《19路围棋盘》")$ S6 Y; P" z6 S+ D A; s* R9 G
- print("+----------------------------------------------------------+")
3 N6 R4 w8 C. g1 w: {$ _6 c - 7 {* r- b* O, y
- # 以下为主程序核心代码 ↓↓↓
+ o: s: j, B" v4 q3 A; g, f& C# X
" m* v; E! ~( |* |# x2 n; H" d- import turtle as tt/ e) h# a( M* |. a) s$ ^+ Z
/ k2 P% }' G4 D& B- A8 \- tt.TurtleScreen._RUNNING = True # 启动绘图,在IDE中运行加这句可避免报错; c. ]2 ?1 k1 L3 V! p
- tt.speed(5) #速度0-10,0表示默认速度. \5 `! I. O6 h' ?' C! V% B
- ! @7 r' c& z- B m, C9 H+ H5 f8 Q
- x = -2707 W1 O0 h) R: j/ V9 K! G# R5 g5 Z
- y = -270
- _- L1 ?! [/ J n - d = 540' a R1 P1 i. _( D
- s = 30# E8 i& e0 n, K9 Y7 E
- for i in range(19):
/ M7 B1 V8 C5 f - tt.penup()5 I( u4 _/ {8 T. S" T; F+ _2 T
- tt.goto(x, y)% A8 T4 l9 c" G+ g* R1 r
- tt.pendown()- H) D' F2 T+ ~" W
- tt.forward(d)
0 e$ u& G4 G+ J# q0 C; J" \ - y = y + s' [% e3 H$ W: Z" Y
- 4 N% \; N$ M2 q! u
- tt.left(90)" e& c/ m4 L) v1 \ [* B+ p) V
- x = -2703 }; ~0 ]) y2 k# F
- y = -2701 h+ l7 n% a! }, q# E
- d = 5405 z" N3 B9 D7 t. @0 ^
- for i in range(19):
$ j( f+ Q, @! }% | |9 k, f" _ - tt.penup()
4 ?, K9 X, w; ^; @7 u2 M - tt.goto(x, y)
8 ~, Y% \% z$ s0 x/ \% o2 T - tt.pendown()( T/ v. |1 `3 C5 }$ R
- tt.forward(d)- Z! F+ x# u+ c& O
- x = x + s
$ p4 g6 L( h0 z4 G1 P4 s - + p- `) s$ n, W0 `: M1 q
- point = ((-180,-180),(0,-180),(180,-180),' y+ `. p5 K# M l* i
- (-180,0),(0,0),(180,0),
" B. D9 C/ ]1 T% b4 e4 b - (180,180),(0,180),(-180,180))
" t1 k+ s; q& i7 h& [$ t7 h% A - for x, y in point:
* k5 `( ?7 f/ F7 m3 D3 v - tt.penup()
7 n/ e' m( G3 a: r, U. k4 T& A" _ - tt.goto(x, y)4 T/ e: p1 s: Z2 K& w
- tt.pendown()' ]1 O. M; x! f. }
- tt.dot(6)- G2 t. ~9 o6 T, @. m+ P
- # S3 ~ `0 c* U, t: v
- tt.hideturtle() # 隐藏画笔,使得图像看上去更完美
0 O, W& z4 ]( j& ]4 T - tt.done()/ G9 }9 ?2 g' Q7 e* ?3 W* J$ F
- 4 {$ n9 f. i1 c
- # ↓↓↓ 以下代码优化与答题无关,可屏蔽IDLE程序意外退出!( X# h, A, N) y5 v
! @) ~# P7 W, f7 a- print("┏----------------------------┓")
/ n3 E* f+ G# s3 ^- O7 @- M - print("┣--- 按下回车键即退出程序 ---┫")
( A2 ~2 ~* i! F( G" [" k - print("┗----------------------------┛") - _! {+ A! D/ g+ c4 ]9 P' `0 f
- input(">>>")
复制代码 |
|