导航:首页 > 编程语言 > python模拟航班

python模拟航班

发布时间:2023-02-19 16:59:39

python写的飞机大战怎么部署到服务器

如何把Python项目部署到服务器上
一,不需要域名的情况下
1,访问阿里云官网
2,注册登录(建议支付宝授权)
3,登陆后---》产品--》云服务器ECS
4,滚动条拉倒页面底部--》点击学生机
5,进入该页面后默认是轻量应用服务器们可以切换至云服务器ECS
6,右侧选择系统镜像-à选择我们熟悉的(相比之下比较熟悉的)windows
7,购买完成后回到之前的登陆后的页面à点击右上角的控制台à点击左上角的云服务ESCà点击如图所示位置(蓝框位置)
8,进入管理
9,更多--》重置密码--》(密码重置成功后)--》右侧点击重启(需要手机验证码)
10,本示例安全组--》配置规则
11,导入规则”安全组规则.json”(json文件在后面给大家)
12.添加成功后返回上一个页面--》配置信息--》公网IP 找到公网ip,复制公网IP,(一会有用)
13,返回电脑桌面--》按windows键(或者点击开始)--》搜索”远程桌面连接”
14,点击连接按钮--》确定
15,根据上述步骤完成,就能顺利连接到服务器了,
1,此时把你的项目复制到上面,
2,安装一下Python环境,
3,安装需要的模块:
pip install pymysql
pip install Djanjo
pip install pillow
最后 pip list 查看一下是否安装成功
4,安装mysql数据库可视化工具
安装XAMPP,可以直接启动mysql,比较简单方便操作(推荐使用)
5,连接数据库,建立一个和你项目中一样的数据库名
把你原来的数据库导出来,把里面的数据复制粘贴到新建立的数据库中
6,配置setting.py文件中的DATABASES(根据自己的密码情况进行更 改)ALLOWED_HOSTS = ['*']
7,打开cmd窗口,同步数据库
8,运行(python manage.py runserver 0.0.0.0:8000),指定端口号
9,在浏览器中访问服务器中的公网ip即可(服务器不能关掉,不然不能访问)
二,使用花生壳的情况,会送一个域名(也可申请域名)
1,在服务器计算机中,安装花生壳软件
2,进入花生壳官网--》注册---》下载--》安装--》登录
3,点击内网穿透(添加映射,可以添加两个)
购买内网穿透基础服务(6元,购买送一个壳域名)-->购买成功重启花生壳-->重复上一步操作-->添加映射
4,在浏览器地址栏输入外网访问地址就可以访问了(花生壳不要关闭)
30
© 着作权归作者所有
成年人记忆力衰退严重,快来学孙韬老师整理的记忆“口诀”

00:30
讲真高效记忆训练营
广告
推荐阅读
页面访问调试
squidbrother
阅读99
搭建MySQL服务器
技术老男孩
阅读200
怎么使用SSH Windows链接虚拟机的Linux终端
小黄不头秃
阅读671
MySQL服务图形管理工具·phpMyAdmin
技术老男孩
阅读196
虚拟机Ubuntu剪切板无法共享的解决方案
小黄不头秃
阅读614
【送财气】适合家庭的理财方法?送你免费的爆款理财课,帮到你!

00:51
0元学理财快领
广告
2条评论
写评论
陌路班车
Djanjo写错了,是Django
3楼 · 2019-08-24 23:22
浪得虚佲
谢谢

❷ Python中好用的第三方mock库-httmock

在做一些项目的时候,因为用到了第三方的接口,而第三方的接口可能没有做好或者第三方的接口不方便访问的时候,一般都会用到Mock的技术。

Mock这个词在英语中有模拟的这个意思。Python3.x中本身就自带了Mock库,(Python2.x中还是单独的)Mock是Python中一个用于支持单元测试的库,它的主要功能是使用mock对象替代掉指定的Python对象,以达到模拟对象的行为。

简单的说,mock库用于如下的场景:

假设你开发的项目叫a,里面包含了一个模块b,模块b中的一个函数c(也就是a.b.c)在工作的时候需要调用发送请求给特定的服务器来得到一个JSON返回值,然后根据这个返回值来做处理。如果要为a.b.c函数写一个单元测试,该如何做?

一个简单的办法是搭建一个测试的服务器,在单元测试的时候,让a.b.c函数和这个测试服务器交互。但是这种做法有两个问题:

1 . 测试服务器可能很不好搭建,或者搭建效率很低。
2 . 你搭建的测试服务器可能无法返回所有可能的值,或者需要大量的工作才能达到这个目的。

httmock库是基于Mock库的,它更方便于用requests的方式来返回接口的值。

使用pip命令来安装:

用法:

1 您可以使用它来模拟第三方API和在内部使用 requests 的测试库,有条件地使用 urlmatch 装饰器:

控制台显示:

2 all_requests 装饰器没有条件地阻止实际的请求。 如果您返回一个字典,它将映射到返回的“request.Response”对象:

控制台显示:

3 如果你传递 Set-Cookie 头, request.Response.cookies 将包含这些值。 您也可以直接使用 response 方法,而不是返回一个dict:

控制台显示:

CC先生说:
要明白上面的例子,预备知识至少需要有:
-Python 中requests库的用法
-Python中装饰器的用法

or 你直接套用上面的用法就可以返回第三方接口或者依赖的模块的值了。

以上

❸ python编程例子有哪些

python编程经典例子:

1、画爱心表白、图形都是由一系列的点(X,Y)构成的曲线,由于X,Y满足一定的关系,所以就可以建立模型,建立表达式expression,当满足时,两个for循环(for X in range;for Y in range)就会每行每列的打印。

(3)python模拟航班扩展阅读:

Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。

Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。并且Python语言利用缩进表示语句块的开始和退出,而非使用花括号或者某种关键字。增加缩进表示语句块的开始,而减少缩进则表示语句块的退出,缩进成为了语法的一部分。

❹ python的pygame制作飞机大战时遇到的问题

能写这么多代码 应该能自主解决血量的问题
所以我猜代码是从哪里复制来的 对吗

❺ 怎么用python学飞机大战

1、我方飞机模块

import pygame

class MyPlane(pygame.sprite.Sprite):
def __init__(self,bg_size):
pygame.sprite.Sprite.__init__(self)

self.image1 = pygame.image.load(r'E:\learn pygame\image\me1.png').convert_alpha()
self.image2 = pygame.image.load(r'E:\learn pygame\image\me2.png').convert_alpha()
self.image3 = pygame.image.load(r'E:\learn pygame\image\me_protect.png').convert_alpha()
self.destroy_images = []
self.destroy_images.extend([\
pygame.image.load(r'E:\learn pygame\image\me_destroy_1.png').convert_alpha(), \
pygame.image.load(r'E:\learn pygame\image\me_destroy_2.png').convert_alpha(), \
pygame.image.load(r'E:\learn pygame\image\me_destroy_3.png').convert_alpha(), \
pygame.image.load(r'E:\learn pygame\image\me_destroy_4.png').convert_alpha() \
])
self.rect = self.image1.get_rect()
self.width,self.height = bg_size[0],bg_size[1]
self.rect.left,self.rect.top = (self.width - self.rect.width) // 2,self.height - self.rect.height - 60
self.speed = 10
self.active = True
self.invincible = False
self.mask = pygame.mask.from_surface(self.image1)

def moveUp(self):
if self.rect.top > 0:
self.rect.top -= self.speed
else:
self.rect.top = 0

def moveDown(self):
if self.rect.bottom < self.height - 30:
self.rect.top += self.speed
else:
self.rect.bottom = self.height - 30

def moveLeft(self):
if self.rect.left > 0:
self.rect.left -= self.speed
else:
self.rect.left = 0

def moveRight(self):
if self.rect.right < self.width:
self.rect.left += self.speed
else:
self.rect.right = self.width

def reset(self):
self.rect.left,self.rect.top = (self.width - self.rect.width) // 2,self.height - self.rect.height - 30
self.active = True
self.invincible = True

2、敌机与背景动图模块
import pygame
from random import *

class SmallEnemy(pygame.sprite.Sprite):
energy = 1
def __init__(self,bg_size):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load(r'E:\learn pygame\image\enemy1.png').convert_alpha()
self.destroy_images = []
self.destroy_images.extend([\
pygame.image.load(r'E:\learn pygame\image\enemy1_down1.png').convert_alpha(), \
pygame.image.load(r'E:\learn pygame\image\enemy1_down2.png').convert_alpha(), \
pygame.image.load(r'E:\learn pygame\image\enemy1_down3.png').convert_alpha(), \
pygame.image.load(r'E:\learn pygame\image\enemy1_down4.png').convert_alpha() \
])
self.rect = self.image.get_rect()
self.width,self.height = bg_size[0],bg_size[1]
self.speed = 2
self.active = True
self.rect.left,self.rect.top = \
randint(0,self.width - self.rect.width), \
randint(-5 * self.height, 0)
self.mask = pygame.mask.from_surface(self.image)
self.energy = SmallEnemy.energy
self.hit = False

def move(self):
if self.rect.top < self.height:
self.rect.top += self.speed
else:
self.reset()

def reset(self):
self.active = True
self.energy = SmallEnemy.energy
self.rect.left,self.rect.top = \
randint(0,self.width - self.rect.width), \
randint(-5 * self.height, 0)

class MidEnemy(pygame.sprite.Sprite):
energy = 4

❻ 如何为pygame的飞机大战增加一个分数排行榜python

import pygame
from plane_sprites import*
from Background import BackGround
from Enemy import Enemy
from Hero import Hero
from time import sleep
from Bullet import Bullet

class Plane_main(object):
def __init__(self):
print('游戏初始化')
self.screen = pygame.display.set_mode(SCREEN_RECT.size)
self.clock = pygame.time.Clock()
self.__create_sprites()

pygame.time.set_timer(CREATE_ENEMY_EVENT,1000)
pygame.time.set_timer(HERO_FIRE_EVENT, 500)
self.count = 0
self.score = 0
def __create_sprites(self):
# 背景组
self.back_group = pygame.sprite.Group()
bg1 = BackGround()
bg2 = BackGround(True)
pygame.mixer.init()
pygame.mixer.music.load("./Capo Proctions - Journey 00_00_00-00_00_59.ogg")
pygame.mixer.music.play(-1)

self.back_group.add(bg1,bg2)
# 敌机组
self.enemy_group = pygame.sprite.Group()
#敌级销毁组
self.enemy1_down_group=pygame.sprite.Group()
# 英雄组
self.hero_group = pygame.sprite.Group()
self.hero = Hero()
self.hero_group.add(self.hero)
def start_game(self):
pygame.init()
print("开始游戏...")
# pygame.mixer.init()
# pygame.mixer.music.load("./Capo Proctions - Journey 00_00_00-00_00_59.ogg")
# pygame.mixer.music.play(-1)

# gameIcon = pygame.image.load("./name.png")

# pygame.display.set_icon(gameIcon)

while True:

self.count+=1
# 1. 设置刷新帧率
self.clock.tick(10)
# 2. 事件监听
self.__event_handler()

# 3. 碰撞检测
self.__check_collide()
# 4. 更新精灵组
self.__update_sprites()
# 5. 更新屏幕显示

pygame.display.update()
def __event_handler(self):

"""事件监听"""

for event in pygame.event.get():
if event.type == pygame.QUIT:
Plane_main.__game_over()
elif event.type == CREATE_ENEMY_EVENT:
self.enemy_group.add(Enemy())
elif event.type == HERO_FIRE_EVENT:
self.hero.fire()
keys = pygame.key.get_pressed()
if keys[pygame.K_RIGHT]:
print('向右移动')
self.hero.speed = 5
self.hero.speed1 = 0
elif keys[pygame.K_LEFT]:
print('向左移动')
self.hero.speed = -5
self.hero.speed1 = 0
elif keys[pygame.K_UP]:
print('向上移动')
self.hero.speed1 = -5
self.hero.speed = 0
elif keys[pygame.K_DOWN]:
print('向下移动')
self.hero.speed1= 5
self.hero.speed = 0
else:
self.hero.speed = 0
self.hero.speed1 = 0
if event.type == HERO_FIRE_EVENT:
self.hero.fire()
print('发射子弹!!!!!')

def __check_collide(self):

"""碰撞检测"""
# 1. 子弹摧毁敌机
enemy_down = pygame.sprite.groupcollide(self.enemy_group, self.hero.bullets,True, True)
enemy1_down_group.add(enemy_down)
# 2. 敌机撞毁英雄
enemies = pygame.sprite.spritecollide(self.hero, self.enemy_group, True)
# 判断列表时候有内容`
if len(enemies) > 0:
sleep(3)
# # 让英雄牺牲
self.hero.kill()
# 结束游戏
Plane_main.__game_over()
def __update_sprites(self):
self.back_group.update()
self.back_group.draw(self.screen)
self.enemy_group.update()
self.enemy_group.draw(self.screen)
self.hero_group.update()
self.hero_group.draw(self.screen)
self.hero.bullets.update()
self.hero.bullets.draw(self.screen)
self.drawText(str(self.score),SCREEN_RECT.width - 50,50)
for enemy1_down in enemy1_down_group:
self.screen.blit(enemy1_down_surface[enemy1_down.down_index],enemy1_down.rect)
if self.count % 5 ==0:
enemy1_down.down_index += 1
if enemy1_down.down_index ==3:
# pygame.mixer.music.load("./baozha.ogg")
# pygame.mixer.music.play()
self.score+=5
enemy1_down_group.remove(enemy1_down)
print(self.score)

#更新精灵组
# for group in [self.back_group, self.enemy_group, self.hero_group,self.hero.bullets]:
# group.update()
# group.draw(self.screen)
@staticmethod
def __game_over():
"""游戏结束"""
print("游戏结束")
pygame.quit()
exit()
def drawText(self,text,posx,posy,textHeight=48,fontColor=(0,0,0),backgroundColor=(111,225,1)):
fontObj = pygame.font.Font('freesansbold.ttf',textHeight)
textSurfaceObj = fontObj.render(text,13,fontColor,backgroundColor)
textRectObj = textSurfaceObj.get_rect()
textRectObj.center = (posx,posy)
self.screen.blit(textSurfaceObj,textRectObj)

#判断当前执行的文件是否是主文件
#如果不是 则if下的代码不会执行
if __name__ == '__main__':
game = Plane_main()
game.start_game()

阅读全文

与python模拟航班相关的资料

热点内容
加密芯片的计算方法 浏览:187
手机存储为什么找不到微信文件夹 浏览:695
msf端口迁移命令 浏览:880
工商app积分怎么查询 浏览:143
铁路app怎么买火车票 浏览:309
移魅族除的app怎么添加 浏览:240
兔笼子大号加密 浏览:171
单片机程序烧录操作成功 浏览:878
指标高抛低吸点位源码 浏览:205
25匹压缩机铜管 浏览:570
单片机单灯左移05 浏览:150
买服务器练手什么配置 浏览:783
服务器被毁该怎么办 浏览:939
python私有库 浏览:514
Python有中文吗 浏览:736
麦块的服务器为什么都进不去 浏览:474
新买的服务器如何打开 浏览:35
安卓软件游戏怎么开发 浏览:319
用扑克摆爱心解压神器怎么摆 浏览:70
松下制冷压缩机 浏览:275