-------用Python编写骰子游戏-------几乎完成,但是有不明白的地方……

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了-------用Python编写骰子游戏-------几乎完成,但是有不明白的地方……相关的知识,希望对你有一定的参考价值。

规则是这样的:玩家和电脑,各两颗骰子,如果掷出的两颗骰子没有1,则分数累积,玩家可选择是否继续或结束回合,如果两颗骰子之中有一个1,则所得分数不予累计,强制结束回合,如果掷到两个1,累计的分数全部清零,并且强制结束回合,由电脑继续游戏。如此,直到有一方累计分数达到100或以上的,游戏胜利。题目中给予电脑的条件是只要在一回合中累计得分20点,则结束回合,由玩家继续游戏。
我已经将源代码完成地差不多了,但问题是结束了玩家的while循环之后,无法进入电脑的循环,画面显示"Computer's turn",但执行的循环仍然是玩家的。我试着贴出源代码,不过百度有500字的限制,不知道能不能贴出来。
-----------------------------------------------------------
实在贴不出来,我将文件的网盘放上来,朋友们帮忙看一下吧,放心不是病毒,我做成了txt文本文件。

https://dl.dropbox.com/s/evlak4db2q9ce2k/assignment1.txt?dl=1

参考技术A 骰子游戏
最近写了一个小游戏,就是酒吧里常玩的一种扔骰子然后猜骰子个数的游戏。
写了3个版本,分别用Java,C++,python各写了一遍。
Java的太简单,基本功能都没有完善,规则也不正确,就算了。
C++版和python版的比较,C++版已经比较完善可以玩了,python版更强大一些,功能更丰富,电脑AI的能力也要强一些。
C++版的地址:DiceGame
python版的地址:DiceGame
其中python版需要安装了python 2.5才可以运行。
python 2.5.2的下载地址:python 2.5.2

朋友写了一个精美的手机版,用Adobe Flash Lite 完成的:BeautyDice.rar

下面是游戏规则。
骗子骰(大话骰、古惑骰)
二个以上人玩,每人五粒骰子。每人各摇一次,然后看自己盒内的点数,由庄家开始吆喝自己骰盒里有多少个点数(一般都叫成2个3,2个6,3个2什么的)。然后对方猜信不信,对方信的话就下家重来,不对的话就开盒验证。要是属实的话就庄家赢,猜者输;不属实的话就猜者赢,庄家输。输者喝酒。
注意:
1、叫数只能越叫越大(如: 2个6,3个2,喊了2个6后就不能再喊2个3之类的)。
2、1点可以作为任何数,例如骰盒内只有3个2点,1个1点,庄家其实自己就可当作有4个2点;但如果庄家叫过1点的话,那1点以后就不可以当任何数了(如: 2个1,4个1之类的)。
参考技术B 请问有什么不明白的问题。请提出问题! 参考技术C 好像是中国杭州的吧。 参考技术D 无法访问此页面。。。。 第5个回答  2017-10-31 能否放到百度云上,dropbox国内访问不到

通过将while转换为do-while来缩短python中的骰子匹配游戏[重复]

【中文标题】通过将while转换为do-while来缩短python中的骰子匹配游戏[重复]【英文标题】:Shortening the dice-matching game in python by converting a while to a do-while [duplicate] 【发布时间】:2017-09-01 20:35:19 【问题描述】:

以下程序按预期工作。它首先打印一个字符串,然后将 3 个变量分配给 3 个单独的整数。使用这些整数,它会检查第三个整数是否不等于第一个整数加上第二个整数。如果前两个整数相加后不等于第三个整数,程序会打印出所有三个整数,然后重复分配整数并继续,直到前两个整数等于加在一起的第三个整数。例如:6 + 6 = 12 或 3 + 3 = 10

from __future__ import print_function
import random
print("HERE COMES THE DICE!")
r1 = random.randint(1,6)
r2 = random.randint(1,6)
total = r1 + r2
while r1 != r2:
    r1 = random.randint(1,6)
    r2 = random.randint(1,6)
    total = r1 + r2
    print("Roll #1: ".format(r1))
    print("Roll #2: ".format(r2))
    print("The total is !".format(total))

我目前在使用这个程序时遇到的问题是如何通过将 while 循环转换为 do-while 循环来缩短它。我了解 Java 中的 do-while 循环,但对 Python 版本一无所知。

【问题讨论】:

python 中没有do-while。这就是while @Ev.Kounis 我认为有一种方法可以在 python 中模拟或模拟 do-while @RichardGreen 如果你觉得是,请投票结束这个问题,我会这样做 【参考方案1】:

Python 没有 do while 循环,因此最接近模拟它的方法是更改​​它:

while r1 != r2:
    [...]

变成这样:

while True:
    [...]
    if r1 != r2:
        break

【讨论】:

以上是关于-------用Python编写骰子游戏-------几乎完成,但是有不明白的地方……的主要内容,如果未能解决你的问题,请参考以下文章

用python编一个扔骰子猜大小的游戏,要求三局两胜制

试图用Python重新创建一个名为“ Going to Boston”的骰子游戏

求用python写关于骰子的游戏!么么哒!

使用python制作一个抽奖小游戏——骰子游戏

python摇骰子猜大小的小游戏

Python-使用tkinter实现的摇骰子小游戏