コード例 #1
0
ファイル: Program.cs プロジェクト: RocGod/brianrepo
 static void Main(string[] args)
 {
     VendingMachine vm = new VendingMachine();
     vm.AddNickel();
     vm.AddDime();
     vm.AddNickel();
     vm.AddDime();
 }
コード例 #2
0
ファイル: Fifteen.cs プロジェクト: RocGod/brianrepo
 public override void AddQuarter(VendingMachine vm)
 {
     vm.Vend();
     vm.ChangeState(Start.Instance());
 }
コード例 #3
0
ファイル: State.cs プロジェクト: RocGod/brianrepo
 protected virtual void ChangeState(VendingMachine vm, State s)
 {
     vm.ChangeState(s);
 }
コード例 #4
0
ファイル: Fifteen.cs プロジェクト: RocGod/brianrepo
 public override void AddNickel(VendingMachine vm)
 {
     this.ChangeState(vm,Twenty.Instance());
 }
コード例 #5
0
ファイル: State.cs プロジェクト: RocGod/brianrepo
 public virtual void AddNickel(VendingMachine vm)
 {
 }
コード例 #6
0
ファイル: State.cs プロジェクト: RocGod/brianrepo
 public virtual void AddQuarter(VendingMachine vm)
 {
 }
コード例 #7
0
ファイル: Start.cs プロジェクト: RocGod/brianrepo
 public override void AddQuarter(VendingMachine vm)
 {
     vm.Vend();    // start over
 }
コード例 #8
0
ファイル: State.cs プロジェクト: RocGod/brianrepo
 public virtual void AddDime(VendingMachine vm)
 {
 }
コード例 #9
0
ファイル: Start.cs プロジェクト: RocGod/brianrepo
 public override void AddDime(VendingMachine vm)
 {
     ChangeState(vm, Ten.Instance());
 }
コード例 #10
0
ファイル: Start.cs プロジェクト: RocGod/brianrepo
 public override void AddNickel(VendingMachine vm)
 {
     ChangeState(vm, Five.Instance());
 }
コード例 #11
0
ファイル: Five.cs プロジェクト: RocGod/brianrepo
 public override void AddQuarter(VendingMachine vm)
 {
     vm.Vend();
     ChangeState(vm, Start.Instance());
     // no change returned :-)
 }
コード例 #12
0
 public virtual void AddNickel(VendingMachine vm)
 {
 }
コード例 #13
0
 protected virtual void ChangeState(VendingMachine vm, State s)
 {
     vm.ChangeState(s);
 }
コード例 #14
0
 public virtual void AddQuarter(VendingMachine vm)
 {
 }
コード例 #15
0
 public virtual void AddDime(VendingMachine vm)
 {
 }