コンピュータ=0 対戦相手=0 勝負:あいこです! コンピュータ=0 対戦相手=1 勝負:グー(コンピュータ)の勝ちです! コンピュータ=0 対戦相手=2 勝負:グー(コンピュータ)の負けです! コンピュータ=1 対戦相手=0 勝負:チョキ(コンピュータ)の負けです! コンピュータ=1 対戦相手=1 勝負:あいこです! コンピュータ=1 対戦相手=2 勝負:チョキ(コンピュータ)の勝ちです! コンピュータ=2 対戦相手=0 勝負:パー(コンピュータ)の勝ちです! コンピュータ=2 対戦相手=1 勝負:パー(コンピュータ)の負けです! コンピュータ=2 対戦相手=2 勝負:あいこです! |
前田稔(Maeda Minoru)の超初心者のプログラム入門
![]()
![]()
/****************************************************/
/*★ 抽象(abstract)クラスでジャンケン 前田 稔 ★*/
/****************************************************/
using System;
//抽象メソッドを持つ抽象クラスの定義
abstract class Hand
{
public abstract int Check(Hand h); //抽象メソッド
public abstract int GuNiKachi(); //抽象メソッド
public abstract int ChokiNiKachi();//抽象メソッド
public abstract int PaNiKachi(); //抽象メソッド
}
|
class Gu : Hand
{
public override int Check(Hand h)
{ int val = h.GuNiKachi();
return val;
}
public override int GuNiKachi()
{ Console.WriteLine("あいこです!");
return 0;
}
public override int ChokiNiKachi()
{ Console.WriteLine("グー(コンピュータ)の勝ちです!");
return 1;
}
public override int PaNiKachi()
{ Console.WriteLine("グー(コンピュータ)の負けです!");
return -1;
}
};
|
class Choki : Hand
{
・・・
};
class Pa : Hand
{
・・・
};
|
class Jyanken
{
public static int Main()
{
Hand[] pHand = new Hand[3];
pHand[0] = new Gu();
pHand[1] = new Choki();
pHand[2] = new Pa();
for(int i=0; i<9; i++)
{
Console.Write("コンピュータ={0} 対戦相手={1} 勝負:", i/3, i%3);
pHand[i%3].Check(pHand[i/3]);
}
Console.ReadLine();
return 0;
}
}
|
![]()