• 两名选手是都是软件(机器人),玩剪刀石头布比赛,连续比赛100次(即一局),看谁赢得多。
  • 规则与小时候玩的剪刀、石头、布一样,只不过规定100次中的第1次每位选手都必须出石头,这是为了避免随机现象。
  • 程序会告诉你上一次对手出的是什么,但不会也不应该告诉你本次对手出什么。
  • 要编一个打败某选手的并不难,难的是如何打败尽可能多的选手。
  • 为了较客观的评价每位选手,平台设计了循环赛。
  • 100位选手的主人可能会有100种设计思路,这听起来很有趣,到底谁的作品更具威力呢?

只要从Player类继承(引用RowshanBow.dll),重载GetNext方法,就可以实现你的设计,充分发挥你的想象力。

把你的dll放入players文件夹,就可以参战了。

好了,接下来说说技术,挑2点说一下:

1.动态装载,即是使用.net的反射技术,动态装载dll,然后查找特定的Type,当要比赛时实例出该Type的一个对象进行100次比赛。(主要看LoadPlayers方法和BuildPlayer方法)

2.循环赛制。内核是RoundPair类,它能产生一对对比赛的选手对,尽可能地模拟人类的单循环出赛顺序。外部的RoundRobin是对RoundPair的进一步封装,使用泛型,能操控不能类型的“选手”。根据RoundPair产生的序号,选中选手引发事件,并通过参数把两位选手传送过去进行具体的比赛,把结果传回由RoundRobin进行分数计算。

大概就是这个样子了,其它的都没太多的技术含量,相信不难读得懂的。有什么问题可以回复交流。

这是一个参与很容易,做好很难的游戏。开源下载,希望各位喜欢。

下载:RowShanBow_v2_2.zip

转载于:https://www.cnblogs.com/BillySir/archive/2010/02/07/1665586.html

剪刀、石头、布机器人比赛相关推荐

  1. Java黑皮书课后题第3章:*3.17(游戏:剪刀、石头、布)编写可以玩流行的剪刀-石头-布游戏的程序

    *3.17(游戏:剪刀.石头.布)编写可以玩流行的剪刀-石头-布游戏的程序 题目 题目概述 运行示例 ***特别注意*** 破题 代码 题目 题目概述 *3.17(游戏:剪刀.石头.布)编写可以玩流行 ...

  2. linux石头剪刀布游戏三次,一个 Shell的剪刀,石头,布的小游戏,喜欢的可以看看

    vim a_猜石头,剪刀,布.sh #!/bin/bash game=(剪刀 石头 布) num=[ R A N D O M c o m p u t e r = [ RANDOM%3 ] comput ...

  3. Java小游戏 猜丁壳( 石头、剪刀、布)

    用Java实现猜丁壳(石头剪刀布) 我们在控制台输入数字1,2,3分别代表石头,剪刀,布.让后人机(电脑玩家)随机生成石头剪刀布中的一个,比较后得出比分与赢的一方.率先获得5场胜利的玩家获胜. 文章目 ...

  4. java编程石头剪刀布图片_石头、剪刀、布!10分钟带你打开深度学习大门,代码已开源...

    原标题:石头.剪刀.布!10分钟带你打开深度学习大门,代码已开源 沉沉 发自 宇宙中心 量子位 出品 | 公众号 QbitAI 深度学习技术的不断普及,越来越多的语言可以用来进行深度学习项目的开发,即 ...

  5. 团队-石头,剪刀,布-设计文档

    项目名称:石头,剪刀,布游戏 项目参加人员:王聪.李宇鸿.李佳旭.余兴财.王佳傲.魏来 项目所需环境及工具:android studio2.2 页面设计:开始页面设置两个按钮,一个跳转到人机页面一个跳 ...

  6. Java黑皮书课后题第5章:**5.34(游戏:石头、剪刀、布)编程练习题3.17给出玩石头-剪刀-布游戏的程序。修改这个程序,让用户可以连续玩这个游戏,直到用户或者计算机赢对手两次以上为止

    5.34(游戏:石头.剪刀.布)编程练习题3.17给出玩石头-剪刀-布游戏的程序.修改这个程序,让用户可以连续玩这个游戏,直到用户或者计算机赢对手两次以上为止 题目 题目概述 编程练习题3.17 破题 ...

  7. java编程石头剪刀布_java 开发的石头,剪刀,布的游戏 demo

    [java]代码库/* * 创建一个类Game,石头,剪刀,布的游戏. */ public class Game { /** * @param args */ String[] s ={"石 ...

  8. Python中的石头、剪刀、布游戏

    题目要求: 1.从控制台输入要出的拳 -石头(1)/剪刀(2)/布(3) 2.电脑随即出拳–先假定电脑只会出石头,完成整体代码功能 3.比较胜负 石头 胜 剪刀 剪刀 胜 布 布 胜 石头 代码: i ...

  9. 3.9 编写程序,模拟石头剪刀布游戏。程序随机产生一个数,这个数为2、1或0,分别表示石头剪刀和布。

    1. 题目要求编写程序,模拟石头剪刀布游戏.程序随机产生一个数,这个数为2.1或0,分别表示石头剪刀和布.提示用户输入值2.1或0.然后显示一条消息,表明用户和计算机谁赢了游戏.下面是运行示例:你出什 ...

最新文章

  1. NASA打算送机器蜜蜂去探索火星上的生命痕迹
  2. 绿标2.0隐私权限解读——应用分类及对应权限展示
  3. android内存加载dex,安卓8.1版本dex加载流程笔记--第一篇:oatfile,oatdexfile与dexfile...
  4. 边工作边刷题:70天一遍leetcode: day 97-1
  5. 用lisp编写串口助手源代码_实战用python来写个串口助手--界面篇
  6. [转载]VC6下安装STLport-5.2.1
  7. J-LINK不能烧写(错误:JLink Warning: RESET (pin 15) high, but should be low. Please check target)
  8. shutdown小程序
  9. 前端学习(2985):一文理解数据劫持3观察者模式
  10. java伪协议_通过伪协议解决父页面与iframe页面通信的问题
  11. EL与JSTL注意事项汇总
  12. 题目1089:数字反转(简单数字转换)
  13. Android Studio两模块间getLaunchIntentForPackage跳转,出现intent为null,已解决
  14. Flutter实战之AS快键键
  15. 1分钟恢复损坏的Excel文件
  16. Android Audio架构
  17. RHEL 7 常用命令
  18. 20189220余超 团队博客——阅读软件app
  19. HTML5学习之路(电影影评网)
  20. 京东校招java笔试题_试卷: 京东2019校招笔试Java开发工程师笔试题(1-)

热门文章

  1. 免费迅雷会员VIP帐号获取器 – 迅雷离线下免费用
  2. euler‘s formula
  3. Catalysing food-tech: How the UK‘s EIT Food Accelerator Network can accelerate your journey
  4. statistics DATA in CHINA
  5. 每次没事情的时候都去学校的活动室或者武术室
  6. ffmpeg命令详解(转)
  7. Linux 系统内存分析
  8. sql server的远程连接
  9. 18.6 负载均衡集群介绍 18.7 LVS介绍 18.8 LVS调度算法 18.9/18.10 LVS NAT模式搭建
  10. “智慧北京”让生活更美好