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