语法switch(表达式){
case 值1:
执行语句块1
break;
case 值2:
执行语句块3
break;
dfault:
//如果以上所有case都不匹配,执行默认语句块
}
如:
// 买彩票 //中100万 买五菱 // 中50万 买雅迪电车 // 中10万 买捷安特 // 中10块 买个冰棍 // 其他 买个锤子 let money: number = 10; switch (money) { case 1000000: console.log('买五菱'); break; case 500000: console.log('买雅迪'); break; case 100000: console.log('买捷安特'); break; case 10: console.log('买个冰棍'); break; default: console.log('买个锤子'); }
// 定义变量 @State userCz:string=''//用户初中 @State comCz:string=''//电脑出招 @State res:string=''//结果 @State uY:number=0//用户赢的次数 @State cY:number=0//电脑赢次数 @State pY:number=0//平局 @State isJ:boolean=false//选中状态 @State isS:boolean=false//选中状态 @State isB:boolean=false//选中状态
Row(){ Radio({value:'剪刀',group:'gm'}) .onChange((isChecked:boolean)=>{ promptAction.showToast({message:`剪刀:${isChecked}`}) this.userCz='剪刀' // this.isC=isChecked this.isJ=isChecked }) .checked(this.isJ) Text('剪刀').fontSize(30) Radio({value:'石头',group:'gm'}) .onChange((isChecked:boolean)=>{ promptAction.showToast({message:`石头:${isChecked}`}) this.userCz='石头' // this.isC=isChecked this.isS=isChecked }) .checked(this.isS) Text('石头').fontSize(30) Radio({value:'布',group:'gm'})//group:分组 .onChange((isChecked:boolean)=>{ promptAction.showToast({message:`布:${isChecked}`}) this.userCz='布' // this.isC=isChecked this.isB=isChecked }) .checked(this.isB) Text('布').fontSize(30) }.width('100%') .height(50) .justifyContent(FlexAlign.SpaceBetween)
Button('电脑出招') .onClick(()=>{ //用户出招了 if(this.userCz!==''){ // Math.random() 产生0~1之间的一个小数 //0剪刀 1石头 2布 let num:number=parseInt(`${Math.random()*3}`) // promptAction.showToast({message:`${num}`}) switch (num){ case 0: this.comCz='剪刀' break; case 1: this.comCz='石头' break; case 2: this.comCz='布' break; }
Text(`赢:${this.uY}`).fontSize(30).fontColor("red").width('40%') Text(`败:${this.cY}`).fontSize(30).fontColor("red").width('40%') Text(`平:${this.pY}`).fontSize(30).fontColor("red").width('40%') Text(`总:${this.uY+this.cY+this.pY}`).fontSize(30).fontColor("red").width('40%') // Text(`胜率:${this.uY/(this.uY+this.cY+this.pY)}`).fontSize(30).fontColor("red").width('40%') Text(`胜率:${this.uY}/${(this.uY+this.cY+this.pY)}`).fontSize(30).fontColor("red").width('40%')
Button('重新开始') .onClick(()=>{ //清零 重新初始化 this.userCz='' this.comCz='' this.res='' this.uY=0 this.cY=0 this.pY=0 //初始化单选的选项 this.isJ=false this.isS=false this.isB=false })