当前位置: 首页 > 知识库问答 >
问题:

骰子游戏:保留个人骰子

夏俊人
2023-03-14
- (void)viewDidLoad {

UITapGestureRecognizer *recogDice = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapRecognized:)];
[self.firstDieView addGestureRecognizer:recogDice]; 
}

-(void)tapRecognized:(UITapGestureRecognizer *)sender {
NSLog(@"Nr 1 touched"); 
}
-(void)throw {
DiceThrowController *diceController = [[DiceThrowController alloc] init];

int firstNumber = [diceController getDieNumber]; //for this example i've cut out the other dice, which are the same as this one, only called 'second' etc.

[self.firstDieView showDieNumber:firstNumber];

self.sumLabel.text = [NSString stringWithFormat:@"%d", firstNumber];
}

有人能在这里给我指个正确的方向吗?我的游戏工作完美,但我想添加一些实际的互动/目标。谢谢

共有1个答案

毛峻
2023-03-14

使用NSMutableArray来保存那些被点击的分数怎么样。只需用8个0初始化数组,这样您就可以知道哪个骰子还没有被点击:

NSMutableArray diceScores = [NSMutableArray arrayWithCapacitive:8];
[diceScores setArray:@[@0, @0, @0, @0, @0, @0, @0, @0]];

当一个骰子被点击时,只需用ReplaceObjectatIndex:WithObject:将分数保存在数组中对应的索引处(因此第一个骰子位于索引0,...)

但是请注意,这个解决方案需要您稍微更改一下api。由于不能在数组中保存int,而只能保存对象,因此应该更改getDienumber,以便它返回nsnumber而不是int。

 类似资料:
  • 我是一个C++初学者,我需要创建一个骰子游戏模拟掷两个骰子。我对头文件的使用感到很困惑。但首先,为什么我需要返回骰子的票面号码?其次,int roll函数做什么?来重置价值观和面孔?如果是,默认值是多少?而最后一个函数骰子(int n),我是否使用这个函数来控制骰子值的最大总和?函数必须有一个具有以下函数的类头文件:

  • 我试图为一个游戏的掷骰子程序,其中用户输入一个下注金额和2个六面骰子滚动,如果7或11是滚动,他们赢了。如果掷2,3或12就输了,如果掷其他任何一个数字,它就显示该数字为一个点。它会继续掷骰子,直到掷7或该点为止,如果掷7就输了,否则就赢了。出于某种原因,在掷骰子时,他会掷骰子,然后再掷一次,看看他们是否赢了或输了。我不知道如何解决这个问题,任何帮助都不会附带

  • 我对C#和一般编码都是新手。为了提高我的技能,我试图创建一个基本的游戏,两个玩家掷骰子,并记录他们的得分。玩家达到20分即获胜。每个玩家轮流掷一个骰子,把他们的第一个骰子加到他们的第二个骰子上,以此类推,直到其中一个达到20。如果玩家掷出一个六,他们可以再次掷骰子。 任何帮助都将不胜感激。

  • 代码的目的是让两个玩家掷一对骰子。第一个掷出20分的玩家赢得比赛。我很难弄清楚如何正确地跟踪滚动的总和;它只给我当前回合的总和,然后当每个玩家滚动10次时游戏就结束了。 我如何正确地计算每个玩家游戏的总和,然后当其中一个玩家的总和等于20时停止循环?

  • 程序在最后未能计算出正确的和。我做错了什么?如有任何帮助,不胜感激。谢了。

  • rollDice( )应使用兰德( )随机生成介于1-6之间的数字 返回兰德( )生成的数字 3)实现一个功能,功能原型为Int ;Playgame( Void ;);  根据用户的赢或输的次数给用户一个适当的消息 返回值为EXIT_SUCCESS 这里是我现在拥有的,但它告诉我有错误。有谁能帮我完成这个任务吗? ^ X.C:10:1:错误:程序中杂散“\240” X.C:12:1:错误:程序中杂