让坦克自动跑起来

这里需要一个坦克的图。

放到与脚本同一目录。

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

下面上代码:

# !/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. 游戏开发之UDK引擎介绍和模型导入

    2014-09-18 10:01:3 3.7.5" style="border:0px; vertical-align:middle; max-width:100%"&g ...

  2. findFocus-获得拥有焦点的控件

    所有的view控件有一个findFocus方法,这个方法如下 /** * Find the view in the hierarchy rooted at this view that current ...

  3. php中str_repeat函数

    php中str_repeat函数 一.作用 用于repeat str 二.实例:输出菱形 代码: <!DOCTYPE html> <html lang="en"& ...

  4. vue 中表单 [v-bind:true-value="a" v-bind:false-value="b"] 的用法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Kinect 开发 —— 引言

    自然人机交互设计技术 (全息三维投影,手势肢体识别,眼动跟踪 ...) 符合人类心理的交互方式 自然用户界面 —— Natural User Interface 有机用户界面 —— Organic U ...

  6. 如何监控和解决SQL Server的阻塞(1) (当前阻塞)

    1. 什么是"阻塞"? 阻塞是SQL数据库应用"锁"机制的一个副作用.当一个应用请求针对某个数据库对象(例如全表,某行数据, 或者是某个数据页)加锁后,那么这个 ...

  7. Linux 时区的修改

    Linux 时区的修改 1. CentOS和Ubuntu的时区文件是/etc/localtime,但是在CentOS7以后localtime以及变成了一个链接文件 ``` [root@centos7 ...

  8. 今日SGU 5.10

    SGU 168 题意:从a矩阵求出b矩阵,规则直接看题目就行了,不好打字说明 收获:dp #include<bits/stdc++.h> #define de(x) cout<< ...

  9. C#截取指定长度中英文字符串方法 (修改)

    public static string GetFirstString(string stringToSub, int length) { Regex regex = new Regex(" ...

  10. cc1.exe -fno-stack-protector

    # github.com/mattn/go-sqlite3 cc1.exe: error: unrecognized command line option "-fno-stack-prot ...