北京邮电大学_智能卡实验报告讲稿.docxVIP

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
智能卡实验报告需求分析身份反馈:收到00a0 00 00 00 0f时反馈由十位学号及6位的姓名组成的代码,所以我的是:2013211209C1F5B2A9CEC5。初始化:创立3X3棋盘存储空间(9位数组)默认存储为00,人下棋存储为01,电脑下棋存储为02。确定先后手:确定是人或机器先下。下棋过程:人将存储空间中数据更改为1,计算机将存储空间中数据更改为2。判断棋局情况:判断此时棋局状态为哪一方胜、和棋或者尚未完成。纠错机制:已下过棋子的位置,不允许重复落子。结束:当判断棋局状态为哪一方胜或者和棋时,游戏结束。设计系统结构图子程序流程图身份反馈流程图初始化流程图人类先手流程图人类后手流程图APDU命令设计表1 APDU命令设计功能CLAINSP1P2LCDATALE返回值身份反馈00a00000——102013211209C1F5B2A9CEC5初始化00a10300/01——0200 90 00—成功 电脑先手选0009 90 00—成功 人先手63 01—初始化失败下棋00a200-0800——0203 9000成功落子未完01 9000成功落子人赢了—02 9000成功落子电脑赢了00 9000 成功落子和局 —6301 落子失败打印棋盘00a30000——080x 0x0x0x0x0x0x0x0x棋盘情况测试数据选中/select 627570742e67616d652e31 选中身份反馈/send 00a0000010 身份反馈初始化/send 00a1030002 初始化棋盘并人先手/send 00a1030102 初始化棋盘并AI先手落字/send 00a2000002 落字到左上角/send 00a2010002 落字到第一行中间/send 00a2020002 落字到右上角/send 00a2030002 落字到中间靠左/send 00a2040002 落字到中心/send 00a2050002 落字到中间靠右/send 00a2060002 落字到左下角/send 00a2070002 落字到最后一行中心/send 00a2080002 落字到右下角打印棋盘/send 00a3000008关键代码游戏初始化模块:privatevoidinit(APDU apdu){byte[] buffer = apdu.getBuffer();//棋盘维数——报错if(buffer[ISO7816.OFFSET_P1] != (byte)0x03){ISOException.throwIt(WRONG_P1);}//先后手——报错if(buffer[ISO7816.OFFSET_P2] != (byte)0x01){if(buffer[ISO7816.OFFSET_P2] != (byte)0x00)ISOException.throwIt(WRONG_P2);}//将临时变量放进RAMboard=JCSystem.makeTransientByteArray((short) 9,JCSystem.CLEAR_ON_DESELECT);order=JCSystem.makeTransientByteArray((short)1,JCSystem.CLEAR_ON_DESELECT)[0];turn=JCSystem.makeTransientByteArray((short)1,JCSystem.CLEAR_ON_DESELECT)[0];depth=JCSystem.makeTransientByteArray((short)1,JCSystem.CLEAR_ON_DESELECT)[0];answer=JCSystem.makeTransientByteArray((short)1,JCSystem.CLEAR_ON_DESELECT)[0];result=JCSystem.makeTransientByteArray((short)1,JCSystem.CLEAR_ON_DESELECT)[0];this.board[0]=(byte)0x00;this.board[1]=(byte)0x00;this.board[2]=(byte)0x00;this.board[3]=(byte)0x00;this.board[4]=(byte)0

文档评论(0)

502992 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档