设计模式分配

sri*_*apa 0 java design-patterns

有没有地方可以找到多个分配来实现设计模式(以及解决方案?)

我的想法是以适当的方式开始.我想用Java实现它们.目前我只需要基本的设计模式,而不是J2EE模式.

我实际上正在寻找使用大多数设计模式的完整应用程序.(单个作业中的所有设计模式)

cor*_*iKa 6

建立一个Antfarm !!

你想要一个作业吗?我会给你一个.它将于2月22日星期二太平洋时间晚上9点到期.你将为我建立一个antfarm,你将使用一些常见的设计模式来实现它.

这没有任何设计模式,因为那只是愚蠢的.但是,它确实足以使交互变得复杂,同时又足够简单,可以快速实现.完成后,我们可以考虑为我们的蚁场添加更多功能!

我会根据需要添加需求(添加了哪些修订版本).

这是要求:

功能要求:

  • 草地上可以有许多蚂蚁农场.对于这项任务,只允许一个草地进行.
  • 草地应该能够产生逻辑上无限数量的蚁群.
  • 一个antfarm应该由一个antfarm房间网络组成.
  • 一个antfarm应该有产生更多蚂蚁的房间.
  • 蚂蚁应该能够与其他蚂蚁作战.当他们这样做时,战斗的失败者应该死亡(它的敌人不能再命令它),并且战斗的胜利者应该获得蚂蚁的属性.
  • 一个antfarm应该只有一种蚂蚁.每个物种都应该有一些奖励.也许他们收获的食物更快.也许他们有更高的机会杀死其他蚂蚁.
  • 如果一个蚁群的成员杀死另一个殖民地的女王,杀手的女王应该控制死去的女王的蚂蚁群.所有的蚂蚁现在也应该具有两种蚂蚁的属性.(因此,如果一个物种是强壮的,而其他物种是有效的,那么现在两个种群都合并为一个强大而有效的群体.)
  • 蚂蚁应该经常休息.当他们这样做时,他们应该吃食物.根据房间数量(每个休息室的X量),应该限制一个蚂蚁可以一次休息的容量.
  • 当蜱虫结束时,有一个或更少的活跃菌落/蚁后,模拟结束.这意味着你应该在第一次滴答之前产生至少2个菌落.
  • Antfarm中的房间应该需要一定数量(可能很大)的工人蜱来建造.因此,如果需要1个工人100个刻度来挖一个房间,那么需要50个工人2个刻度等等.但是建造房间应该有很大的成本,因为房间决定了你可以休息多少.(此要求在规范修订版1中添加.)

技术要求 :(设计模式加粗)

  • Meadow类必须是单身人士.
  • 一个antfarm应该是通过将房间建成一个antfarm来建造的.(生成器模式)
  • 无人机和勇士只能通过AntRooms 的工厂模式创建,而皇后区则由Meadows 的工厂模式创建,以用于新的殖民地.
  • 使用装饰器模式来跟踪蚂蚁的属性.
  • Antfarms应该模板化(使用Java泛型)来保存任何类型的ant,并且antfarm应该在运行时指定它拥有哪种类型的ant.
  • 模拟应该基于滴答.(中介模式)每个蜱,每个蚂蚁(以随机顺序)应根据其周围环境执行某些操作.无人机应该寻找食物,战士应该追捕敌人(或者如果饥饿就回去寻找食物),女王应该产卵.

接口要求:

ant服务器场的接口应该是一个命令行界面,其中包含以下命令:

  • spawn X Y T - 应该在物种T的X,Y位置创建一个新的菌落.输出应该给出菌落的标识符,以便以后可以控制.
  • 示例spawn 14 -32 Killer在位置x14 y-32处产生"杀手"蚂蚁群.
  • give I R A - 应该给出由I(在创建时)资源R确定的群体A的群体.
  • 实施例give 1 food 50给出菌落150食物.
  • 例子give 3 warrior 10给出了在殖民地3的基地产卵的殖民地3 10个战士.

  • tick [T] - 应执行T tick操作.为了方便,不允许指定T,只需勾选一次.

  • tick 10
  • tick

  • summary I - 应该给出殖民地的摘要I.摘要提供有关该殖民地的信息.

  • 示例summary 1可能会提供以下输出:

输出:

    Species: Killer
    Workers: 14
    Warriors: 10
    Ant Kills: 18
    Colony kills: 2 (2:Pansy 4:Gatherer)
    Ticks alive: 143
    Status: Alive
Run Code Online (Sandbox Code Playgroud)
  • 示例summary 2可能会提供以下输出:

输出:

    Species: Pansy
    Workers: 4
    Warriors: 0
    Ant Kills: 2
    Colony kills: 0
    Ticks Alive: 25
    Status: Killed by 1:Killer
Run Code Online (Sandbox Code Playgroud)

如果您遇到任何困难,请发表评论.我将尝试给你一些提示,如空白类,方法标题,或者只是关于如何使这些设计模式与彼此交互的一般想法.

祝你好运,并且玩得开心 !!

  • 在b4"HERP DERP我正在寻找单一作业中的所有设计模式,因为我不明白有数百种设计模式,其中许多处理完全不同且完全不相关的问题" (2认同)
  • @glowcoder哦,绝对 - 我没有批评!我只是先发制人srinannapa的愚蠢要求:) (2认同)