Java程序练习-A-黑帝君临

本文深入探讨了游戏开发领域的关键技术,包括游戏引擎、编程语言、硬件优化等,并重点介绍了AI音视频处理在游戏中的应用,如语音识别、图像处理、AR特效等。同时,文章还涉及了自动化测试、性能优化等现代开发流程,旨在为游戏开发者提供全面的技术指导。
部署运行你感兴趣的模型镜像

描述

Description

西斯皇帝欺骗了议员,控制了议会。绝地武士传人Dastan为了正义,与西斯决斗。然而,西斯的天眼看出Dastan是个投机主义者。于是,西斯告诉Dastan,如果决斗的话会伤害的无辜的人,不如玩一把showhand,输的人将被流放。
ShowHand是一项紧张刺激的游戏(香港赌神、赌侠系列中最常见的方式)。以五张牌的排列、组合决定胜负。游戏开始时,每名玩家会获发一张底牌(此牌只能在最后才翻开);当派发第二张牌后,便由牌面较佳者决定下注额,其他人有权选择「跟」、「加注」、「放弃」或「晒冷」。当五张牌派发完毕后,各玩家翻开所有底牌来比较。
花式说明
黑桃♤>红心♥>方片◇>梅花♣
牌面说明
一共52张牌,23456789TJQKA 13张牌每种花式一套。 (T代表10)
A>K>Q>J>T>9>8>7>6>5>4>3>2
牌型说明
如果没有特殊说明,一般情况下同样的牌型比较最大的那张牌的大小,大小相同则比最大的那张牌的花式。牌型由大到小依次如下(有兴趣的同学可以验证一下概率)。
  No.1同花顺 拥有五张连续性同花色的顺子。以A为首的同花顺(TJQKA)最大。但JQKA2,QKA23,KA234不算顺子。A2345是最小的同花顺。
  No.2铁支 四张相同数字的牌,外加一单张。比数字大小,「A」铁支(AAAA)最大
  No.3葫芦 由「三条」加一个「对子」所组成的牌,若别家也有此牌型,则比三条数字大小
  No.4同花 不构成顺子的五张同花色的牌。先比数字最大的单张,如相同再比第二支、依此类推,如果5张牌大小都相同,那么比它们的花色。
  No.5顺子 五张连续数字的牌组。 以A为首的顺子最大,如果大家都是顺子,比最大的一张牌,如果大小还一样就比这张牌的花式(JQKA2,QKA23,KA234不算顺子).
  No.6三条 牌型由三张相同的牌组成,以A为首的三条(AAA)最大
  No.7二对 牌型中五张牌由两组两张同数字的牌所组成。若遇相同则先比这副牌中最大的一对,如又相同再比第二对,如果还是一样,比大对子中的最大花式
  No.8对子 牌型由两张相同的牌加上三张单张所组成。如果大家都是对子,比对子的大小,如果对子也一样,比这个对子中的最大花色
No.9散牌 单一型态的五张散牌所组成,不成对(二对),不成三条,不成顺(同花顺),不成同花,不成葫芦,不成铁支。先比最大一张牌的大小,如果大小一样,比这张牌的花色。

输入

Input

多组测试数据。每组输入第一行是一个整数T 代表输入组数。每组输入一行,每行描述5张扑克,每个描述由一个字符(2-9,TJQKA)和一个数字(0-4分别代表黑桃,红桃,方片,梅花)组成。每个字符或数字用一个空格隔开。

输出

Output

每组数据,请输出牌型所对应的编号。

Sample Input

4
A 3 Q 3 T 3 K 3 J 3
K 0 K 1 K 2 K 3 A 0
T 0 9 1 T 3 9 3 3 3
K 0 A 1 2 2 3 1 4 1

Sample Output

1
2
7
9

参考代码

import java.util.*; class Card{ public char point; public int value; }; public class Main { final public static int CN = 5; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int cases = sc.nextInt(); Card card[] = new Card[CN]; sc.nextLine(); while(cases > 0){ String s = sc.nextLine(); String sd[] = s.split(" "); for(int i = 0;i < CN;++ i){ card[i] = new Card(); int j = i * 2; card[i].point = sd[j].charAt(0); switch(card[i].point){ case 'T': card[i].point = '9' + 1; break; case 'J': card[i].point = '9' + 2; break; case 'Q': card[i].point = '9' + 3; break; case 'K': card[i].point = '9' + 4; break; case 'A': card[i].point = '9' + 5; break; default: break; } card[i].value = sd[j + 1].charAt(0) - '0'; } System.out.println(check(card)); cases --; } } private static int check(Card[] card) { int i,j; boolean samecolored = true; boolean sorted = true; boolean foured = true; boolean threed = true; int doubled = 0; int kind = 1; //check color int color = card[0].value; for(i = 0;i < CN;++ i){ if(card[i].value != color){ samecolored= false; break; } } //check sequence Card temp; boolean bl = true; for(i = 1;i < CN;++ i){ for(j = 0;j < CN - i;++ j){ bl = true; if(card[j].point > card[j + 1].point){ temp = card[j]; card[j] = card[j + 1]; card[j + 1] = temp; bl = false; } } if(bl){ break; } } for(i = 0;i < CN - 1;++ i){ if(card[i].point + 1 != card[i+ 1].point){ sorted = false; break; } } //check 'A1234' if(!sorted){ sorted = true; for(i = 0;i < CN - 2;++ i){ if(card[i].point + 1 != card[i+ 1].point){ sorted = false; break; } } if(sorted){ if(card[0].point == '2' && card[4].point == ('9' + 5)){ sorted = true; }else{ sorted = false; } } } //kind = 1 if(samecolored && sorted){ return kind; } kind ++; //check four same point cards for(i = 0;i < CN - 2;++ i){ if(card[i].point != card[i + 1].point){ foured = false; break; } } if(!foured){ for(i = 1;i < CN - 1;++ i){ if(card[i].point != card[i + 1].point){ foured = false; break; } } } //kind = 2 if(foured){ return kind; } kind ++; int cdlist[] = new int[13]; for(i = 0;i < 13; ++ i){ cdlist[i] = 0; } for(i = 0;i < CN;++ i){ cdlist[card[i].point - '2'] ++; } threed = false; for(i = 0;i < 13;++ i){ if(cdlist[i] == 3){ threed = true; } if(cdlist[i] == 2){ doubled ++; } } //kind = 3 if(threed && doubled == 1){ return kind; } kind ++; //kind = 4 if(samecolored){ return kind; } kind ++; //kind = 5 if(sorted){ return kind; } kind ++; //kind = 6 if(threed){ return kind; } kind ++; //kind = 7 if(doubled == 2){ return kind; } kind ++; //kind = 8 if(doubled == 1){ return kind; } kind ++; //kind = 9 return kind; } }


您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

<think>嗯,用户需要了解CCS搭配MSP-FET430UIF的具体使用方法。结合之前的引用内容,关键点在于配置和调试两个核心环节。用户可能正在开始一个MSP430项目,需要实操指导而非理论说明。 从引用[1]看,CCS的配置是效率关键,特别是编译器配置;引用[2]则强调硬件接口的重要性。用户上次查询过相同问题,这次更聚焦实操步骤,说明可能遇到了配置障碍。 我应该拆解为设备连接、CCS配置、调试流程三部分。硬件连接要强调USB枚举和指示灯状态,这是新手常见卡点。工程配置需说明编译器版本选择,引用[1]提到的工具链配置与此相关。调试技巧则要覆盖变量监视和断点设置,这些是引用[2]提到的"有效开发"关键。 用户身份可能是嵌入式初学者,问题中重复"使用方法"的表述,显得比较焦虑。需要强调"首次使用务必注意"的警告事项,比如驱动安装和接口供电。相关问题的扩展方向要兼顾排错(驱动问题)和进阶(串口调试),这是用户可能遇到的后续痛点。 最后补充注意事项:避免直接复制引用中的章节标题(如4.1.1),而是转化为具体动作描述(如"勾选编译器选项")。相关问题的第四个选项特意加入UART配置,因为引用[2]提到硬件接口种类,而串口是最常用功能之一。 </think>以下是使用Code Composer Studio (CCS) 搭配 MSP-FET430UIF 仿真器的完整操作指南: ### 一、硬件连接与驱动安装 1. **连接设备** - 通过USB线将MSP-FET430UIF连接到电脑和目标板 - 观察仿真器指示灯:绿色恒亮表示连接正常[^2] 2. **驱动安装** - Windows系统自动安装基础驱动 - 安装CCS时**务必勾选** MSP430 Debug Drivers 组件 - 验证驱动:设备管理器显示 `MSP-FET430UIF - CDC` 和 `MSP-FET430UIF - Debug` 设备 ### 二、CCS工程配置(关键步骤) ```plaintext 1. 创建/导入工程 File → New → CCS Project ▶ 选择器件型号(如MSP430F5529) ▶ Compiler version: TI v22.6.x LTS (推荐) 2. 配置仿真器 Project → Properties → Debug ▶ Connection: Texas Instruments MSP-FET430UIF ▶ Interface: JTAG 或 Spy-Bi-Wire (根据目标板选择) 3. 设置烧录选项 Flash Settings → MSP430 Flash Options ▶ 勾选"Erase main memory" ▶ 电压选择 3.3V (默认) ``` ### 三、调试操作流程 1. **启动调试** `Run → Debug` (F11) 自动完成: - 编译工程 - 烧录固件 - 进入调试界面 2. **核心调试功能** ```c while(1) { P1OUT ^= 0x01; // 在此行设置断点 __delay_cycles(1000000); } ``` - **断点设置**:双击行号左侧灰色区域 - **变量监视**:Expressions窗口添加变量名 - **寄存器查看**:View → Registers → Core Registers 3. **高级功能** - **实时变量更新**:Enable Live Watch (时钟图标) - **内存检查**:View → Memory Browser - **功耗分析**:EnergyTrace™ (需器件支持) ### 四、故障排查 | 现象 | 解决方案 | |---------------------|----------------------------| | 无法识别设备 | 重启CCS → 重插USB → 检查LED | | Error connecting | 确认目标板供电 ≥2.7V | | 断点不触发 | 检查优化等级(-O0关闭优化) | > **首次使用必看**:若遇驱动问题,手动安装路径:`C:\ti\ccs\ccs_base\common\uscif\msp430` ### 相关问题 1. CCS调试时如何实时监测GPIO电平变化? 2. MSP-FET430UIF支持哪些非JTAG编程协议? 3. 如何解决"Firmware update required"错误? 4. EnergyTrace™功能的使用限制是什么? 5. Spy-Bi-Wire与标准JTAG接口有何区别? > 参考资料: > [^1]: CCS编译器配置直接影响二进制优化效率,推荐使用LTS版本 > [^2]: MSP-FET430UIF硬件接口支持1.8V-3.6V电平自适应
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值