1 /*
2 *“喜羊羊逃命”游戏:喜羊羊被灰太狼追,喜羊羊最多5条命,灰太狼每咬到喜羊羊一
3 * 次,喜羊羊就要少一条命。在逃的过程中喜羊羊可以吃到三种苹果,吃“红苹果”可
4 * 以给喜羊羊加上保护罩,吃“绿苹果”可以加快喜羊羊奔跑速度,吃“黄苹果”可以
5 * 使喜羊羊趟着水跑。应用装饰模式,用C#控制台应用程序实现该设计。
6 */
7 using System;
8 using System.Collections.Generic;
9 using System.Linq;
10 using System.Text;
11
12 namespace Decorator
13 {
14 class XiYangYang
15 {
16 public virtual void Show()
17 {
18 }
19 }
20 class Buff : XiYangYang
21 {
22 protected XiYangYang xyy;
23 public void AddBuff(XiYangYang xyy)
24 {
25 this.xyy =
xyy;
26 }
27 public override void Show()
28 {
29 if (xyy !=
null)
30 {
31 xyy.Show();
32 }
33 }
34 }
35 class ProtectBuff : Buff
36 {
37 public override void Show()
38 {
39 Console.WriteLine(
"喜羊羊吃了一个'红苹果',获得了保护罩!");
40 base.Show();
41 }
42 }
43 class FastBuff : Buff
44 {
45 public override void Show()
46 {
47 Console.WriteLine(
"喜羊羊吃了一个'绿苹果',进入加速状态!");
48 base.Show();
49 }
50 }
51 class SwimBuff : Buff
52 {
53 public override void Show()
54 {
55 Console.WriteLine(
"喜羊羊吃了一个'黄苹果',它可以游泳了!");
56 base.Show();
57 }
58 }
59 class Program
60 {
61 static void Main(
string[] args)
62 {
63 XiYangYang xyy =
new XiYangYang();
64 Console.WriteLine(
"游戏开始了!");
65
66 ProtectBuff pb =
new ProtectBuff();
67 FastBuff fb =
new FastBuff();
68 SwimBuff sb =
new SwimBuff();
69
70 pb.AddBuff(xyy);
71 fb.AddBuff(pb);
72 sb.AddBuff(fb);
73 sb.Show();
74
75 Console.WriteLine(
"游戏结束了!");
76 }
77 }
78 }
转载于:https://www.cnblogs.com/CheeseZH/archive/2012/05/16/2505579.html
相关资源:数据结构—成绩单生成器
转载请注明原文地址: https://win8.8miu.com/read-1494673.html