tank

Python妙用:制作小游戏-坦克大战

青春壹個敷衍的年華 提交于 2020-08-10 03:37:24
小时候玩的“坦克大战”,你还记得吗? 环境依赖 python3.7 pygame1.9.6 urllib 内置库,如random、sys、time、os等 pygame介绍 Pygame被设计用来写游戏的python模块集合,基于SDL库开发。使用python可以导入pygame来开发具有全部特性的游戏和多媒体软件,Pygame是极度轻便的并且可以运行在几乎所有的平台和操作系统上。 1. 导入依赖 & 通用配置 import random import sys import time from urllib.request import urlretrieve import os import pygame SCREEN_WIDTH, SCREEN_HEIGHT = 1200, 700 # 画面大小 MY_BIRTH_LEFT, MY_BIRTH_TOP = SCREEN_WIDTH / 2, SCREEN_HEIGHT - 60 DIRECTION = [U, D, L, R] = [ U , D , L , R ] # 控制键 Tank_IMAGE_POSITION = r D:/tank_img URL = https://gitee.com/tyoui/logo/raw/master/img/ 2. 通用加载函数 # 加载图片 def load_img(name_img):

exp imp

荒凉一梦 提交于 2020-08-04 19:06:01
一.说明 oracle 的exp/imp命令用于实现对数据库的导出/导入操作; exp命令用于把数据从远程数据库server导出至本地,生成dmp文件; imp命令用于把本地的数据库dmp文件从本地导入到远程的Oracle数据库中。 二.语法 能够通过在命令行输入 imp help=y 获取imp的语法信息: ============================================================================= C:/Documents and Settings/auduser>imp help=y Import: Release 9.0.1.1.1 - Production on 星期二 5月 20 18:21:57 2008 (c) Copyright 2001 Oracle Corporation. All rights reserved. 能够通过输入 IMP 命令和您的username/口令 后接username/口令的命令: 例程: IMP SCOTT/TIGER 或者, 能够通过输入 IMP 命令和各种參数来控制“导入” 依照不同參数。要指定參数,您能够使用keyword: 格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,vlaueN) 例程: IMP SCOTT

pygame 的精灵使用

柔情痞子 提交于 2020-08-04 17:35:12
pygame 的精灵使用 pygame.sprite.Sprite 是 pygame 中用来实现精灵的一个类,在使用时并不需要对它实例化,只需要继承它,然后按需写出自己的类,因此非常简单、使用。 1. 精灵 精灵可以被认为是一个个小图片(帧)序列(例如人物行走),它可以在屏幕上移动,并且可以与其他图形对象交互。精灵图像可以是用 pygame 绘制形状函数绘制的形状,也可以是图像文件。 2. Sprite 类的成员 pygame.sprite.Sprite 用来实现精灵类,Sprite 的数据成员和函数方法主要如下。 self.image 其负责显示什么图形。例如 self.image = pygame.Surface([x, y]) 说明该精灵是一个 x * y 大小的矩形, self.image = pygame.image.load(filename) 说明该精灵显示 filename 这个图片文件。 self.image.fill([color]) 负责对 self.image 进行着色,例如: self.image = pygame.Surface([x, y]) self.image.fill((255, 0, 0)) # 对 x * y 大小的矩形填充红 self.rect 其负责在哪里显示。一般来说,先用 self.rect = self.image.get_rect

可视化实例:新冠病毒对全球经济的影响

你。 提交于 2020-07-26 00:33:18
Photo by Kyle Glenn on Unsplash 数据和代码见: https:// github.com/terenceshin/ Covid_Impact_on_Economy 目前我们已经经历了超过 四百万 确诊病例,约 二十五万死 亡病例,以及数个月的隔离,想必我们都认为大家的日常生活收到了严重影响。但真正的影响远不止于此。 全球经济已经收到如此大的冲击,以至于有人怀疑第二次大萧条是不是就要来了。(见: https://www. aljazeera.com/indepth/o pinion/impact-coronavirus-compare-great-depression-200420070542882.html ) 虽然该说法目前仅仅是种推测,但我们可以从可观数据中看出,大流行实实在在地在影响着我们的经济。 下面是几项统计数据和可视化图形,能帮你更好地理解我们经济目前的处境。 新冠病毒与股市 标普500指数正在下跌。 简单来说,标普500指数基本上是500家美国大型上市公司的代表。今年早些时候,标普500指数与其峰值相比损失了30%——上一次标普500下跌如此严重的时候还是2008年金融危机。 你可能会问,“ 为什么大流行会导致股市下跌如此严重? ”。理论上,股市反映着我们实体经济的表现,它受一系列因素的影响,比如利率

(4.42)sql server修改数据库名、表名、列名

柔情痞子 提交于 2020-05-08 18:52:24
【1】基本操作 【1.1】修改数据库名:sp_renamedb Use master; EXEC sp_dboption ' DBNAME_OLD ' , ' Single User ' , ' TRUE ' -- 修改数据库名 EXEC sp_renamedb ' DBNAME_OLD ' , ' DBNAME_NEW ' EXEC sp_dboption ' DBNAME_NEW ' , ' Single User ' , ' FALSE ' 【1.2】修改表名:sp_rename -- 下例将表 customers 重命名为 custs。 EXEC sp_rename ' customers ' , ' custs ' 【1.3】修改列名:sp_rename exec sp_rename ' [表名].[列名] ' , ' [新列名] ' 【2】核心注意事项 【2.1】需要的权限   sysadmin 固定服务器角色成员、db_owner 和 db_ddladmin 固定数据库角色成员或对象所有者可以执行 sp_rename。   只有 sysadmin 和 dbcreator 固定服务器角色成员才能将"database"作为 object_type 来执行 sp_rename。 【2.2】重命名存储过程、视图、表、字段的区别 (1)重命名存储过程和视图  

Android接入GooglePay

这一生的挚爱 提交于 2020-05-08 08:16:37
准备工作 1、配置好手机的环境(一般是googlePay商城和googlePay服务,必须注册一个账号登录) 2、VPN 3、申请一个googlePay的开发者账号把一些基础信息填好,配好商品D(注:商品ID只能用一次,一但注册好删除后,就无法再次注册商品ID) 4、上传一个包体获得publicKey(代码里面需要) 代码工作 1、准备好androidStudio 2、从他官网的样品中找到aidl这个文件夹存放至Main里面 3、在AndroidManifest中添加权限 < uses-permission android:name ="com.android.vending.BILLING" /> 4、初始化googlePay       String base64EncodedPublicKey ="xxxxxx" ; mHelper = new IabHelper( this , base64EncodedPublicKey); mHelper.enableDebugLogging( true ); mHelper.startSetup( new IabHelper.OnIabSetupFinishedListener() { public void onIabSetupFinished(IabResult result) { Log.d(TAG, "Setup

kafka auto.offset.reset latest earliest 详解

只愿长相守 提交于 2020-05-05 13:17:04
一,latest和earliest区别 1,earliest 当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费 2,latest 当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据 提交过offset,latest和earliest没有区别,但是在没有提交offset情况下,用latest直接会导致无法读取旧数据。 二,创建topic 查看 复制 打印 ? # bin/kafka-topics.sh --create --zookeeper bigserver1:2181,bigserver2:2181,testing:2181 --replication-factor 2 --partitions 3 --topic tank Created topic "tank". # bin/kafka-topics.sh --describe --zookeeper bigserver1:2181,bigserver2:2181,testing:2181 --topic tank Topic:tank PartitionCount:3 ReplicationFactor:2 Configs: Topic: tank Partition: 0 Leader: 0

php 中self,this的区别和实地操作

白昼怎懂夜的黑 提交于 2020-05-01 11:23:03
面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人员的一项基本技能。利用OOP的思想进行PHP的高级编程,对于提高PHP编程能力和规划web开发构架都是很有意义的。 这里我主要谈的是this,self关键字之间的区别。从字面上来理解,分别是指这、自己。先初步解释一下,this是指向当前对象的指针(可以看成C里面的指针),self是指向当前类的指针。我们这里频繁使用指针来描述 因为经常用框架的缘故,所以对php底层的一些运行机制和方法都不会了,所以最近比较喜欢研究这些底层的东西,写的东西虽然不是很好,但是自己一步步实地操作过来的,理解起来也比较容易,现在网上大多数的资料要么就是按照手册抄过来很官方的一些话,要么就是那些千篇一律的文章,确实有些不好理解,所以只能自己动手来熟悉啦 一. self . 1.self可以访问本类中的静态属性和静态方法,可以访问父类中的静态属性和静态方法。用self时,可以不用实例化的 class self_test { static $instance; public function __construct (){ self::$instance = 'instance'; //静态属性只能通过self来访问 } public function tank (){ return self::$instance; /

kafka auto.offset.reset latest earliest 详解

 ̄綄美尐妖づ 提交于 2020-04-26 09:40:08
auto.offset.reset关乎kafka数据的读取,是一个非常重要的设置。常用的二个值是latest和earliest,默认是latest。 一,latest和earliest区别 1,earliest 当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费 2,latest 当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据 提交过offset,latest和earliest没有区别,但是在没有提交offset情况下,用latest直接会导致无法读取旧数据。 二,创建topic 查看 复制 打印 ? # bin/kafka-topics.sh --create --zookeeper bigserver1:2181,bigserver2:2181,testing:2181 --replication-factor 2 --partitions 3 --topic tank Created topic "tank". # bin/kafka-topics.sh --describe --zookeeper bigserver1:2181,bigserver2:2181,testing:2181 --topic tank Topic:tank

反射简介

…衆ロ難τιáo~ 提交于 2020-04-18 08:12:21
反射 有关程序及其类型的数据被称为元数据,保存在程序的程序集 一个运行的程序查看本身的元数据或者其他程序的元数据的行为叫反射 一遍下来啥都没整明白?没事,咱只是惯例行事,先放定义。 动态创建类并调用其方法 先抛开反射这些乱七八糟的东西,我们来想想看:当你打开了游戏充值页面想要变强的时候,界面是不是有很多个选项?支付宝付款,微信支付,银行卡支付,应有尽有,反正只要你想掏钱,我们一定不会让爷您这钱花不出去。 作为一个爱思考的程序员,在卡上数字减少的时候,你已经在面无表情的思考这个支付页面背后的逻辑了。那怎么做呢?最简单的当然是写 if else 语句,他是第几个radio你就调用哪个进行付款。 这样做确实没什么问题,但会不会麻烦了一点?银行支付那么多个银行,每增加一个就写一句 if 吗?这就完全是体力活了,有没有办法可以省事一点呢?最好我说用支付宝付款就用支付宝付款,你别说,还真可以。 终于轮到我们的主角反射登场了!BCL声明了一个 Type 抽象类,使用 Type 类的对象可以获取到程序使用的类型信息。我们可以用 GetType 或者 typeof 运算符来获取 Type 对象。 Type类成员 Name 返回类型名字 Namespace 返回包含类型声明的命名空间 Assembly 返回声明类型的程序集 GetFields 返回类型的字段列表 GetProperties