文档章节

Python程序 Fauna

Rutherford1895
 Rutherford1895
发布于 2017/05/23 21:23
字数 172
阅读 2
收藏 0
点赞 0
评论 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从小白到大牛》第3章 第一个Python程序

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

tony关东升 ⋅ 06/20 ⋅ 0

什么是Cython?0基础学python开发

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

zhouzhou2018 ⋅ 05/22 ⋅ 0

Python Scrapy 爬虫(三):部署环境搭建

当我们的爬虫程序开发完成后,应该考虑的事情就是如何将我们的爬虫程序部署到我们的服务器上来运行了。 下面就以 CentOS 作为我们的爬虫程序的部署环境来介绍部署爬虫的第一步:部署环境搭建...

雨林_a1d6 ⋅ 05/29 ⋅ 0

你真的了解Python吗?这篇文章让你了解90%

  【IT168 评论】人们为什么使用Python?   之所以选择Python的主要因素有以下几个方面:   软件质量:在很大程度上,Python更注重可读性、一致性和软件质量,从而与脚本语言世界中的其...

博客园 ⋅ 05/21 ⋅ 0

python中#!/usr/bin/python与#!/usr/bin/env python的区别

目的是在运行python脚本的时候告诉操作系统我们要用python解释器去运行py脚本 所以我们在第一句往往会写如下两句中的其中一句: 或 就是说在没有在执行程序时指出用什么程序运行py脚本时,系统...

p柯西 ⋅ 06/15 ⋅ 0

Python(1)——python安装和第一个程序

/============================ 以下所有内容,均来自 廖雪峰 的官方网站, python 教程。 链接地址:http://www.liaoxuefeng.com ============================/ python 简介 1、python 是一...

docallen ⋅ 2017/04/25 ⋅ 0

学Python有什么用?python入门

  现下Python 可以做任何事情,无论是从入门级选手到专业级选手都在做的爬虫,还是Web 程序开发、桌面程序开发还是科学计算、图像处理,Python都可以胜任。   Python为我们提供了非常完善...

老男孩Linux培训 ⋅ 06/01 ⋅ 0

编程与下厨房:如何教女友写Python(二:不从Hello World开始

一、不从“Hello World”开始 但凡是介绍编程语言的入门书籍,都会把“hello world”这个句子的输出作为第一个程序的示例,这种约定俗成的做法就像是新居进火的仪式一般具有非凡的意义。 但是...

州的先生 ⋅ 05/18 ⋅ 0

Python3的基本知识点(一)

Python的基础知识 1.Python的第一个程序 对于Python程序的编写有很多种方法,一般常见的编写程序有3种方式 1、利用超级终端编写: 打开超级终端:如图1所示, 2、利用sublime进行编写Python的...

长风留言 ⋅ 05/28 ⋅ 0

Python怎么利用多核cpu

原文链接http://www.cnblogs.com/stubborn412/p/4033651.html def dead_loop(): def dead_loop(): {void DeadLoop() { while (true); } } from threading import Thread lib = cdll.LoadLibr......

dby_freedom ⋅ 05/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

6.1 压缩打包介绍 6.2 gzip压缩工具 6.3 bzip2压缩工具 6.4 xz压缩工具

压缩打包介绍 使用压缩工具的好处: 使用压缩文件,不仅可以节省磁盘空间,而且在传输时还能节省网络宽带。 我们通常讲的家用宽带和机房宽带100M是有区别的: 机房宽带的上行和下行都是100M,...

Linux_老吴 ⋅ 10分钟前 ⋅ 0

SpringBoot热部署加持

概述 进行SpringBoot的Web开发过程中,我们很多时候经常需要重启Web服务器才能保证修改的 源代码文件、或者一些诸如xml的配置文件、以及一些静态文件生效,这样耗时又低效。所谓的热部署指的...

CodeSheep ⋅ 16分钟前 ⋅ 0

OSChina 周六乱弹 —— 假如你被熊困到树上

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《如果写不出好的和弦就该在洒满阳光的钢琴前一起吃布丁》 《如果写不出好的和弦就该在洒满阳光的钢琴前一起吃布丁》- 谢...

小小编辑 ⋅ 47分钟前 ⋅ 5

vbs 取文件大小 字节

dim namedim fs, s'name = Inputbox("姓名")'msgbox(name)set fs = wscript.createobject("scripting.filesystemobject") 'fs为FSO实例if (fs.folderexists("c:\temp"))......

vga ⋅ 今天 ⋅ 1

高并发之Nginx的限流

首先Nginx的版本号有要求,最低为1.11.5 如果低于这个版本,在Nginx的配置中 upstream web_app { server 到达Ip1:端口 max_conns=10; server 到达Ip2:端口 max_conns=10; } server { listen ...

算法之名 ⋅ 今天 ⋅ 0

Spring | IOC AOP 注解 简单使用

写在前面的话 很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不...

Wenyi_Feng ⋅ 今天 ⋅ 0

博客迁移到 https://www.jianshu.com/u/aa501451a235

博客迁移到 https://www.jianshu.com/u/aa501451a235 本博客不再更新

为为02 ⋅ 今天 ⋅ 0

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部