用 Python 实现一个简易版的 Pong 游戏 (一)

用户头像
Matrix Chan
关注
发布于: 2020 年 09 月 07 日
用 Python 实现一个简易版的 Pong 游戏 (一)

介绍

雅达利(Atari) 是诺兰·布什内尔(Nolan Key Bushnell) 和 泰得・都布尼(Ted Dabney)在1972年成立的电脑公司,它是街机、家用电子游戏机和家用电脑的早期拓荒者。《Pong》是雅达利在1972年11月29日推出的一款投币式街机游戏,它是一款模拟乒乓球比赛的2D体育游戏,“Pong” 来自乒乓球被打击后所发出的声音。Pong 的设计师是 艾伦·奥尔康(Allan Alcorn)



在游戏中。玩家能和电脑玩家或另一位人类玩家进行游戏。玩家在此游戏中需要控制乒乓球拍上下移动来反弹乒乓球。当玩家未能反弹乒乓球的话,对方就会得到一分。玩家在此游戏的目的就是尽量反弹乒乓球并夺取高分以击败对手。



开发环境

  • Visual Studio Code

  • Python3.7

Turtle(海龟绘图) 模块简介

Turtle 库是 Python 语言中一个直观有趣的图形绘制函数库,在海龟绘图中,我们可以通过指令让一只带着钢笔的虚拟的海龟在屏幕上移动,它爬行的轨迹成为了所绘制的图形。

绘图坐标系统

在使用 Turtle 模块之前,我们先简单地认识海龟绘图的坐标系统。Turtle 模块的坐标系统和平时在数学课程上的笛卡尔坐标系一样,绘图界面的中心点为坐标原点(0,0),越往右边 x 坐标坐标越大,越往上边 y 坐标越大,如图:

使用海龟绘制图形

在 Visual Studio Code 上新建一个 名为 my_turtle.py 的Python 文件

import turtle
# 创建Screen对象
screen = turtle.Screen()
# 使用Screen 的 setup() 方法设置绘图屏幕的大小,宽度为500像素,高为400像素
screen.setup(500, 400)
# 创建turtle(海龟)对象
myTurtle = turtle.Turtle()
# 向前移动海龟150个像素
myTurtle.forward(150)
# 向左移动海龟90个像素
myTurtle.left(90)
# 向前移动海龟75个像素
myTurtle.forward(75)
# 退出
screen.exitonclick()



  • import turtle : 导入 turtle 模块,本示例中使用 turtle 模块的 Screen() 以及 Turtle() 两个方法;

  • screen = turtle.Screen(): 利用 turtle 模块的 Screen() 方法产生一个Screen对象,并赋值给 screen 变量;

  • screen.setup(500, 400) :利用Screen 对象的 setup() 方法设定绘图屏幕宽为500像素,长为400 像素;

  • myTurtle = turtle.Turtle(): 利用 turtle 模块的 Turtle() 方法产生一个 Turtle 对象并赋值给变量 myTurtle

  • myTurtle.forward(150) : 调用forward() 方法向前(沿着x坐标向右)移动150个像素距离;

  • myTurtle.left(90): 调用 left() 方法让海龟左转90 度

注意:turtle.Turtle() 乌龟 对象创建时,预设方向为面向东方,也就是 沿x坐标右边;

  • myTurtle.forward(75): 调用forward() 方法向前移动75个像素距离(沿y坐标向上);

  • screen.exitonclick() : 用户点击程序窗口时,程序退出。



运行 my_turtle.py:Visual Studio Code -> 右键-> Run Python File Terminal 

运行效果:



运行代码后,生成了一个 500*400 的程序窗口,小海龟出现在窗口中心,它的预设方向为沿x坐标右边。

小海龟首先向前(沿着x坐标向右)移动150个像素距离,然后左转90 度,最后向前(沿着x坐标向右)移动75个像素距离。



用户点击程序窗口,程序退出。




用 Python 实现一个简易版的 Pong 游戏 (二):

https://xie.infoq.cn/article/6c7b39d26c5138c7d48f2dfc7



发布于: 2020 年 09 月 07 日 阅读数: 75
用户头像

Matrix Chan

关注

Write the Code. Change the World. 2018.06.12 加入

Hi,我是 Matrix,一名程序員、創客,目前主要研究方向是機器人與 人工智能技術。 個人網站: matrixtech.xyz

评论

发布
暂无评论
用 Python 实现一个简易版的 Pong 游戏 (一)