python3 pygame 坦克自动移动
让坦克自动跑起来
这里需要一个坦克的图。
放到与脚本同一目录。
好,我们就让这个坦克自动跑。
下面上代码:
# !/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 坦克自动移动的更多相关文章
- Python3+pygame实现的90坦克大战 代码完整 有演示效果
我是一个典型的80后,年轻时玩过了特别多的游戏,所以这几天用Python3+pygame实现了一个另外小游戏"坦克大战"(其他的游戏,请翻阅我的博客) 本实例代码量有些多,完整的版 ...
- Python3+pygame实现的flappy bird游戏,代码完整,还有音乐
之前一直在手机上玩flappy bird游戏,闲暇时间就编写了一个 是采用python3+pygame模块制作而成的,运行效果非常流畅,会让你大吃一惊哦哈哈 一.运行效果展示 下载游戏之后,注意在自己 ...
- Python3+pygame实现的俄罗斯方块 代码完整 有演示效果
一.简单说明 80.90后的小伙伴都玩过"俄罗斯方块",那种"叱咤风云"场景 偶尔闪现在脑海 真的是太爽了:如果没有来得及玩过的同学,这次可以真正的自己做一个了 ...
- Python3+pygame实现Windows经典扫雷
今天给大家分享一个由Python3(当然python3.5 3.6 3.7 3.8 ...都行)与pygame模块结合制作的一个经典小游戏"扫雷" 代码是完全可运行的,请大家放心运 ...
- Python3+Pygame实现的射击游戏,很流畅,有音效
之前看到过很多人写的飞机大战,当然了之前我也写过多个版本,总体来说功能是实现了,但总感觉不够"炫" 今天浏览Python资料的时候,意外发现了这个很好的"射击" ...
- pygame坦克大战前夕
最近想自己写pygame版的坦克大战,今晚已经完成如下功能: 1,我方坦克,可手动移动:敌方坦克,自动转方向与移动 2,坦克颜色随机,坦克形态大小可调. 3,双方坦克速度可调. 4,刷新坦克的位置随机 ...
- Python3+pygame中国象棋 代码完整 非常好 有效果演示
这几天看到抖音上有个妹子下象棋超级猛,我的中国象棋也差不到哪去啊,走 做一个.... 一.运行效果 二.代码 下面的代码用到图片素材(images文件夹),下载地址如下:https://www.itp ...
- cocos2d-x游戏开发系列教程-坦克大战游戏之敌方坦克AI的编写
在上篇我们完成了子弹和地图碰撞的检测,在这篇我们将完成敌方坦克AI的编写. 具体思路是屏幕中保持有四个敌方坦克,然后坦克随机方向运动,并且子弹消失后1秒发射一次 1.我们新建一个敌方坦克的AI类来控制 ...
- 教你如何用python和pygame制作一个简单的贪食蛇游戏,可自定义
1.效果图 2.完整的代码 #第1步:导出模块 import pygame, sys, random from pygame.locals import * # 第2步:定义颜色变量,在pygame中 ...
随机推荐
- 洛谷 P2913 [USACO08OCT]车轮旋转Wheel Rotation
P2913 [USACO08OCT]车轮旋转Wheel Rotation 题目描述 Farmer John has an old-time thresher (wheat harvester) tha ...
- RHEL7.1安装VNC
1.安装包 yum install vnc* -y 2.创建password vncserver 3.创建參数文件 [root@single ~]# cp /lib/systemd/system/vn ...
- Xposed框架之函数Hook学习
作者:Fly2015 Xposed是Android下Java层的开源Hook框架类似的有cydiasubstrate框架而且据说cydiasubstrate框架能实现Android的Java层和Nat ...
- The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP or FOR XML is also specified.
https://stackoverflow.com/questions/30045871/sorting-the-view-based-on-frequency-in-sql-server Just ...
- kafka自带没web ui界面,怎么办?安装个第三方的
见 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8.0.9和0.10以后版本)(图文详解)(默认端口或任意自定义端口)
- 谈一谈Nginx的强大
什么是Nginx? Nginx是一款高性能,开源的,支持高并发而轻量级的Web服务器,同时也是具有反向代理服务器及电子邮件(IMAP/POP3)的代理服务器. 基于REST架构风格,并且以统一资源描述 ...
- 华为PUSH SDK 接入方法
本文参考了华为推送平台官网及其Demo:http://developer.huawei.com/cn/consumer/wiki/index.php?title=%E6%8E%A5%E5%85%A5% ...
- Flex 正則表達式 电话、邮箱验证
一.经常使用验证 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9 ...
- js24---工厂模式2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- 关于结构体COORD介绍
COORD是windows API中定义的一种结构,表示一个字符在控制台屏幕上的坐标.其定义为: typedef struct _COORD { SHORT X; // horizontal coor ...