滚动游戏统计数据

时间:2011-10-30 19:01:04

标签: python

我是编程新手。我只触及了一种语言Python的表面,这正是我目前正在使用的。我正在尝试编写一个程序,可以在1-100之间显示随机滚动数字。由于缺乏解释能力,我宁愿展示我想要做的事情的视频。 http://www.youtube.com/watch?v=88SENZe6Z3I 在大约33秒时,您可以看到玩家必须停止的滚动数字,以便将其分配给角色特征。少了所有漂亮的图形和一切,我想知道的是,是否有可能编写一个在Python中提供相同类型功能的程序?如果不是Python,我唯一熟悉的其他两种语言是C#和Java。可以用一个或一个组合来写它吗? 如果有可能,你能否指出我为这项工作提供资源的方向。在发布此内容之前,我确实进行了搜索,但由于不知道要搜索什么,我发现自己空洞。

谢谢!

3 个答案:

答案 0 :(得分:1)

如果有人必须观看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)

答案 1 :(得分:1)

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

然而,命令行的可能解决方案将涉及多线程。原因是您不能同时打印(不断更改)数字并等待键盘输入。正常的命令行实际上非常有限。

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

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 )

答案 2 :(得分:0)

对于应用程序的图形部分,您应该查看pygame:http://pygame.org