0

私はじゃんけんゲームに取り組んでいますが、これを行う方法がわかりません。2 つの UIImageView があり、それぞれに画像があります。2つの画像を比較できるようにしたい。オンラインで調べましたが、何も見つかりません。言えるようになりたい

 if([imageView1.image == rock] && [imageView2.image == scissor]) {
    textLabel.text = @"You won!";
 }

もちろん、この構文が間違っていることはわかっていますが、探しているものの英語部分を表示しようとしています。どんな助けでも大歓迎です。

これで何をしているのかわからないので、お見せできるソースコードはありません。ピクセル間の比較や複雑なものは探していません。画像が同じかどうかを判断する方法を探しているだけです。

4

1 に答える 1

3

OK、列挙型を使用してこの問題を解決する方法を次に示します。まず、列挙型を宣言します。あなたはそれを好きなように呼ぶことができます、私はそれをRPS_STATEと呼んでいます

enum RPS_STATE {
    RPS_ROCK,
    RPS_SCISSOR,
    RPS_PAPER,
    RPS_UNDEFINED
};

初期化の目的で未定義の状態を含めると常に便利です。現在、列挙型で定義されているこれらのものは、実際には 0 ~ 3 の整数です。

そのため、画像を設定するときに次を使用できます。

 -(void) setToRock:(UIImageView *) view {
      view.image = rockImage;
      view.tag = RPS_ROCK;
 }

 -(void) setToScissor:(UIImageView *) view  {
      view.image = scissorImage;
      view.tag = RPS_SCISSOR;
 }

 -(void) setToPaper:(UIImageView *) view  {
      view.image = paperImage;
      view.tag = RPS_PAPER;
 }

次に、それらをうまく簡単に設定して比較できます。

 [self setToPaper:imageView1];
 [self setToPaper:imageView2];

 if(imageView1.tag == imageView2.tag){

 }  

等々。列挙型を型として使用することもできます。例えば

 enum RPS_STATE variableHoldingOnlyRPSState; 

それが役立つことを願っています:)

于 2013-05-05T23:40:43.237 に答える