Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 游戏的滚动统计_Python - Fatal编程技术网

Python 游戏的滚动统计

Python 游戏的滚动统计,python,Python,我对编程很陌生。我只触及了一种语言Python的表面,这就是我目前正在使用的语言。我正在尝试编写一个程序,可以显示范围在1-100之间的随机滚动数。由于无法解释这一点,我宁愿播放一段我想做的事情的视频。 在大约33秒的时间里,你可以看到滚动数字,玩家必须停止滚动才能将其分配给角色特征。少了所有漂亮的图形和其他东西,我想知道的是,是否有可能用Python编写一个提供相同类型函数的程序?如果不是Python,我现在只对C#和Java两种语言稍微熟悉一点。有没有可能用其中一个或是它们的组合来写呢? 如

我对编程很陌生。我只触及了一种语言Python的表面,这就是我目前正在使用的语言。我正在尝试编写一个程序,可以显示范围在1-100之间的随机滚动数。由于无法解释这一点,我宁愿播放一段我想做的事情的视频。 在大约33秒的时间里,你可以看到滚动数字,玩家必须停止滚动才能将其分配给角色特征。少了所有漂亮的图形和其他东西,我想知道的是,是否有可能用Python编写一个提供相同类型函数的程序?如果不是Python,我现在只对C#和Java两种语言稍微熟悉一点。有没有可能用其中一个或是它们的组合来写呢? 如果可能的话,你能为我指出这项工作的资源方向吗。在发布这篇文章之前,我确实做了一次搜索,但我发现自己因为不知道要搜索什么而变得空虚


谢谢

对于应用程序的图形部分,您应该看看pygame:

如果人们必须观看Youtube视频才能理解您想要做什么,您的问题表达得不正确。如果不看视频,我只能假设你想知道随机整数是如何工作的

import random

x = random.randint(1, 100)
如果您想让它滚动,您可以简单地在for循环中生成三个变量或显示三个随机整数,然后将其放置在while或for循环中。 这里有一个例子

import random
import sys

try:
    rolls = int(sys.argv[1])
except IndexError:
    print "Usage: "+sys.argv[0]+" [rolls]"
    sys.exit(1)

for i in range(1, rolls+1):
    print "Roll "+str(i)
    for i in range(0, 3):
        print random.randint(1, 100)

“问题”在于,使用命令行界面无法直接实现这一点。如果你正在研究游戏开发,你可能会有一些图形界面,所以你应该看看你是否找到了一个库,为你提供了更多的动画选择

尽管如此,命令行的一个可能解决方案将涉及多线程。原因是您不能同时打印(不断更改)数字,也不能等待键盘输入。通常的命令行实际上在这方面是非常有限的

在下面,您可以找到一种可能的线程方法解决方案。但同样,如果你打算进行一些游戏开发,你应该查看实际的图形库,甚至可以帮助你的游戏库

from random import randint
from time import sleep
from threading import Thread
import sys

class RollAnimation ( Thread ):
    activated = True
    number = None

    def run ( self ):
        while self.activated:
            self.number = randint( 1, 100 )
            sys.stdout.write( '\r{: >3}'.format( self.number ) )
            sys.stdout.flush()
            sleep( 0.05 )

t = RollAnimation()
t.start()

# Waiting for enter
input() # use raw_input() for Python 2.x
t.activated = False

print( 'Final roll result:', t.number )

这三个数字到底是从哪里来的?@poke我认为滚动数字必须与显示几个随机整数(如老虎机)有关。我的例子的目的是展示如何创建随机整数。啊,好吧,虽然从1到100有三个插槽听上去有点奇怪,也许你提到了p我只是看了一下视频,发现我的假设是多么错误。无论哪种方式,这里都不是问
如何制作这样做的代码的地方,而是
我制作了一个应该这样做的代码,但它不起作用。怎么了?
。所以我想我的答案并不是完全错了,否则人们可以把它标记为离题。不,不要误解我,我不是说你的答案错了/不好。我只是在想这件事(3;)我试着运行它时出错了,我把它发布到了。不过,它仍然可以工作,只是您必须终止Python进程才能终止它。除此之外,还有一个很好的例子,代码是用Python3编写的。在Python2.x中使用它时,需要将
input()
替换为
raw\u input()
,并从
print
语句中删除括号。