文档章节

Python程序 Fauna

Rutherford1895
 Rutherford1895
发布于 2017/05/23 21:23
字数 172
阅读 2
收藏 0
import turtle
import time

boxsize=200
caught=False
score=0

#functions that are called on keypresses
def up():
    mouse.forward(10)
    checkbound()

def left():
    mouse.left(45)

def right():
    mouse.right(45)

def down():
    mouse.backward(10)
    checkbound()

def quitTurtles():
    window.bye()

#stop the mouse from leaving window
def checkbound():
    global boxsize
    if mouse.xcor() > boxsize:
        mouse.goto(boxsize,mouse.ycor())
    if mouse.xcor() < -boxsize:
        mouse.goto(-boxsize,mouse.ycor())
    if mouse.ycor() > boxsize:
        mouse.goto(mouse.xcor(),boxsize)
    if mouse.ycor() < -boxsize:
        mouse.goto(mouse.xcor(),-boxsize)

#setup screen
window = turtle.Screen()
mouse = turtle.Turtle()
cat= turtle.Turtle()
me=turtle.Turtle()
mouse.goto(100,100)
me.goto(-100,-100)

#add key listeners
window.onkeypress(up,"Up")
window.onkeypress(left,"Left")
window.onkeypress(right,"Right")
window.onkeypress(down,"Down")
window.onkeypress(quitTurtles, "Escape")

difficulty=window.numinput("Difficulty",
    "Enter a difficulty from 1 - 5",
    minval=1, maxval=5)

window.listen()
#mainloop
#note how it changes with difficulty
while not caught:
    cat.setheading(cat.towards(mouse))
    cat.forward(8+difficulty)
    me.setheading(me.towards(cat))
    me.forward(10+difficulty)
    score = score+1
    if cat.distance(mouse)<5:
        caught=True
    elif me.distance(cat)<5:
        caught=True
    time.sleep(0.2-(0.01*difficulty))
window.textinput("GG","Welldone. You scored:"
        + str(score*difficulty))
window.bye()

 

© 著作权归作者所有

共有 人打赏支持
Rutherford1895
粉丝 0
博文 2
码字总数 234
作品 0
其它
程序员
Python入门到进阶,这本书有什么不同?

人们常说Python语言简单,编写简单程序时好像也确实如此。但实际上Python绝不简单,它也是一种很复杂的语言,其功能特征非常丰富,能支持多种编程风格,在几乎所有方面都能深度定制。要想用好...

异步社区
08/13
0
0
Python的设计理念和优缺点

  可扩充性可说是Python作为一种编程语言的特色。新的内置模块(module)可以用C 或C++写成。而我们也可为现成的模块加上Python的接口。Python可以使用户避免过分的语法的羁绊而将精力主要...

StreamWang
2010/04/21
0
1
在C++软件中嵌入python解释器

Python简介 Python是一种简单易学,功能强大的解释型编程语言,它有简洁明了的语法,高效率的高层数据结构,能够简单而有效地实现面向对象编程,特别适用于快速应用程序开发,也可以用来开发...

openthings
2015/01/21
0
0
《Python从小白到大牛》第3章 第一个Python程序

本章以HelloWorld作为切入点,介绍如何编写和运行Python程序代码。 运行Python程序主要有两种方式: 1.交互式方式运行 2.文件方式运行 本章介绍这两种运行方式实现HelloWorld程序。 使用P...

tony关东升
06/26
0
0
什么是Cython?0基础学python开发

  Cython是Python的一个超集,结合了Python的易用性和原生代码的速度,可以编译成C语言,产生的性能提升可以从几个百分点到几个数量级,具体取决于手头的任务。   使用Cython,你可以避开...

zhouzhou2018
05/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0
20180818 上课截图

小丑鱼00
今天
1
0
Springsecurity之SecurityContextHolderStrategy

注:下面分析的版本是spring-security-4.2.x,源码的github地址是: https://github.com/spring-projects/spring-security/tree/4.2.x 先上一张图: 图1 SecurityContextHolderStrategy的三个......

汉斯-冯-拉特
今天
1
0
LNMP架构(Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl)

Nginx负载均衡 网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。有时...

蛋黄_Yolks
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部