|
|

楼主 |
发表于 2021-8-15 16:47:25
|
显示全部楼层
今天就来画一个围棋的棋谱图,效果图如下:0 C, n6 n0 o8 P; z0 F
# s% \9 |2 n% y7 M; h
0 f2 x# L; \5 [+ H代码如下:
! |# y& m# r1 S- i2 ~" K/ y- # -*- coding: utf-8 -*-
& G' E" m. w+ @0 x2 k! `9 J - """6 k! s2 X" t% c8 s; n* W
- @Team: 新大榭论坛0 ]$ Y8 z8 Q% L# G2 k& V2 e
- @Author: 张黎斌- L- f4 |6 F5 \' F
- @update: 2021-08-157 X# P& d) w7 z3 Z: p' Z, {
- @Version: v1.0
& w7 H; K0 i1 f5 _ - @BBSid: 7171-17-01; y' v7 `* z j9 C9 P
- @Level: B9 O0 k0 C: R& T* ?
- ---------------------------
8 [6 F( q3 c8 |. z' y0 E2 p5 y - 说明:19路围棋盘, h6 e9 O) ?% @& h# F
- ---------------------------: ?# O7 F9 U6 e% A E1 B) L
- """
* R/ v% l9 G2 k% r7 x - print("+----------------------------------------------------------+")
4 F6 H! b* A( [) T+ J5 W) r - print(">>> 新大榭Python文件启动程序(py文件双击) V1.3.21.0801 ")# z* R+ E* f/ j( v3 h) T" A3 `
- print("+----------------------------------------------------------+")
: x! U V9 ], G; h+ b5 y - print(">>> 新大榭Web实验室 http://lab.daxie.net.cn/ ")
8 C8 T7 R- H+ _* U - print("+----------------------------------------------------------+")6 r! ~, S% W! d% [! a
- print("↓↓↓ 《19路围棋盘》")* K) Z+ _( L g! S( B* ?: J
- print("+----------------------------------------------------------+")
$ u& k2 Q, z3 P$ O0 ^ - ' _5 ~3 Z; w, e; @, _
- # 以下为主程序核心代码 ↓↓↓
3 A' ?. L% x1 c: H
2 ]8 E5 W8 }7 ~# L7 n+ ]- import turtle as tt
- b1 u$ _, T8 g' l - , Z7 o2 T7 {$ X! K2 A; ~0 X
- tt.TurtleScreen._RUNNING = True # 启动绘图,在IDE中运行加这句可避免报错
1 [. W9 y' Q! H- F - tt.speed(5) #速度0-10,0表示默认速度
/ m8 `$ b: i3 X7 J6 H8 U
& q) J# t6 i% i. X# z- x = -270
1 ?; N/ O; }& b - y = -2702 Y; p6 N v$ ^) M7 H- k
- d = 5401 z( C. M7 k, @# ?' b
- s = 30
9 D2 Y3 w o$ s7 e ^- g1 k - for i in range(19):0 m0 F% I. j7 ]& U
- tt.penup(), C+ Q# j6 b8 w
- tt.goto(x, y)
9 }& y+ U3 b/ A3 r+ F - tt.pendown()
; n4 ^5 D; [* d5 l" C4 e9 w4 S - tt.forward(d)
1 o7 o G1 n1 L+ t w - y = y + s q/ x @6 H0 t$ r; {
-
* b# }; u: t O; w. W* M( C - tt.left(90)2 `+ v f0 W) c# w
- x = -270
; q& b7 z H; | - y = -270
6 C- e0 q" i$ O: V; C - d = 540
6 S6 Q# s4 G+ f - for i in range(19):
, t% v7 T; N1 n1 ^2 B - tt.penup()" e. j; G7 M }' x
- tt.goto(x, y)4 B, {5 |: l- v0 _0 h/ C' ?
- tt.pendown()7 [" C$ ?5 I/ B( J8 c, P
- tt.forward(d)
, P- h+ R: L5 Z( C5 l - x = x + s$ l& ~5 |; D" N* F
- $ {# q# z7 V! v& ~( n/ w
- point = ((-180,-180),(0,-180),(180,-180),
/ v; e' J8 M6 {/ n) d" { - (-180,0),(0,0),(180,0),$ U. x; ^7 T0 p
- (180,180),(0,180),(-180,180)); b6 Q P2 f% `: f8 l, `8 m
- for x, y in point:
# Y3 M8 t1 r8 B2 f h) S; ` - tt.penup()
. @0 R. U3 M3 a h+ _& n+ H - tt.goto(x, y) C3 [% I5 q R! ^' ?* p+ j8 Y8 _( R
- tt.pendown()! t: g2 D, C2 S I/ C- T
- tt.dot(6)3 E2 G& A0 J5 `7 A3 y
- 4 P2 x+ R0 l: ], w! C$ ^5 i
- tt.hideturtle() # 隐藏画笔,使得图像看上去更完美
/ V3 \! i8 {" f% l* m1 a+ i$ G# R - tt.done()
. I1 a0 | N1 q. F- ]7 `
4 s6 S) a0 j; m- # ↓↓↓ 以下代码优化与答题无关,可屏蔽IDLE程序意外退出!5 j T7 f6 ?4 x
' H9 r4 m/ R2 w r- print("┏----------------------------┓")
) s& k/ {% S# _1 Y% z- T/ I - print("┣--- 按下回车键即退出程序 ---┫")% H" H( a2 d4 y( ^2 F6 l. x
- print("┗----------------------------┛") , ^6 u$ o, p. f: y% `& n8 d$ k
- input(">>>")
复制代码 |
|