欢迎您,来到孕妇堂!

孕妇堂首页|手机版

当前位置:首页 > 生活知识 > 生活

ipad必玩大型游戏

时间:2023-09-30 20:06:05 浏览:96

因为最近买了新平板,除了每天看视频,就是玩游戏。作为一个游戏应答者,我自然会关注那些适合在平板上玩的大作。今天,迟子来这里推荐一款触摸式moba游戏: 《虚荣》。

值得一提的是,如果你喜欢玩lol,dota2,那么这款手游你不能错过。

为平板而生

没有理由驰子推荐《虚荣》。最重要的原因是这个游戏是为平板电脑而生的。

因为它使用了独特的点触式操作,一方面增加了游戏的竞争力,同时也对玩家的操作提出了更高的要求。对于游戏中的玩家来说,玩家不仅需要关注小战士的血量,还需要准确的攻击小战士,以获得金币和经验。

超高的图像质量和出色的手感

《虚荣》不仅有竞争力,也是世界上类似的游戏。按照官方的说法,他们做了几个月的地图。凭借平板电脑的宽屏,玩家可以看到非常丰富的地图细节。例如,光线穿过树木。比如飞蝴蝶。

目前《虚荣》已经开了新的5v5地图。喜欢moba游戏,崇尚竞争的玩家不要错过。另外值得一提的是,这款游戏在平板上运行会获得更多的可操作性和视觉优势。

推荐两个解密烧脑和恐怖平板游戏。

《死亡空间》

《死亡空间》的故事发生在一艘大飞船上。飞船内的通道和空间都比较狭窄,房间和走廊充满了阴冷诡异的气氛,伴随着隐藏在黑暗中的恐怖异形。主角艾萨克克拉克在任何时候都会受到死亡的威胁,主角需要尽一切努力挑战无尽的死亡空间,逃离生活。由于游戏主场景发生在小型飞船上,部分区域受损,有真空、失重或有毒气体等特殊环境,玩家需要使用加压服和磁靴进行调整。在这样的环境下,氧气量会迅速下降,所以玩家必须通过这些区域迅速补充氧气,否则就会窒息而死。

这是一个反传统的射击游戏菜单信息界面设置,使用了独特的3d全息图像表示。有了这个3d全息图像,玩家可以随时整理枪支弹*物品,查看地图。因为游戏是实时玩的,玩家在做以上动作时更容易受到攻击。

《死亡空间》介绍了一个叫做“战略分尸”的设定,玩家可以通过切断变异尸体的四肢和触须,对敌人进行毁灭性打击。

因为艾萨克只是个工程师,不是军人,游戏里的主要武器都是从采矿工具改装而来的。所有武器都有等离子切割枪等两种攻击模式,通过旋转攻击方向来改变子弹的弹道,以适应环境和敌人的变化,最大限度的发挥武器的效能。游戏中还有自动商店,玩家可以在这里买卖、储存物品或升级宇航服。此外,武器可以通过工作台升级和修改。

除了火器和武器之外,玩家可以在游戏中自由使用两种特殊技能,即停滞和驱动。前者可以暂时减缓目标物体的移动速度,后者可以实现远距离取物或者抛物线攻击。枪械和技能的自由组合,可以让玩家拥有逼真多彩的攻击技术。

此外,游戏中还有一些迷你游戏,玩家可以在游戏累的时候用来放松。

《机械迷城》

《机械迷城》登陆pc平台,获得2009年独立游戏节最佳视觉艺术奖。这款游戏以独特的水墨风格呈现给玩家,是一款冒险益智游戏。

整个游戏过程只用鼠标点击,主角的形象就是一个机器人。就算没玩过这个游戏,《超级食肉男孩》 pc版也能找到机器人之类的游戏。

捷克独立开发集团amanita design的创始人jakub dvorsk在接受采访时表示:《机械迷城》在ipad平台上的生产已经基本完成,但我们还需要修复一系列小bug,进行适当的测试,最快下个月(2011年8月)就能登陆ipad平台。我们看好这款游戏在ipad平台上的成功。

《乌斯蒂菲》不同于90年代的大多数冒险益智游戏,在《机械迷城》游戏中,给陷入难题的玩家一系列提示。这对于在ipad平台上追求休闲游戏的人来说是个好消息,但是对于职业玩家来说,不需要提示还是可以玩游戏的。

这是我觉得好玩的平板游戏,可以试试。

ipad必玩大型游戏(ipad游戏排行榜前十名)

扩展阅读

pip是什么意思(python新手入门指南)

皮普是什么?pip是python中的标准库管理器。它允许您安装和管理不属于python标准库的其他软件包。本教程是给python初学者介绍pip。

通过本教程,您将了解到:

1.安装python标准发行版中未包含的其他软件包

2.找到python包索引(pypi)中发布的包

3.管理脚本和应用程序的安装要求

4.卸载包及其相关依赖项

如您所见,python社区非常活跃,并为pip创建了一些简单的替代方案,您可以在本教程的后面部分看到。

pip 入门

那么,皮普是什么?pip是python的包管理器。这意味着它是一个允许您安装和管理不属于标准库的其他库和依赖项的工具。

包管理是极其重要的,所以从python 3 3.4版和python 2 2 . 7 . 9版开始,pip就直接包含在python安装包中,在其他python项目中也有使用,这使得pip成为每一个python ista必不可少的工具。

如果你已经知道其他语言,你可能对包管理器的概念很熟悉。javascript用npm管理软件包,ruby用gem,还有。net使用nuget。在python中,pip被用作标准的包管理器。

python的安装程序自带pip,除非你安装了更早版本的python,否则可以直接使用。您可以通过在控制台中运行以下命令来验证pip是否可用:

您应该会看到类似的输出,显示pip版本、安装位置和python版本。如果使用的是没有pip的旧版python,可以按照pip安装文档中相应系统的说明进行安装。

您可能希望在虚拟环境中使用本教程的示例,以避免将包安装到python的全局安装环境中。可以从python虚拟环境:入门级了解虚拟环境。本文的“使用虚拟环境”一节介绍了创建虚拟环境的基本知识。

使用 pip 安装软件包

python被认为是“内置电池”语言。这意味着python标准库包含大量的软件包和模块,帮助开发人员开发脚本和应用程序。

同时python有一个活跃的社区,为你的开发提供了一套更大的软件包。这些包发布在python包索引中,也称为pypi(发音为pie pea eye)。pypi托管了大量的包,包括开发框架、工具和库。

这些软件包中的许多通过为现有功能提供友好的界面来简化python开发。例如,您可以编写一个脚本,仅使用python标准库中的函数来分析网页的内容:

脚本中导入了cgi和http.client,两者都在python的标准库中。您创建一个httpsconnection对象并指定服务器,然后调用。request()和。getresponse()解析响应信息。

从响应信息中,我们解析内容类型头信息,并使用cgi模块提取页面编码的字符集。

cgi.parse_header()返回一个以主值和字典为参数的元组。例如,内容类型标题信息可能包含类似文本/html的消息;charset=iso-8859-1的值。

元组以字符串text/html为第一个元素,第二个元素是{"charset" :" iso-8859-1"}形式的字典。因为只需要关心charset参数,所以可以忽略带下划线的元组开头:_,params=cgi . parse _ header(content _ type)。

注意:python中下划线的含义解释了如何从元组中解包值。

对页面进行编码后,就可以读取相应的信息,并解码成文本。您可以在控制台中运行此示例,了解其工作原理:

这似乎为一个用于解析网页内容的小页脚做了一些工作。幸运的是,有一个python包简化了http请求,并提供了一个友好的界面来满足您的期望。

基础包安装

pypi托管了一个非常流行的库,请求,来完成http请求。你可以通过它的官方文档网站找到所有相关信息。

第一步是在您的环境中安装请求包。您可以运行pip帮助来学习pip支持的命令:

如您所见,pip提供了安装软件包的安装命令。您可以运行它来安装请求包:

您可以看到与上面类似的输出信息。您可以使用pip和install命令,后跟要安装的软件包名称。pip会在pypi中找到这个包,计算它的依赖关系,安装并确保请求正常工作。

你也可以看到目前环境下的pip版本是18.1,但是还有19.0.1可用。它还显示了升级pip的命令,所以让我们试试:

注意这里你用python -m升级了pip。-m开关告诉python将模块作为可执行文件运行。如果你想升级pip,就必须这样做。在安装新版本之前,旧版本将被卸载,当工具运行时,卸载本身会导致错误。

当您将pip作为模块运行时,python会将模块加载到内存中,并允许在模块包运行时将其删除。如果包提供高品质脚本__main__。py,您可以像运行脚本一样运行包。

您已经安装了请求并升级了pip。现在,您可以使用list命令查看您的环境中安装了哪些软件包。

pip是什么意思?src=" https://5 b 0988 e 595225 . cdn . sohucs.com/images/20200401/86 f 95 a 534193499 ab 589 ea 9 a8 a 504 b 8 . jpeg " class=" align center "

如上图,pip已经升级到19.0.1版(目前最新版本),请求安装2.21.0版。

命令pip install查找并安装软件包的最新版本。同时,它在包元数据中搜索依赖项列表,并安装这些依赖项,以确保包满足所有要求。

你可以看到这里安装了很多软件。您可以使用pip中的show命令查看包的元数据信息:

元数据列出了依赖证书、chardet、idna和urllib3,您可以看到这些已经安装。

现在我们已经安装了请求包,我们可以修改上面的例子,看看如何更方便地解析网页的内容:

因为您已经在开发环境中安装了请求包,所以您可以像导入其他标准库一样导入它。

如您所见,requests.get()处理http连接并返回类似于前面示例的响应,但是它要简单得多,也更方便。

因为请求已经为您处理了大多数情况,所以您不需要考虑页面的编码。此外,请求提供了一个更灵活的接口,通过请求来处理特殊情况。响应对象。

使用requirements.txt需求文件

pip install命令只会安装最新的软件包版本,但有时您可能希望根据代码运行情况安装特定的版本。

您还希望在开发和测试期间指定创建依赖关系和版本,以便可以避免生产环境中的意外情况。

需求文件可以准确地指定要安装的软件包和版本。运行pip帮助,您可以看到一个冻结命令,该命令将遵循已安装软件包的打印格式。您可以使用此命令将输出重定向到一个文件,以生成一个需求文件:

冻结命令将所有包和版本信息转储到标准输出,因此您可以将这些输出重定向到一个文件。这样就可以根据这个需求文件在其他系统中进行精确安装。同意此需求的文件名为requirements.txt,但也可以根据个人喜好命名。

如果您想在其他系统中复制您的开发环境,您可以运行pip install命令并用-r开关指定需求文件:

包的版本根据requirements.txt列表进行匹配:

您可以将requirements.txt文件提交给资源控制器,这样您就可以使用它在其他机器上创建一个精确匹配的环境。

微调需求文件

软件包及其相关版本可能会导致硬编码问题,因为软件包会经常更新以发现错误和进行安全修复,并且您可能希望在软件包发布后立即进行更改。

需求文件的格式允许您通过使用逻辑运算符来指定依赖版本,这提供了更大的灵活性来确保包被更新,但是仍然需要定义包的基本版本。

使用您常用的编辑器并进行以下修改:

您可以通过将逻辑运算符更改为=,告诉pip准确安装已发布的指定版本或更高版本。当您使用requirments.txt设置新环境时,pip会找到符合要求的最新版本并安装它。您可以将安装命令与upgrade开关配合使用,以升级需求文件中定义的软件包:

这里没有升级操作,因为你的软件是最新版本,但是如果在包列表中发布了新版本,包就会升级到最新版本。

理想情况下,新版本的包将是向后兼容的,并且没有新引入的bug。不幸的是,新版本引入的更改可能仍然会损坏您的应用程序。需求文件的语法支持额外的版本说明符来微调您的需求。

例如,请求发布了新的3.0版本,但有些更改与您的应用程序不兼容。您可以通过修改需求文件来禁止安装3.0及更高版本:

更改请求的版本运算符可确保不会安装3.0或更高版本。pip文档提供了所有需要的文件格式,所以你可以参考它们来获得更多相关的信息。

生产与开发环境的依赖关系

开发过程中安装的依赖项并不都是应用程序的依赖项。pypi上发布了很多包,都是你在开发过程中想要用到的工具或者库。

例如,您可能想要对您的应用程序进行单元测试,并且您需要一个单元测试框架。一个流行的单元测试框架是pytest。您想在开发环境中安装它,但不想在生产环境中安装它,因为它不是应用程序依赖项。

此时,您将创建第二个需求文件(requirements_dev.txt)来列出配置开发环境所需的工具:

在这里,您需要使用pip安装两个需求文件:requirements.txt和requirements_dev.txt幸运的是,pip允许您在需求文件中指定一些附加参数。您可以更改requirements_dev.txt文件,以支持同时安装生产文件requirements.txt中的需求:

请注意,这里您使用完全相同的-r开关来安装生产文件requirements.txt需求文件格式允许您在需求文件中指定其他参数。

为生产环境冻结需求文件

您已经为生产和开发环境创建了需求文件,并将它们添加到资源控制器中。这些文件可以灵活分配版本,发布依赖项可以修复bug。您还可以测试您的应用程序,并准备发布到生产环境。

因为您已经知道开发环境应用程序的所有测试都已正常通过,所以您可能希望确保生产环境的相关版本与集成管道或构建过程中使用的版本完全相同。

当前版本说明符不能保证在生产环境中部署完全相同的版本,因此您需要冻结描述文件,如前所述。

您创建了一个干净的生产环境,并使用requirements.txt文件安装了生产需求。安装需求文件后,您可以冻结当前的特定版本,并将输出转储到生产环境的requirements_lock.txt文件。requirements_lock.txt文件包含准确的版本说明符,可以复制当前环境。

搜索可用包

等你有了更多的python经验,你就会有一个熟悉的软件包,可以在大多数应用中使用。包requesta和pytest是补充您的python工具箱的好选择。

有时候你需要解决不同的问题,想找一个能帮你解决问题的工具或者库。如上所述,命令画中画帮助显示了一个命令搜索,它可以搜索在pypi上发布包。

让我们看看这个命令是干什么的:

该命令给出一组选项和一个参数。查询是用于搜索的字符串,它可以匹配包的名称和描述。

注意:您可以使用pip帮助来检索有关其他支持的命令的信息。

假设您的应用程序需要访问由oauth2授权的服务。理想情况下,会有一个使用请求执行或其他类似接口实现的库。用pip搜索pypi:

搜索命令选项会生成相当大的包集合。其中一些似乎指定了像django-oauth这样的服务或技术。希望能找到类似requests-oauth这样的消息。遗憾的是,除了简短的描述,没有其他信息。

大多数情况下,你想直接在pypi的网站上搜索包。pypi为其索引提供搜索功能,通过元数据(如框架、主题、开发状态等)过滤搜索结果。)在包装中披露。

在pypi中搜索同一个词条可能会产生很多结果,但是可以分类过滤。例如,如果您想找到一个可以帮助您开发应用程序的库,您可以展开“目标受众”并选择“开发人员”。此外,您可能需要一个稳定的可用于生产的包。您可以展开“发展状态”并选择“生产/稳定”。

您可以应用其他过滤器并调整搜索词,直到找到您想要的包。

搜索结果提供了指向包页面的链接,该页面包含更多信息和所需文档。让我们看一下请求的信息-oauth2:

这个项目页面提供了更多信息,似乎有一个指向主页的链接。该链接指向github上的项目库。您可以看到关于项目的更多信息和一些使用示例。

看到最初的源代码仓库,就像找到了无价的财富。在那里,你可以通过查看最新的提交日志、pr(拉式请求)次数和未解决的问题,找到一些项目的状态和提示。

还有一种找包的方法,google。广泛使用的python库将显示在谷歌搜索的顶部,您应该可以在pypi中看到包或源代码仓库的链接。

找到一个合适的包需要一些时间去研究,但是一旦找到了,可以加快你的开发过程。

卸载包

有时候你必须卸载一个软件包。要么你找到了更好的包来代替,要么你真的不需要一些功能。卸载软件包可能很棘手。

请注意,当您安装请求时,pip也会安装其他依赖项。安装的包越多,多个包就越有可能具有相同的依赖性。这里pip的show命令派上了用场。

卸载软件包之前,请确保您已经在此软件包上运行了show命令:

66 e3 b5 b 057 . jpeg " data-original=" https://5 b 0988 e 595225 . cdn . sohucs.com/images/20200401/3a c7ee 191 ea 34 df 293 a9 ef 66 e3 b5 b 057 . jpeg "

注意最后两个属性:requires和required-by。show命令告诉我们请求需要依赖urllib3、证书、chardet和idna。您可能想卸载其中两个。您可以看到其他包没有引用请求,因此可以安全地卸载它。

您应该对请求中的所有依赖项运行show命令,以确保没有其他库依赖于它们。一旦知道了这些依赖项的顺序,就可以使用卸载命令来卸载它们。

卸载软件包会显示要删除的文件并要求确认。如果您确认要卸载此软件包,并且已经检查了它的依赖项,并且知道没有其他软件包正在使用此软件包,则可以使用-y开关隐藏文件列表并确认提示信息:

您可以在一次调用中指定要卸载的所有软件包:

您还可以通过提供-r选项来删除需求文件中列出的所有包。该命令将提示每个包的确认信息。如果您清楚自己的操作,可以使用-y开关禁用这些提示:

当您想要卸载软件包时,请务必检查依赖关系。您可能想要卸载软件包的所有依赖项,但是如果其他软件包使用这些依赖项,程序将会崩溃。

pip 的替代品

pip是所有pythonista必不可少的基础工具,很多应用和项目都把它作为包管理器使用。本教程帮助您理解基础知识,python社区非常积极地为其他开发人员提供优秀的工具和库。其中包括pip替代品,期待简单高效的包管理。

在本节中,您将了解python中可用的其他包管理工具。

万能的 conda

conda是包括python在内的多种语言的包、依赖和环境管理器。其实它起源于anaconda,是以python中研究数据科学的包的形式出现的。

conda广泛应用于数据科学和机器学习应用,并使用自己的索引来托管兼容的软件包。

conda不仅可以管理包的依赖关系,还可以管理应用的虚拟环境,安装兼容的python版本,打包应用进行生产部署。

在windows上设置python进行机器学习很好的介绍了conda,并讨论了包和环境管理。唯一与windows相关的具体信息是安装,所以如果使用其他系统平台,还是可信的。

pipenv

pipenv是另一个包管理工具,旨在为python“提供世界上最好的包”。pipenv因为将虚拟环境和包管理结合到一个工具中,在python社区获得了极大的关注。

还解决了使用pip手动管理依赖时遇到的一些常见问题,如包版本、隔离开发和生产环境依赖、锁定生产环境版本等。

pienv:新的python打包工具指南是学习pienv及其包管理的很好的入门材料。虽然本文的标签是中级的,但是作者给了读者很好的指导,python初学者也能看懂这篇文章。

poetry

诗歌是皮普的另一个替代品,受到了广泛关注。与pipenv类似,它简化了包版本管理,隔离了开发环境和生产环境之间的依赖关系,并隔离了在虚拟环境中运行的依赖关系。

如果你已经了解了javascript和npm,你会发现诗意非常熟悉。它不仅是一个管理包,还可以帮助您为应用程序和库构建发行版,并将它们部署到pypi。如何将开源python包发布到pypi一个很棒的诗歌入门可以帮助你入门。

总结:pip是什么?

本教程回答问题:pip是什么?如您所知,pip是python的包管理器,在许多项目中用于依赖关系管理。现在python安装程序已经包含了pip,使其成为所有pythonista都应该使用的基本工具。

python提供了适合开发各种应用的标准库扩展,但是python的活跃社区提供了更多的工具和库,可以加快python应用的开发。

这些工具和库发布在python package index (pypi)上,pip允许开发人员在自己的环境中安装。

通过本教程,您可以了解:

1.使用pip和需求文件在命令行安装新软件包

2.管理依赖关系,隔离开发和生产环境,并创建锁定的需求文件

3.通过pip和pypi找到包

4.在卸载软件包之前评估软件包依赖性,以及如何卸载软件包。此外,您已经了解了保持依赖关系最新的重要性,pip的许多替代方案可以帮助您管理这些依赖关系。

如果您有任何问题,您可以随时在下面的评论部分留言,您也可以随时在画中画文档页面获得更多信息。

个人ip什么意思(普通人如何打造个人ip)

应该说自媒体账号是个人ip。如何打造个人ip?一句话:坚持走人格化的路子.

什么是拟人?它是个人的象征、角色和品牌,让人一看到这个账号,一看到这个人,就知道他是干什么的.

例如,王茜茜是网络名人汽车评论的主持人。虽然,今年3月的一个晚上,一个外卖哥被人踢了一脚,大吵了一架,形象被广大网友的一致批评给破坏了,但只要人家提起她,就把她和车评在线名人主播联系起来。这是她的个人ip。

那么媒体界的人如何打造一个好的个人ip呢?

1.选择一个垂直领域的合适内容.自媒体人无论选择哪一个领域,都要专注,在这个领域坚持深化,不能变心。

有些字段非常大。作为一个自媒体人,你要根据自己的个人优势和喜好,选择一个这个领域的重点内容,走的更远。

2.选择一种确定的呈现方式.内容确定后,自媒体人面临着如何呈现内容的问题。内容可以用图文、散文诗歌、视频、直播等呈现。呈现内容的方式有很多种,只要有一种是确定的,保持不变的。

3.做好形象设计与包装.对于一个个体来说,以什么样的态度和场景出现也是很重要的。比如“流浪大师”沈巍,作为一个五十多岁的老人的形象符号出现,捡着垃圾在街上游荡,谈吐得体,有着丰富的文化底蕴。

4.坚持表里如一.一个自媒体ip,不管怎么包装,不管怎么设计个人形象,都要坚持线上和线下的一致性,也就是说做人做事要和ip的言行基本一致。汽车评论网名人主播王茜茜在知识产权领域的形象并不一致。现在网友一看到就开始嘲讽。对他ip形象的负面影响是巨大的。

5.要常态坚持内容更新.如果内容更新,三天打鱼,两天晒网,经常被打断,就不可能持续展现ip的个性,树立良好的个人品牌形象。

6.坚持个性化创作.个体,个体,在于个性。没有个性化的ip,个性化的品牌就不会被记住。“流浪大师”沈巍被人们怀念已久,他的个性化形象起到了极其重要的作用。

7.必须得到用户的喜爱.做到了前六点,不代表个人ip成功了。因为还有最后一件事没做。最后一点是:用户喜欢你,喜欢你的内容,喜欢你的形象,一看到你,一想到你,就会去点你.

《流浪大师》沈巍,虽然是个收垃圾的五十多岁的老人,平凡、幼稚、有教养,不接受施舍,让人一看就喜欢。王茜茜,网络名人汽车评论的主持人,过去喜欢她的形象和她的汽车评论。自从踢卖小哥事件曝光后,很多网友开始讨厌她。未来她的ip点击量大幅下降,这是必然的,也是极有可能的。

ipad儿童模式限时怎么设置?ipad家长控制使用时间

周二,苹果宣布了其针对iphone和ipad的“屏幕时间”工具的新功能,从而为父母提供了一种新的方式,限制他们的孩子通过短信、facetime和电话与谁交谈。

这些新功能已经被添加到苹果的免费屏幕时间家长控制中,允许家长指定他们的孩子可以和谁说话,是一群人还是“每个人”(甚至陌生人)。父母也可以进一步限制他们的孩子可以和谁说话。例如,如果他们已经超过了使用应用程序分配的时间限制,他们可以指定不能与朋友交谈。

虽然这些新功能是针对儿童的,但当苹果ceo蒂姆库克(tim cook)在6月份接受哥伦比亚广播公司(cbs news)采访时,他从屏幕时间(screen time)收集的数据是“深刻的”,这让他回想起自己使用手机的次数。他说:“我们做的手机不是这样,你可以一直用。我们做的手机可以让你的生活更美好。”

苹果增加更多“屏幕时间”功能的举措只是科技行业回应人们对电话和互联网连接如何影响我们的生活和人际关系的焦虑的最新举措。许多研究发现了技术成瘾的迹象,有迹象表明,即使是少数从未使用过这些设备的人,如我们的孩子,也仍然受到它们的负面影响。

苹果一直在添加功能,帮助父母控制孩子的手机。

一些苹果客户和投资者推动公司研究其iphone和数百万可供他们使用的应用对儿童的影响。一位股东在2018年1月写给苹果的信中指出,“越来越多的证据”表明,年轻用户使用手机可能会产生“意想不到的负面后果”。

苹果公司回应了新的“屏幕时间”功能,可以帮助家长限制孩子可以使用什么样的应用以及何时使用,并提供周报和月报来细分他们对手机的使用。screen time是去年在ios 12中首次推出的。

谷歌通过其“数字健康”项目推出了类似的功能,而脸书推出了一些功能来帮助父母限制使用其应用程序的儿童数量,如instagram。

猜你喜欢

反馈