Goo*_*ber 1 c# console-application
我正在编写一个简单的C#控制台应用程序.
规格是:
一个游戏由十个框架组成,从十个引脚的全机架开始.在每个框架中,您有两个球的交付,在其中可以尽可能多地击倒十个引脚.如果你击倒第一个球上的所有别针,则称为击球.分数不会立即增加,因为对于一次攻击,你可以获得下两个球的值作为奖励.例如,如果您在第一帧中获得一次攻击,然后在第二帧中获得7和1,则第一帧的得分为18(10 + 7 + 1),第二帧的得分为8,总计为26帧后两帧.如果你击倒第一个球上的一些针脚,并击倒第二个球中的其余针脚,它就被称为备用球.同样,得分不会立即增加,因为对于备用,您将获得下一个球的值作为奖励.例如,如果你在第一帧中得到一个备用,比如一个6和一个4,那么在第二帧得到一个8和一个1,那么第一帧得分为18(6 + 4 + 8),而9对于第二帧,在两帧之后总共制作27帧.
我理解如何编写代码等等.但是,我无法理解这个评分系统的最佳方式,我需要一些建议.显然,每个玩家都会创建一个新对象,但是我不知道如何绕过最初看似简单的编程问题.
任何帮助将不胜感激.
问候
在保龄球,罢工和备件被称为"标记".用这个!
enum Marks { Open, Spare, Strike };
Run Code Online (Sandbox Code Playgroud)
这样,您可以确定每帧的标记类型.投球后,检查最后两帧,并更新他们的分数.然后将分数加起来.
另一个注意事项:如果您正在逐帧显示,请不要在一串打击中显示帧得分(例如,连续四次打击不应导致第1帧显示"30").等待备用或打开以显示总计.做任何不同的事情是不正确的得分,当视频游戏不认识时,它会让我感到害怕.