让坦克自动跑起来

这里需要一个坦克的图。

放到与脚本同一目录。

好,我们就让这个坦克自动跑。

下面上代码:

# !/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan import pygame, sys
from pygame.locals import * pygame.init() FPS = 30
fpsClock = pygame.time.Clock() DISPLAY_SURF = pygame.display.set_mode((400, 300), 0, 32)
pygame.display.set_caption("TankMoving") WHITE = (255, 255, 255)
catImg = pygame.image.load("tankU.png")
catX = 10
catY = 10
direction = 'right' while True:
DISPLAY_SURF.fill(WHITE) if direction == "right":
catX += 5
if catX == 280:
direction = 'down'
elif direction == 'down':
catY += 5
if catY == 220:
direction = 'left'
elif direction == 'left':
catX -= 5
if catX == 10:
direction = 'up'
elif direction == 'up':
catY -= 5
if catY == 10:
direction = 'right' DISPLAY_SURF.blit(catImg, (catX, catY)) for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit() pygame.display.update()
fpsClock.tick(FPS)

  

后来想了一想让它自动随机的跑,于是改了一下。

# !/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan import pygame, sys, random
from pygame.locals import * pygame.init() FPS = 30
fpsClock = pygame.time.Clock() DISPLAY_SURF = pygame.display.set_mode((400, 300), 0, 32)
pygame.display.set_caption("TankMoving") WHITE = (255, 255, 255)
catImg = pygame.image.load("tankU.png")
'''
catX = 10
catY = 10
direction = 'right'
'''
catX = 200
catY = 140 while True:
DISPLAY_SURF.fill(WHITE) temp = random.randrange(0, 4) # 0-3 if temp == 0:
catX += 10
if catX == 280:
catX -= 10
elif temp == 1:
catY += 10
if catY == 220:
catY -= 10
elif temp == 2:
catX -= 10
if catX == 10:
catX += 10
elif temp == 3:
catY -= 10
if catY == 10:
catY += 10 DISPLAY_SURF.blit(catImg, (catX, catY)) for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit() pygame.display.update()
fpsClock.tick(FPS) '''
if direction == "right":
catX += 5
if catX == 280:
direction = 'down'
elif direction == 'down':
catY += 5
if catY == 220:
direction = 'left'
elif direction == 'left':
catX -= 5
if catX == 10:
direction = 'up'
elif direction == 'up':
catY -= 5
if catY == 10:
direction = 'right'
'''

  

最后,来个截图吧

python3 pygame 坦克自动移动的更多相关文章

  1. Python3+pygame实现的90坦克大战 代码完整 有演示效果

    我是一个典型的80后,年轻时玩过了特别多的游戏,所以这几天用Python3+pygame实现了一个另外小游戏"坦克大战"(其他的游戏,请翻阅我的博客) 本实例代码量有些多,完整的版 ...

  2. Python3+pygame实现的flappy bird游戏,代码完整,还有音乐

    之前一直在手机上玩flappy bird游戏,闲暇时间就编写了一个 是采用python3+pygame模块制作而成的,运行效果非常流畅,会让你大吃一惊哦哈哈 一.运行效果展示 下载游戏之后,注意在自己 ...

  3. Python3+pygame实现的俄罗斯方块 代码完整 有演示效果

    一.简单说明 80.90后的小伙伴都玩过"俄罗斯方块",那种"叱咤风云"场景 偶尔闪现在脑海 真的是太爽了:如果没有来得及玩过的同学,这次可以真正的自己做一个了 ...

  4. Python3+pygame实现Windows经典扫雷

    今天给大家分享一个由Python3(当然python3.5 3.6 3.7 3.8 ...都行)与pygame模块结合制作的一个经典小游戏"扫雷" 代码是完全可运行的,请大家放心运 ...

  5. Python3+Pygame实现的射击游戏,很流畅,有音效

    之前看到过很多人写的飞机大战,当然了之前我也写过多个版本,总体来说功能是实现了,但总感觉不够"炫" 今天浏览Python资料的时候,意外发现了这个很好的"射击" ...

  6. pygame坦克大战前夕

    最近想自己写pygame版的坦克大战,今晚已经完成如下功能: 1,我方坦克,可手动移动:敌方坦克,自动转方向与移动 2,坦克颜色随机,坦克形态大小可调. 3,双方坦克速度可调. 4,刷新坦克的位置随机 ...

  7. Python3+pygame中国象棋 代码完整 非常好 有效果演示

    这几天看到抖音上有个妹子下象棋超级猛,我的中国象棋也差不到哪去啊,走 做一个.... 一.运行效果 二.代码 下面的代码用到图片素材(images文件夹),下载地址如下:https://www.itp ...

  8. cocos2d-x游戏开发系列教程-坦克大战游戏之敌方坦克AI的编写

    在上篇我们完成了子弹和地图碰撞的检测,在这篇我们将完成敌方坦克AI的编写. 具体思路是屏幕中保持有四个敌方坦克,然后坦克随机方向运动,并且子弹消失后1秒发射一次 1.我们新建一个敌方坦克的AI类来控制 ...

  9. 教你如何用python和pygame制作一个简单的贪食蛇游戏,可自定义

    1.效果图 2.完整的代码 #第1步:导出模块 import pygame, sys, random from pygame.locals import * # 第2步:定义颜色变量,在pygame中 ...

随机推荐

  1. Add Webhooks to Your API the Right Way

    Add Webhooks to Your API the Right Way Adam DuVander / December 15, 2016 In the last 10 years, APIs ...

  2. iOS 平台上常见的安装包有三种,deb、ipa 和 pxl

    前言:目前 iOS 平台上常见的安装包有三种,deb.ipa 和 pxl. 其中 deb 格式是 Debian 系统(包含 Debian 和 Ubuntu )专属安装包格式,配合 APT 软件管理系统 ...

  3. Lucene-全文索引

    近期接触了lucene,我想也有非常多人以前听过,于是带着好奇心,我開始对lucene进行了解,给我影响最深的是它非常多的应用了索引表,这个工具之所以快是就是由于大量引用到了索引表.今天仅仅说下我刚開 ...

  4. 验证list的底层数据结构

    <STL源代码剖析>中,指出SGI STL的list底层数据结构式循环双向链表.而且在链表尾端留一个空白节点.让end指向它.因为是双向的,那么list的迭代器必须是Bidirection ...

  5. 深入理解 GRE tunnel

    深入理解 GRE tunnel 时间 2012-11-08 19:05:22  A Geek's Page 原文  http://wangcong.org/blog/archives/2149 主题  ...

  6. 4.Maven之(四)Maven命令

    转自:https://blog.csdn.net/u012152619/article/details/51473410

  7. es7 --- 新特性

    ES7只有2个特性: includes() 指数操作符 不使用ES7 使用indexOf()验证数组中是否存在某个元素,这时需要根据返回值是否为-1来判断: let arr = ['react', ' ...

  8. 关于exports 和 module.exports

    本文来源为node.js社区附上链接 http://cnodejs.org/topic/5231a630101e574521e45ef8 require 用来加载代码,而 exports 和 modu ...

  9. BZOJ5332: [Sdoi2018]旧试题(莫比乌斯反演)

    时光匆匆,转眼间又是一年寒暑…… 这是小 Q 同学第二次参加省队选拔赛. 今年,小 Q 痛定思痛,不再冒险偷取试题,而是通过练习旧 试题提升个人实力.可是旧试题太多了,小 Q 没日没夜地做题,却看不到 ...

  10. shell date 命令说明

    shell date 命令说明 使用方法:date [选项]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 以给定的格式 ...