剪刀、石头、布机器人比赛
- 两名选手是都是软件(机器人),玩剪刀石头布比赛,连续比赛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
剪刀、石头、布机器人比赛相关推荐
- Java黑皮书课后题第3章:*3.17(游戏:剪刀、石头、布)编写可以玩流行的剪刀-石头-布游戏的程序
*3.17(游戏:剪刀.石头.布)编写可以玩流行的剪刀-石头-布游戏的程序 题目 题目概述 运行示例 ***特别注意*** 破题 代码 题目 题目概述 *3.17(游戏:剪刀.石头.布)编写可以玩流行 ...
- 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 ...
- Java小游戏 猜丁壳( 石头、剪刀、布)
用Java实现猜丁壳(石头剪刀布) 我们在控制台输入数字1,2,3分别代表石头,剪刀,布.让后人机(电脑玩家)随机生成石头剪刀布中的一个,比较后得出比分与赢的一方.率先获得5场胜利的玩家获胜. 文章目 ...
- java编程石头剪刀布图片_石头、剪刀、布!10分钟带你打开深度学习大门,代码已开源...
原标题:石头.剪刀.布!10分钟带你打开深度学习大门,代码已开源 沉沉 发自 宇宙中心 量子位 出品 | 公众号 QbitAI 深度学习技术的不断普及,越来越多的语言可以用来进行深度学习项目的开发,即 ...
- 团队-石头,剪刀,布-设计文档
项目名称:石头,剪刀,布游戏 项目参加人员:王聪.李宇鸿.李佳旭.余兴财.王佳傲.魏来 项目所需环境及工具:android studio2.2 页面设计:开始页面设置两个按钮,一个跳转到人机页面一个跳 ...
- Java黑皮书课后题第5章:**5.34(游戏:石头、剪刀、布)编程练习题3.17给出玩石头-剪刀-布游戏的程序。修改这个程序,让用户可以连续玩这个游戏,直到用户或者计算机赢对手两次以上为止
5.34(游戏:石头.剪刀.布)编程练习题3.17给出玩石头-剪刀-布游戏的程序.修改这个程序,让用户可以连续玩这个游戏,直到用户或者计算机赢对手两次以上为止 题目 题目概述 编程练习题3.17 破题 ...
- java编程石头剪刀布_java 开发的石头,剪刀,布的游戏 demo
[java]代码库/* * 创建一个类Game,石头,剪刀,布的游戏. */ public class Game { /** * @param args */ String[] s ={"石 ...
- Python中的石头、剪刀、布游戏
题目要求: 1.从控制台输入要出的拳 -石头(1)/剪刀(2)/布(3) 2.电脑随即出拳–先假定电脑只会出石头,完成整体代码功能 3.比较胜负 石头 胜 剪刀 剪刀 胜 布 布 胜 石头 代码: i ...
- 3.9 编写程序,模拟石头剪刀布游戏。程序随机产生一个数,这个数为2、1或0,分别表示石头剪刀和布。
1. 题目要求编写程序,模拟石头剪刀布游戏.程序随机产生一个数,这个数为2.1或0,分别表示石头剪刀和布.提示用户输入值2.1或0.然后显示一条消息,表明用户和计算机谁赢了游戏.下面是运行示例:你出什 ...
最新文章
- NASA打算送机器蜜蜂去探索火星上的生命痕迹
- 绿标2.0隐私权限解读——应用分类及对应权限展示
- android内存加载dex,安卓8.1版本dex加载流程笔记--第一篇:oatfile,oatdexfile与dexfile...
- 边工作边刷题:70天一遍leetcode: day 97-1
- 用lisp编写串口助手源代码_实战用python来写个串口助手--界面篇
- [转载]VC6下安装STLport-5.2.1
- J-LINK不能烧写(错误:JLink Warning: RESET (pin 15) high, but should be low. Please check target)
- shutdown小程序
- 前端学习(2985):一文理解数据劫持3观察者模式
- java伪协议_通过伪协议解决父页面与iframe页面通信的问题
- EL与JSTL注意事项汇总
- 题目1089:数字反转(简单数字转换)
- Android Studio两模块间getLaunchIntentForPackage跳转,出现intent为null,已解决
- Flutter实战之AS快键键
- 1分钟恢复损坏的Excel文件
- Android Audio架构
- RHEL 7 常用命令
- 20189220余超 团队博客——阅读软件app
- HTML5学习之路(电影影评网)
- 京东校招java笔试题_试卷: 京东2019校招笔试Java开发工程师笔试题(1-)
热门文章
- 免费迅雷会员VIP帐号获取器 – 迅雷离线下免费用
- euler‘s formula
- Catalysing food-tech: How the UK‘s EIT Food Accelerator Network can accelerate your journey
- statistics DATA in CHINA
- 每次没事情的时候都去学校的活动室或者武术室
- ffmpeg命令详解(转)
- Linux 系统内存分析
- sql server的远程连接
- 18.6 负载均衡集群介绍 18.7 LVS介绍 18.8 LVS调度算法 18.9/18.10 LVS NAT模式搭建
- “智慧北京”让生活更美好