|
|

楼主 |
发表于 2021-8-15 16:47:25
|
显示全部楼层
今天就来画一个围棋的棋谱图,效果图如下:
7 ]; f9 }' V6 @% x/ r8 X) Z( e! |$ d& W
6 O: U. d; x' F; b% Y1 L+ ]3 F
代码如下:, Y8 T5 R5 c% x m* J3 U2 I4 b
- # -*- coding: utf-8 -*-. }9 Q3 N4 Y/ l$ _0 u- O
- """
4 L2 \- H X% |6 d! B+ U - @Team: 新大榭论坛
# q2 n* Z% C" i/ {) W - @Author: 张黎斌7 i# O D; Y2 R: ?+ P" U- i+ p- U7 L
- @update: 2021-08-15% n: _+ X" S7 }3 j# \" E" U! J3 q
- @Version: v1.0
. \. U6 `( W& E- n; Z - @BBSid: 7171-17-01+ H8 r/ [: U* [3 ]& V0 U# Y! Q
- @Level: B
/ x# M) x) @' i. d/ x) X* q6 ~ - ---------------------------
/ X" p1 g* m5 Q& N V- K) I+ H - 说明:19路围棋盘* t" s& B- G& h% c6 ?: p
- ---------------------------: ~+ T: \8 p3 R0 u: r
- """* m* ]+ x; `0 B( U( d
- print("+----------------------------------------------------------+")+ ^5 n ]0 C( m U
- print(">>> 新大榭Python文件启动程序(py文件双击) V1.3.21.0801 ")& u5 Q2 W9 p7 ]1 t7 S4 J# x, J
- print("+----------------------------------------------------------+")' r3 g: G- F/ r0 Q! M
- print(">>> 新大榭Web实验室 http://lab.daxie.net.cn/ ")
/ k; @5 o/ e% W, t5 { - print("+----------------------------------------------------------+")* r/ q# z6 t/ M: s
- print("↓↓↓ 《19路围棋盘》")
' T6 s5 _( v# L/ r2 { - print("+----------------------------------------------------------+")
0 v4 R- f2 O( x6 x
8 E) f& n u$ a! _8 w% v- # 以下为主程序核心代码 ↓↓↓
1 A d2 [6 ?; s7 Q9 s& l# z; b
2 s' ~! q) f; B5 d, Q5 U& ^- import turtle as tt
: z% j# ]5 g/ i - + _3 N6 L- f: b8 o
- tt.TurtleScreen._RUNNING = True # 启动绘图,在IDE中运行加这句可避免报错
, i0 ?' r6 b% y; e' B6 C - tt.speed(5) #速度0-10,0表示默认速度+ G' e" z# P }' I" L
9 K J8 E- @# E+ X2 u2 P- x = -270, b& u& Y- f. G
- y = -270. g n2 T/ U. i8 _& A
- d = 540- q7 F" O( h4 D3 X+ z
- s = 30- @3 V4 B: P3 k# v) H
- for i in range(19):
6 V+ z; _* e/ R8 J - tt.penup()' ^% g5 ]! C ?! j$ A0 f
- tt.goto(x, y)
, O, P6 O# | p8 t U0 l - tt.pendown()
6 E( _& s. E- T0 y6 e* o - tt.forward(d)% [7 D1 O A/ }" q5 u. v. I* m6 M
- y = y + s# W- G- r' _1 Q
-
/ q* D* f0 w+ L - tt.left(90)" Y! c0 ~: [3 u! ]
- x = -270: _6 q" J6 ?2 `, D1 {
- y = -270
& F5 T5 G6 } `& O0 Y& I - d = 540( B! ^- q1 v" `6 m
- for i in range(19):
& w: L8 q, n' m) Y$ c7 a7 d: [ - tt.penup()
; z ^" T7 o6 X2 i b Q - tt.goto(x, y)
4 ?7 L/ x" ?; S/ ^3 W$ O' O9 i - tt.pendown()
q8 f1 H4 A1 V0 ` @ - tt.forward(d)
# h' c% q, \6 p% Y% k' W1 T - x = x + s- @6 z& H2 z. q# x0 G
- # r; ?2 H- T. O* E6 k6 I0 B2 K
- point = ((-180,-180),(0,-180),(180,-180),7 p. ?/ j& D- H$ e
- (-180,0),(0,0),(180,0),& r* r8 z) A0 h/ v, a% v
- (180,180),(0,180),(-180,180))
8 j3 {0 i4 w! L% r9 u% D, S/ Q( Y - for x, y in point:
# \, u' t+ h0 o0 s2 G; d8 E - tt.penup()% a6 m# G. e* T) m: N
- tt.goto(x, y); X7 Y2 T2 \( K; r
- tt.pendown()& R0 C- f( z. R4 i0 }
- tt.dot(6)# ~2 ^/ M. h' U( J( j4 d7 }0 D
-
+ h0 n! ~* K- _) v+ X - tt.hideturtle() # 隐藏画笔,使得图像看上去更完美 1 x! X! @* X& ?& ^; P7 Y
- tt.done()1 ]- \8 }/ n% R% m% C5 a! ~
: o* ?( q; ]- q- # ↓↓↓ 以下代码优化与答题无关,可屏蔽IDLE程序意外退出!
' {3 ]: X6 ?$ T+ w5 V
- d& g2 z6 U% z# m5 m- print("┏----------------------------┓")
# W" E) L( Z( e/ m6 Z' m - print("┣--- 按下回车键即退出程序 ---┫")
- K& U) h+ C s+ x3 q - print("┗----------------------------┛") " R+ w$ ^- J% Y) v9 F9 @% g& j
- input(">>>")
复制代码 |
|