player

Python小游戏——石头剪刀布

和自甴很熟 提交于 2020-03-08 14:50:50
Python小游戏——石头剪刀布 python 知识点 random 随机函数包调用 randint() 函数生成随机数。 利用 if…elif…else 分支结构进行胜负判断。 游戏规则 为简化流程,利用数字代替石头/剪刀/布 出拳规则 1–代表石头 2–代表剪刀 3–代表出布 代码块 import random #玩家出拳 player = int ( input ( "请输入您要出的拳: 石头(1)/剪刀(2)/布(3):" ) ) #电脑利用随机函数出拳 computer = random . randint ( 1 , 3 ) print ( "玩家出拳为%d-电脑玩家出拳为%d" % ( player , computer ) ) if ( player == 1 and computer == 2 ) or ( player == 2 and computer == 3 ) or ( player == 3 and computer == 1 ) : print ( "玩家胜利!!!" ) elif player == computer : print ( "平局" ) elif player > 3 : print ( "请按规则出拳。" ) else : print ( "电脑胜利!!!" ) 来源: CSDN 作者: 铭记yu心 链接: https://blog

Python Type Hint类型注解

风流意气都作罢 提交于 2020-03-07 17:39:31
原文地址: https://realpython.com/python-type-checking/ 在本指南中,你将了解Python类型检查。传统上,Python解释器以灵活但隐式的方式处理类型。Python的最新版本允许你指定可由不同工具使用的显式类型提示,以帮助您更有效地开发代码。 通过本教程,你将学到以下内容: 类型注解和提示(Type annotations and type hints) 代码里添加静态类型 静态类型检查 运行时强制类型一致 这是一个全面的指南,将涵盖很多领域。如果您只是想快速了解一下类型提示在Python中是如何工作的,并查看类型检查是否包括在您的代码中,那么您不需要阅读全部内容。Hello Types和正反两部分将让您大致了解类型检查是如何工作的,并介绍它在什么时候有用。 Type Systems 所有的编程语言都包括某种类型的系统,该系统将它可以处理的对象类别以及如何处理这些类别形式化。例如,类型系统可以定义一个数字类型,其中42是数字类型对象的一个例子。 动态类型 Python是一种动态类型语言。这意味着Python解释器仅在代码运行时进行类型检查,并且允许变量的类型在其生命周期内进行更改。以下示例演示了Python具有动态类型: if False: ... 1 + "two" # This line never runs, so no

AVPlayer的基本使用

徘徊边缘 提交于 2020-03-07 06:01:40
  在iOS开发中,播放视频通常有两种方式,一种是使用 MPMoviePlayerController(需要导入 MediaPlayer .Fram ework ),还有一种是使用AVPlayer。关于这两个类的区别可以参考 http://stackoverflow.com/questions/8146942/avplayer-and-mpmovieplayercontroller-differences ,简而言之就是MPMoviePlayerController使用更简单,功能不如AVPlayer强大,而AVPlayer使用稍微麻烦点,不过功能更加强大。这篇博客主要介绍下AVPlayer的基本使用,由于博主也是刚刚接触,所以有问题大家直接指出~   在开发中,单纯使用AVPlayer类是无法显示视频的,要将视频层添加至AVPlayerLayer中,这样才能将视频显示出来,所以先在ViewController的 @interface中添加以下属性 @property (nonatomic ,strong) AVPlayer *player; @property (nonatomic ,strong) AVPlayerItem *playerItem;@property (nonatomic ,weak) IBOutlet PlayerView *playerView;

IOS:AVAudioPlayer音频播放器

霸气de小男生 提交于 2020-03-07 06:01:15
要使用AVAudioPlayer必须先要导入:AVFoundation.framework 初始化: _Player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:backgroundMusicPath] error:&error]; 属性: 1. 音量 player.volume=0.8;//0.0~1.0之间 2.循环次数 player.numberOfLoops = 3;//默认只播放一次 3.播放位置 player.currentTime = 15.0;//可以指定从任意位置开始播放 4.声道数 NSUInteger channels = player.numberOfChannels;//只读属性 5.持续时间 NSTimeInterval duration = player.dueration;//获取采样的持续时间 6.仪表计数 player.meteringEnabled = YES;//开启仪表计数功能 [ player Meters];//更新仪表读数 //读取每个声道的平均电平和峰值电平,代表每个声道的分贝数,范围在-100~0之间。 for(int i = 0; i<player.numberOfChannels;i++){ float power =

【构建】Manjaro Linux 上 Ambulant Open SMIL Player 成功构建

怎甘沉沦 提交于 2020-03-05 19:45:04
功夫不负有心人,自己魔改翻新后的 Ambulant Player 终于构建成功了。理论上把代码克隆下来然后运行 build.sh 就行。可能会缺 ed 等依赖,按照控制台输出提示补全就好。构建成功生成的二进制可执行文件位于 src/player_gtk/AmbulantPlayer_gtk 。2015年的老古董终于复活啦! 有点失望的是 Ambulant Player 的界面比 Garlic Player 复杂不了多少,但是整个过程学习到了FFmpeg API 的演变史。 来源: oschina 链接: https://my.oschina.net/baytars/blog/3188726

DirectShow经典之玩转DVR-MS

ε祈祈猫儿з 提交于 2020-03-05 07:26:50
玩转 DVR-MS 发布日期: 6/7/2005 | 更新日期: 6/7/2005 Stephen Toub Microsoft Corporation 适用于: Microsoft Windows XP Media Center Edition 2005 Microsoft DirectShow DirectX 9.0 SDK 摘要: Stephen Toub 讨论了 Windows XP Media Center 2005 生成的 DVR-MS 文件格式,介绍了 DirectShow 并展示了如何使用后者处理前者。 下载 DVR-MS 示例 Code.msi 。 本页内容 播放 DVR-MS 文件 DirectShow 和 GraphEdit 简介 DirectShow 接口 将编码转换为 WMV 调试筛选器图形 非托管资源清理 将 WmvConverter 投入使用: WmvTranscoderPlugin 访问 DVR-MS 元数据 编辑 DVR-MS 文件 小结 相关书籍 致谢 几年前我拥有一台 TiVo。它已经不知藏在公寓壁橱的哪个角落了,我想现在一定是布满灰尘,诚然,就是现在我也可能这样对待它。占据电视旁宝贵空位的是一个更漂亮、更复杂的现代化软件和电子产品 — Microsoft Windows XP Media Center 2005

三个人猜数字-java

南楼画角 提交于 2020-03-03 01:21:47
记录学习 head–first-java 摘要 :这个游戏涉及到game与player两个对象。game会产生0~9之间的随机数,三个player对象会猜测数字 类 共有三个类: 1、Guessgame.class 2、Player.class 3、GameLauncher.class 程序逻辑 GameLauncher这个类带有main()方法 是此程序的入口点,main中会创建出GuessGame对象,并调用它的startGame()方法 startGame是游戏的起点。它会创建三个player,然后挑出要猜测的数字。它会要求player猜测并检查结果,过程会被逐一列出来 并且显示 GuessGame.class public class GuessGame { Player p1 ; Player p2 ; Player p3 ; //用三个实例变量分别表示3个player对象 public void startGame ( ) { p1 = new Player ( ) ; p2 = new Player ( ) ; p3 = new Player ( ) ; //创建三个实例对象 int guessp1 = 0 ; int guessp2 = 0 ; int guessp3 = 0 ; //用来保存是否猜中的变量 boolean p1isRight = false ;

Flash Socket通信的安全策略问题 843端口

烂漫一生 提交于 2020-03-02 07:57:22
1、问题描述 将flash发布为html格式后,加载页面后,swf无法与服务器进行socket通信。Flash端显示的错误为: securityErrorHandler信息: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"] 在服务器端显示的信息是由客户端尝试进行连接,但是无法接受数据。接受的数据显示为空。 2.问题原因: 最新的Flash player 9.0.124.0,当flash文件要进行socket通信的时候,需要向服务器端获取crossdomain.xml文件。如果找不到就出现客户端无法连接服务器的现象。 了解flash发起socket通信的三个过程 当封装在页面的flash发起socket通信请求的时候会先寻找服务器端的843端口,获取Crossdomain.xml文件,当服务器没有开启843的时候,flashPlayer会检查发起请求的swf文件中中有没有使用Security.loadPolicyFile来加载策略文件Crossdomain.xml,如果还是没有就会看这个发起请求的swf要连接的目标端口有没有策略文件。如果都没有那么连接失败,返回如上的出错提示。 为什么老版本的Flash

06-逃脱恐龙游戏(精灵动画)

元气小坏坏 提交于 2020-03-01 16:43:13
理解 精灵 和 精灵组 精灵 和 精灵组 在刚刚完成的案例中, 图像加载 、 位置变化 、 绘制图像 都需要程序员编写代码分别处理 为了简化开发步骤, pygame 提供了两个类 pygame.sprite.Sprite —— 存储 图像数据 image 和 位置 rect 的 对象 pygame.sprite.Group —— 创建 精灵组 ,储存 多个精灵对象 精灵 在游戏开发中,通常把 显示图像的对象 叫做精灵 Sprite 精灵 需要 有 两个重要的属性 image 要显示的图像 rect 图像要显示在屏幕的位置 默认的 update() 方法什么事情也没做 子类可以重写此方法,在每次刷新屏幕时,更新精灵位置 注意 : pygame.sprite.Sprite 并没有提供 image 和 rect 两个属性 需要程序员从 pygame.sprite.Sprite 派生子类 并在 子类 的 初始化方法 中,设置 image 和 rect 属性 精灵组 一个 精灵组 可以包含多个 精灵 对象 调用 精灵组 对象的 update() 方法 可以 自动 调用 组内每一个精灵 的 update() 方法 调用 精灵组 对象的 draw(屏幕对象) 方法 可以将 组内每一个精灵 的 image 绘制在 rect 位置 Group ( * sprites ) - > Group 注意

unity从0开始摸鱼日记1

时光毁灭记忆、已成空白 提交于 2020-03-01 12:52:18
2约29馹 四年一遇的2月29呢,今天依然没有开学,淦 以下是基础中的基础 1. 关于如何得到需要的组件,一般是用这样的方式 先在类里面新建出需要的组件,然后在start()中,通过GetComponent<>(),或者其他方法来从unity中得到 基本流程如下: public class Enemy : MonoBehaviour { private Vector2 TargetPosition; private Transform player; private Rigidbody2D rigidbody; private BoxCollider2D collider; private Animator animatior;//动画组件 public float smoothing = 3; void Start() { player = GameObject.FindGameObjectWithTag("Player").transform; rigidbody = GetComponent<Rigidbody2D>(); TargetPosition = transform.position; GameManager.Instance.enemyList.Add(this); collider = GetComponent<BoxCollider2D>();