|

楼主 |
发表于 2021-8-15 16:47:25
|
显示全部楼层
今天就来画一个围棋的棋谱图,效果图如下:, @( K: \0 ^4 S
3 d B% O- s; h$ Y0 _0 j) L# J
' f4 q0 H0 k M- @4 [
代码如下:( _; c4 Z; u+ N G$ |
- # -*- coding: utf-8 -*- q- F% M9 m/ `5 H- s" I
- """
8 f0 L0 x# ^; a7 B, {' U0 e, M - @Team: 新大榭论坛
9 f7 ?) X; i0 t+ h3 v" d3 O' Q2 E - @Author: 张黎斌
# e7 e: J2 k. m2 B+ V - @update: 2021-08-15
- Z, F' i" i/ l& g6 J9 ?; G/ ^ - @Version: v1.0
; J5 j$ o6 j# o) _- Z3 t- l - @BBSid: 7171-17-01, N" @- u% J8 M, d- [! G$ }
- @Level: B V- i( G. D- k0 a5 ^4 j- [( \
- ---------------------------* o. B: K0 H; j/ Q. {
- 说明:19路围棋盘
& `# h) P' Y0 V+ X: I+ L+ x6 j - ---------------------------
5 {' y+ f, j# G1 J* z - """; t, j5 ^( b! x9 {) O
- print("+----------------------------------------------------------+")% G; [- ^3 D% {# q6 ]
- print(">>> 新大榭Python文件启动程序(py文件双击) V1.3.21.0801 ")
* r6 ]+ { S! x; g0 @ - print("+----------------------------------------------------------+")" r% x }# e3 J& q0 p# d# J
- print(">>> 新大榭Web实验室 http://lab.daxie.net.cn/ ")2 p1 U" z F8 ~7 L& J: e, u
- print("+----------------------------------------------------------+")( Z2 w; R) s9 l
- print("↓↓↓ 《19路围棋盘》")
% m: p: G- E0 J+ c$ S1 R - print("+----------------------------------------------------------+")
7 F8 l" M0 S) i8 }' J5 f0 I - ( L, d- a. E: i2 u
- # 以下为主程序核心代码 ↓↓↓, o. V" o/ A# i* k, `
0 g8 E1 H, [5 Y! s- import turtle as tt
; g X. E, {7 N/ y7 M1 H
* H" J( f: V3 T: W% ?, E$ {- tt.TurtleScreen._RUNNING = True # 启动绘图,在IDE中运行加这句可避免报错
3 C! E; [9 @2 d. E - tt.speed(5) #速度0-10,0表示默认速度$ ~* m/ P H9 N7 ~2 V9 h2 }$ N
6 ]3 j& d8 H6 z$ y. O" u$ q! I- x = -270
6 G1 _2 M# y$ d - y = -2707 ^% t/ N8 G( f+ q) g
- d = 540
* O! R; c; E- M8 o: C& r - s = 301 D. a! C* s4 ]6 r
- for i in range(19):
! ~, z2 m N& K, G - tt.penup()" c6 U& I: s* f7 o9 Q" y" g# R3 ?5 {
- tt.goto(x, y)- u" b2 p7 I; }+ ~
- tt.pendown()
, l ~+ \8 G% a( V" a6 } - tt.forward(d)" V. g \) r- F3 k; p
- y = y + s2 @$ M6 l" s" H& n( x3 X
- ) J9 b% s! |" _# @9 [8 o4 N
- tt.left(90)
( j: ^8 O4 \" A, T+ Z - x = -270
( d4 q. R5 p$ p9 w1 v - y = -270
6 U5 |# O( N. N2 G& ^6 q - d = 540- P5 Z1 x$ V! W( m
- for i in range(19):- q1 d- [* ?2 k( f; }0 T
- tt.penup()
; N) {5 _9 f* I - tt.goto(x, y)
& Q5 f$ } z) L% w - tt.pendown()
, R/ \" T( r$ k5 B - tt.forward(d)
" O! J( h; a- Q0 R; H# u; d$ h - x = x + s
6 D1 r( q4 V. L, R: Y) n# T -
4 `. f! t5 [9 T# O - point = ((-180,-180),(0,-180),(180,-180),
/ v y# @( R( h+ {1 S8 h" y - (-180,0),(0,0),(180,0),
$ e9 m1 {9 {5 u; s1 J! H - (180,180),(0,180),(-180,180))9 v4 u+ S" G# N* K2 Y" L, r
- for x, y in point:
; b# J" S3 _( S5 S - tt.penup(): X+ m5 n6 l7 [; V) R( |/ f6 r; n# R
- tt.goto(x, y)
) X3 K) A( [ o3 k# o. M - tt.pendown()
& W3 e8 o. V% @1 _' f. n - tt.dot(6): S9 c4 e2 \2 [( o: O
- ) Y0 O# r( _$ c# }2 m, ]
- tt.hideturtle() # 隐藏画笔,使得图像看上去更完美
( ~3 B0 H* ~1 z) u& l( y3 @ - tt.done()2 n/ B/ \( Q% j9 j; _6 g
) m3 C2 ]1 G5 ]: H5 X5 a9 g1 `- # ↓↓↓ 以下代码优化与答题无关,可屏蔽IDLE程序意外退出!" M' ~5 B" l; D1 _) P/ O4 ?
4 d3 O: H6 T2 H. q3 m- print("┏----------------------------┓")) `* j( J* ~ T: Z: V8 e0 T8 C4 ~
- print("┣--- 按下回车键即退出程序 ---┫")
9 ?. M; ]% _2 s7 p/ m9 p - print("┗----------------------------┛") ! W6 m5 ^6 |+ p" {
- input(">>>")
复制代码 |
|