文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

通过python turtle画图模块做

2023-01-31 05:56

关注

最新再看python3,发现了一个“海龟”画图模块,就上手用了一下,主要用到一些简单的函数和列表适合初学者浏览。windows下写的,可以使用pyinstall生成exe文件。

#Copyright LeoYuan 2017
#mail:centos@126.com
__author__ = 'leoyuan'
import turtle as t
import time
import random
import sys

def screenint():
    t.title("骰子游戏!")
    try:
        t.bgpic("touzi.gif")
    except:
        pass
    t.setup(width=570, height=350, startx=400, starty=300)
    t.screensize(500, 300)
#os->offset

def num(os):
    global one, two, three, four, five, six
    one = (1, (50 + os, -50))
    two = (2, (25 + os, -50), (75 + os, -50))
    three = (3, (50 + os, -25), (25 + os, -75), (75 + os, -75))
    four = (4, (25 + os, -25), (75 + os, -25),
           (25 + os, -75), (75 + os, -75))
    five = (5, (25 + os, -25), (75 + os, -25),
           (25 + os, -75), (75 + os, -75), (50 + os, -50))
    six = (6, (25 + os, -25), (75 + os, -25),
          (25 + os, -75), (75 + os, -75),
          (25 + os, -50), (75 + os, -50))

def user_int():
    global user_count, ai_count, name
    ai_count = random.choice(('one', 'two', 'three', 'four', 'five', 'six'))
    user_count = random.choice(('one', 'two', 'three', 'four', 'five', 'six'))
    name = t.textinput('完善信息', '输入姓名:')
    t.up()
    t.goto(-100, 30)
    try:
        t.write(name + "正在扔出骰子……", align='left', font=('微软雅黑', 14, 'normal'))
    except:
        sys.exit(0)
    time.sleep(2)
    t.clear()

def ai_int():
    t.up()
    t.goto(100, 30)
    t.write("电脑正在扔出骰子……", align='right', font=('微软雅黑', 14, 'normal'))
    time.sleep(2)
    t.undo()

def beauty():
    beauty_c = 0
    t.setx(-200)
    t.pensize(2)
    t.down()
    t.color('red', 'yellow')
    t.speed(8)
    t.begin_fill()
    while True:
        beauty_c += 1
        t.fd(200)
        t.lt(170)
        if beauty_c == 36:
            break
    t.end_fill()
    t.done()

def pk():
    u_count = int(eval(user_count)[0])
    a_count = int(eval(ai_count)[0])
    if u_count == a_count:
        t.write('打成平局!', align='right', font=('微软雅黑', 30, 'normal'))
    elif u_count > a_count:
        t.write('恭喜' + name + '胜利!', align='right', font=('微软雅黑', 30, 'normal'))
        beauty()
    else:
        t.write('好可惜!电脑赢了!', align='right', font=('微软雅黑', 30, 'normal'))
    time.sleep(2)
    t.bye()

def draw_dot(n):
    for d in range(n[0]):
        x = n[d + 1][0]
        y = n[d + 1][1]
        t.goto(x, y)
        t.dot(25, 'red')
        t.up()

def frame(dot, os):
    t.color('black')
    t.pensize(5)
    t.up()
    t.goto(0 + os, 0)
    t.down()
    t.speed(10)
    for i in range(4):
        t.forward(100)
        t.right(90)
    t.up()
    draw_dot(dot)
    time.sleep(1)

screenint()
user_int()
num(-150)
frame(eval(user_count), -150)
ai_int()
num(100)
frame(eval(ai_count),100)
pk()
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯