掷骰子游戏电路的设计与实现论文-毕业论文_第1页
掷骰子游戏电路的设计与实现论文-毕业论文_第2页
掷骰子游戏电路的设计与实现论文-毕业论文_第3页
掷骰子游戏电路的设计与实现论文-毕业论文_第4页
掷骰子游戏电路的设计与实现论文-毕业论文_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

掷骰子游戏电路的设计与实现数字电路与逻辑设计实验报告学院:电子工程学院班级:学号姓名:指导老师:目录一、 设计课题的任务要求 31、基本要求 32、提高要求 3二、 系统设计 31、设计思路 32、总体框图 43、分块设计 6三、 仿真波形及波形分析 71、第1局分出胜负 72、第2——5局分出胜负 83、第6局之后分出胜负 9四、 源程序 91、主程序 92、响铃程序 26五、 功能说明及资源利用情况 301、基本功能 302、附加功能 303、管口配置 304、资源利用情况 31六、 故障及问题分析 311、按键次数与局数不一致 312、比较输赢结果与预期不同 323、数码管偶尔会出现乱码显示 324、伪随机数产生有规律,随机性较差 32七、 总结和结论 321、选题总结 322、心得体会 32设计课题的任务要求1、基本要求1、电路可供甲乙二人游戏,游戏者甲使用的按键为BTN0,游戏者乙使用的按键为2、每按一次按键,代表掷一次骰子,可随机得到3、甲乙按键产生的随机数字分别用数码管DISP0-DISP1、DISP2-DISP3显示,并用显示比赛局数,比赛结束用4、具体游戏规则如下:(1)第一局比赛,甲乙依次各按一次按键,按键所得两数之和为7或11人取胜,则进行第二局比赛;(2)胜,若无人获胜,则进行第三局比赛,重复进行步骤(2,直到出现胜者为止。(3)以按键所得两数之和最大者为获胜方,若依然未分出胜负,重复比大小直到出现胜者为止。2、提高要求1、增加多人游戏的功能,数码管可分时记录显示每个游戏者的骰子点数。2、点阵显示增加游戏开机动画、结束动画,并伴有乐曲播放。3、自拟其它功能。系统设计1、设计思路1、开机及复位时,出现开机画面及音乐,进入待机状态;2、设置甲方投掷按钮、乙方投掷按钮、复位按钮三个按键,玩家按相应的按钮进行投掷,数码管显示其投掷的两个随机数,并显示进行的局数;3、若比赛进行中有玩家获胜,则点阵显示获胜玩家,同时蜂鸣器响起提示结束;4、数码管显示中,新的一局开始时,即甲玩家投掷后,乙玩家上局的投掷结果应该消失,等待新的投掷;5、按照骰子的结构,投掷的结果应该为1—6的随机数,应该尽可能地产生等概率的随机数,共有36种组合情况:1112131415162122232425263132333435364142434445465152535455566162636465666、局数的显示应该在乙投掷后,甲投掷前改变;7、按照既定的游戏规则,系统应该以局数为指标,对比赛的输赢进行评判,要充分考虑到每一种情况下的判决问题;8、复位时,要回到起始状态,初始化信号,等待新一局游戏开始。2、总体框图顶层框图对外接口框图逻辑划分框图状态转移图逻辑流程图3、分块设计VHDL支持模块化设计,可将大规模设计项目分解成若干个小项目,还可以把已有的设计项目作为一个模块调用。根据实验设计思路及所要完成的功能,将分为以下几个模块进行实现:蜂鸣器模块当在开机或复位状态时,蜂鸣器响开机音乐,在游戏过程中蜂鸣停止,当有玩家获胜时蜂鸣器鸣;点阵显示模块当在开机或复位状态及游戏过程中,点阵显示开机画面,当有玩家获胜时,点阵显示获胜玩家;数码管显示模块分别显示甲、乙投掷的随机数以及局数,复位时甲乙熄灭、局数归零;按键防抖模块对甲、乙按键进行防抖,用于准确判断按键的次数,得以确定局数;分频模块按照不同模块的需要进行分频;局数记录与显示模块用于对局数的记录和显示,并用于输赢判断中,按照不同的局数使用不同的判别规则;随机数产生与显示模块当玩家按按钮时产生两个随机数;按规则判决模块以局数为标准按照既定规则进行输赢判决。仿真波形及波形分析1、第1局分出胜负分析:如图所示,jushu为1时,甲投掷和jiasum为7,乙投掷和yisum为8,所以Jia_win为1,表示甲胜利;复位后全部归0。分析:如图所示为点阵显示,dianzhencom为绿色列,dianzhenred为红色列,dianzhenhang为行扫描,当甲获胜时出现如图所示图形,为“甲”,当重置时,点阵回复为开机画面“VS”。2、第2——5局分出胜负分析:如图,1——3局没有分出胜负,第4局时,乙投掷出10和前一局相同,而甲投掷的4与前一局不相同,因此乙获胜,Yi_win信号为1;之后按Restart复位后,全部归0。3、第6局之后分出胜负分析:如图所示,前五局没有分出胜负,第六局开始比较大小,甲投掷出6,乙投掷出10大于6,因此乙获胜,Yi_win为1;之后令Restart为1,即复位后,全部置0。源程序1、主程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityzhitouziisport(Restart:instd_logic;--reset复位端Jia:instd_logic;--thefrist甲投掷按钮Yi:instd_logic;--thesecond乙投掷按钮Clk:instd_logic;--clock时钟端beep:outstd_logic;--beep蜂鸣器tubes:OUTSTD_LOGIC_VECTOR(6DOWNTO0);--七段数码管 cats:OUTSTD_LOGIC_VECTOR(5DOWNTO0);--控制端 dianzhencom:OUTSTD_LOGIC_VECTOR(7DOWNTO0);--点阵绿色列 dianzhenred:OUTSTD_LOGIC_VECTOR(7DOWNTO0);--点阵红色列 dianzhenhang:OUTSTD_LOGIC_VECTOR(7DOWNTO0)--点阵行扫描);endzhitouzi;architectureaofzhitouziiscomponentdidiPORT(clk1:INstd_logic;rst:INstd_logic;beep_in:integerrange0to2;out_bit:OUTstd_logic);endcomponent; signalshumaguan:STD_LOGIC_VECTOR(6DOWNTO0);--数码管显示信号 signalcontrol:STD_LOGIC_VECTOR(5DOWNTO0);--数码管6位控制端 signaljia1:std_logic_vector(6downto0);--甲投掷的第一个数显示 signaljia2:std_logic_vector(6downto0);--甲投掷的第二个数显示 signalyi1:std_logic_vector(6downto0);--乙投掷的第一个数显示 signalyi2:std_logic_vector(6downto0);--乙投掷的第二个数显示 signaljianum1:integerrange1to6;--甲投掷的第一个数字 signaljianum2:integerrange1to6;--甲投掷的第二个数字 signaljiasum:integerrange2to12:=2;--甲投掷的数字之和 signaljiasum0:integerrange2to12:=2;--记录前一次甲投掷的数字之和 signalyinum1:integerrange1to6;--乙投掷的第一个数字 signalyinum2:integerrange1to6;--乙投掷的第一个数字 signalyisum:integerrange2to12:=2;--乙投掷的数字之和 signalyisum0:integerrange2to12:=2;--记录前一次乙投掷的数字之和 signaljiasum1:integerrange2to12:=2;--以下均为记录前一个和 signalyisum1:integerrange2to12:=2; signaljiasum2:integerrange2to12:=2; signalyisum2:integerrange2to12:=2; signaljiasum3:integerrange2to12:=2; signalyisum3:integerrange2to12:=2; signaljushu:integerrange0to9:=0;--记录当前局数-- signaljushu2:integerrange0to9:=0; signaljushushow:std_logic_vector(6downto0):="1111110";--当前局数显示 signaltimes:integerrange0to5;--数码管显示调频参数 signalnum1:integerrange0to35;--甲随机数控制变量 signalnum2:integerrange0to35;--乙随机数控制变量 signalbeep0:integerrange0to2:=2;--蜂鸣器信号 typestateis(S0,S1,S2);--防抖模块状态signalcurrent:state;typestate2is(Y0,Y1,Y2);signalcurrent2:state2;signaljiafang:std_logic;--甲防抖信号signalYifang:std_logic;--乙防抖信号 signaljiasignal:integerrange0to1:=0;--甲乙得分标识 signalyisignal:integerrange0to1:=0; signaljiasignal1:integerrange0to1:=0; signalyisignal1:integerrange0to1:=0; signaljiasignal2:integerrange0to1:=0; signalyisignal2:integerrange0to1:=0; signaljiasignal3:integerrange0to1:=0; signalyisignal3:integerrange0to1:=0; signaljiasignal4:integerrange0to1:=0; signalyisignal4:integerrange0to1:=0; signaljiasignal5:integerrange0to1:=0; signalyisignal5:integerrange0to1:=0; signaljiasignal6:integerrange0to1:=0; signalyisignal6:integerrange0to1:=0; signaljiasignal7:integerrange0to1:=0; signalyisignal7:integerrange0to1:=0; signalwin:integerrange0to2:=0;--胜利标识signaltemp1:integerrange0to149999;signalclk_out1:std_logic;signaltemp2:integerrange0to129999;signalclk_out2:std_logic;typematrix_typeISarray(7downto0)ofstd_logic_vector(7downto0);--定义二维数组8*8信号signalmatrix:matrix_type;--两个点阵显示数组signalmatrix2:matrix_type;signalsaomiao:std_logic_vector(7downto0);--点阵行扫描信号signaldata:std_logic_vector(7downto0);--点阵绿色列signaldata2:std_logic_vector(7downto0);--点阵红色列 beginU1:didiportmap(clk1=>clk,rst=>restart,out_bit=>beep,beep_in=>beep0);dianzhenshow:process(clk_out2)--点阵显示beginif(clk_out2='1'andclk_out2'event)thenifsaomiao(7downto0)="00000000"orsaomiao(7downto0)="01111111"thensaomiao(7downto0)<="11111110";data<=matrix(0);data2<=matrix2(0);elsifsaomiao(7downto0)="11111110"thensaomiao(7downto0)<="11111101";data<=matrix(1);data2<=matrix2(1);elsifsaomiao(7downto0)="11111101"thensaomiao(7downto0)<="11111011";data<=matrix(2);data2<=matrix2(2);elsifsaomiao(7downto0)="11111011"thensaomiao(7downto0)<="11110111";data<=matrix(3);data2<=matrix2(3);elsifsaomiao(7downto0)="11110111"thensaomiao(7downto0)<="11101111";data<=matrix(4);data2<=matrix2(4);elsifsaomiao(7downto0)="11101111"thensaomiao(7downto0)<="11011111";data<=matrix(5);data2<=matrix2(5);elsifsaomiao(7downto0)="11011111"thensaomiao(7downto0)<="10111111";data<=matrix(6);data2<=matrix2(6);elsifsaomiao(7downto0)="10111111"thensaomiao(7downto0)<="01111111";data<=matrix(7);data2<=matrix2(7);endif;endif;endprocessdianzhenshow;juzhenfuzhi:process(clk_out2,restart,win)--给两个显示点阵赋值beginif(restart='1')then--复位时的显示图形matrix(0)<="11111111"; matrix(1)<="10001111"; matrix(2)<="10001001"; matrix(3)<="10001111"; matrix(4)<="10000011"; matrix(5)<="10001111"; matrix(6)<="11111111"; matrix(7)<="11111111"; matrix2(0)<="11111111"; matrix2(1)<="11010001"; matrix2(2)<="11010001"; matrix2(3)<="11010001"; matrix2(4)<="11010001"; matrix2(5)<="10100001"; matrix2(6)<="11111111"; matrix2(7)<="11111111"; elsif(beep0=1)thenif(clk_out2='1'andclk_out2'event)thenif(win=1)then--甲胜利时的显示matrix(0)<="01111100"; matrix(1)<="01010100"; matrix(2)<="01111100"; matrix(3)<="01010100"; matrix(4)<="01111100"; matrix(5)<="00010000"; matrix(6)<="00010000"; matrix(7)<="00010000"; matrix2(0)<="01111100"; matrix2(1)<="01010100"; matrix2(2)<="01111100"; matrix2(3)<="01010100"; matrix2(4)<="01111100"; matrix2(5)<="00010000"; matrix2(6)<="00010000"; matrix2(7)<="00010000"; elsif(win=2) then--乙胜利时的显示 matrix(0)<="01111100"; matrix(1)<="00000100"; matrix(2)<="00000100"; matrix(3)<="00001000"; matrix(4)<="00010000"; matrix(5)<="00100000"; matrix(6)<="01000100"; matrix(7)<="01111100"; matrix2(0)<="01111100"; matrix2(1)<="00000100"; matrix2(2)<="00000100"; matrix2(3)<="00001000"; matrix2(4)<="00010000"; matrix2(5)<="00100000"; matrix2(6)<="01000100"; matrix2(7)<="01111100";elsematrix(0)<="00000000"; matrix(1)<="00000000"; matrix(2)<="00000000"; matrix(3)<="00000000"; matrix(4)<="00000000"; matrix(5)<="00000000"; matrix(6)<="00000000"; matrix(7)<="00000000"; matrix2(0)<="00000000"; matrix2(1)<="00000000"; matrix2(2)<="00000000"; matrix2(3)<="00000000"; matrix2(4)<="00000000"; matrix2(5)<="00000000"; matrix2(6)<="00000000"; matrix2(7)<="00000000";endif;endif;endif;endprocessjuzhenfuzhi;fangdou1:process(clk_out1,restart,Jia)--甲按钮防抖模块beginif(restart='1')thencurrent<=S0;jiafang<='0';elseif(clk_out1'eventandclk_out1='1')thencasecurrentiswhenS0=>jiafang<='1';if(Jia='0')thencurrent<=S1;elsecurrent<=S0;endif;whenS1=>jiafang<='1';if(Jia='0')thencurrent<=S2;elsecurrent<=S0;endif;whenS2=>jiafang<='0';if(Jia='0')thencurrent<=S2;elsecurrent<=S0;jiafang<='1';endif;whenothers=>jiafang<='1';current<=S0;endcase;endif;endif;endprocessfangdou1;--fangdou2:process(clk,restart,Yi)--乙按钮防抖模块--begin--if(restart='1')then--current2<=Y0;--yifang<='0';--elseif(clk'eventandclk='1')then--casecurrent2is--whenY0=>--yifang<='1';--if(Yi='0')thencurrent2<=Y1;--elsecurrent2<=Y0;--endif;--whenY1=>--yifang<='1';--if(Yi='0')then--current2<=Y2;--else--current2<=Y0;--endif;--whenY2=>--yifang<='0';--if(Yi='0')then--current2<=Y2;--else--current2<=Y0;yifang<='1';--endif;--whenothers=>--yifang<='1';--current2<=Y0;--endcase;--endif;--endif;--endprocessfangdou2;fenpin1:process(clk)--分频模块beginifclk'eventandclk='1'theniftemp1=149999thentemp1<=0;elsetemp1<=temp1+1;endif;endif;endprocessfenpin1;p1:process(temp1)beginiftemp1=149999thenclk_out1<='1';elseclk_out1<='0';endif;endprocessp1;fenpin2:process(clk)--分频模块2beginifclk'eventandclk='1'theniftemp2=129999thentemp2<=0;elsetemp2<=temp2+1;endif;endif;endprocessfenpin2;p2:process(temp2)beginiftemp2=129999thenclk_out2<='1';elseclk_out2<='0';endif;endprocessp2;showpro:process(clk_out1)--数码管显示模块变量控制beginif(clk_out1'EVENTANDclk_out1='1')thenif(times=5)thentimes<=0;elsetimes<=times+1;endif;endif;endprocessshowpro;show:process(times)--数码管显示扫描beginCASEtimesIS WHEN0=>shumaguan<=jia1;control<="011111"; WHEN1=>shumaguan<=jia2;control<="101111"; WHEN2=>shumaguan<="1111110";control<="110111"; WHEN3=>shumaguan<=jushushow;control<="111011"; WHEN4=>shumaguan<=yi1;control<="111101"; WHEN5=>shumaguan<=yi2;control<="111110"; WHENOTHERS=>shumaguan<="0000000"; ENDCASE;endprocessshow;ju:process(jiafang)--局数变量处理与显示beginif(restart='1')then jushu<=0;jushushow<="1111110";elsif(jiafang'EVENTANDjiafang='1')then jushu<=jushu+1; casejushuis when0=>jushushow<="1111110"; when1=>jushushow<="0110000"; when2=>jushushow<="1101101"; when3=>jushushow<="1111001"; when4=>jushushow<="0110011"; when5=>jushushow<="1011011"; when6=>jushushow<="1011111"; when7=>jushushow<="1110000"; when8=>jushushow<="1111111"; when9=>jushushow<="1111011";jushu<=0; whenothers=>jushu<=0;jushushow<="1111110"; endcase; endif;endprocessju;Jiashow:process(clk_out1,Restart,Jia)--甲随机数产生与显示,并记录所得出的数字beginif(restart='1')thenjia1<="0000000";jia2<="0000000";jiasum<=2;elsif(clk_out1'EVENTANDclk_out1='1')THEN--共有36种组合随机产生,制造伪随机数 if(num1=35)then num1<=0;elsifJia='0'thennum1<=num1+1;else casenum1is when0=>jia1<="0110000";jia2<="0110000"; --11 when1=>jia1<="1101101";jia2<="1101101"; when2=>jia1<="1111001";jia2<="1111001"; when3=>jia1<="0110011";jia2<="0110011"; when4=>jia1<="1011011";jia2<="1011011"; when5=>jia1<="1011111";jia2<="1011111"; when6=>jia1<="0110000";jia2<="1101101"; --12 when7=>jia1<="1101101";jia2<="1111001"; when8=>jia1<="1111001";jia2<="0110011"; when9=>jia1<="0110011";jia2<="1011011"; when10=>jia1<="1011011";jia2<="1011111"; when11=>jia1<="1011111";jia2<="0110000"; when12=>jia1<="0110000";jia2<="1111001"; --13 when13=>jia1<="1101101";jia2<="0110011"; when14=>jia1<="1111001";jia2<="1011011"; when15=>jia1<="0110011";jia2<="1011111"; when16=>jia1<="1011011";jia2<="0110000"; when17=>jia1<="1011111";jia2<="1101101"; when18=>jia1<="0110000";jia2<="0110011"; --14 when19=>jia1<="1101101";jia2<="1011011"; when20=>jia1<="1111001";jia2<="1011111"; when21=>jia1<="0110011";jia2<="0110000"; when22=>jia1<="1011011";jia2<="1101101"; when23=>jia1<="1011111";jia2<="1111001"; when24=>jia1<="0110000";jia2<="1011011"; --15 when25=>jia1<="1101101";jia2<="1011111"; when26=>jia1<="1111001";jia2<="0110000"; when27=>jia1<="0110011";jia2<="1101101"; when28=>jia1<="1011011";jia2<="1111001"; when29=>jia1<="1011111";jia2<="0110011"; when30=>jia1<="0110000";jia2<="1011111"; --16 when31=>jia1<="1101101";jia2<="0110000"; when32=>jia1<="1111001";jia2<="1101101"; when33=>jia1<="0110011";jia2<="1111001"; when34=>jia1<="1011011";jia2<="0110011"; when35=>jia1<="1011111";jia2<="1011011"; whenothers=>jia1<="0000000";jia2<="0000000"; endcase; casejia1is--记录第一个数的值 when"0110000"=>jianum1<=1; when"1101101"=>jianum1<=2; when"1111001"=>jianum1<=3; when"0110011"=>jianum1<=4; when"1011011"=>jianum1<=5; when"1011111"=>jianum1<=6; whenothers=>jianum1<=1; endcase; casejia2is--记录第二个数的值 when"0110000"=>jianum2<=1; when"1101101"=>jianum2<=2; when"1111001"=>jianum2<=3; when"0110011"=>jianum2<=4; when"1011011"=>jianum2<=5; when"1011111"=>jianum2<=6; whenothers=>jianum2<=1; endcase; jiasum<=jianum1+jianum2; endif; endif;endprocessJiashow;Yishow:process(clk_out1,Restart,Yi,Jia)--乙随机数产生与显示,并记录所得出的数字beginif(restart='1'orjia='1')thenyi1<="0000000";yi2<="0000000";yisum<=2;elsif(clk_out1'EVENTANDclk_out1='1')THEN if(num2=35)then num2<=0;elsifYi='0'thennum2<=num2+1;else casenum2is when0=>Yi1<="0110000";Yi2<="0110000"; --11 when1=>Yi1<="1101101";Yi2<="1101101"; when2=>Yi1<="1111001";Yi2<="1111001"; when3=>Yi1<="0110011";Yi2<="0110011"; when4=>Yi1<="1011011";Yi2<="1011011"; when5=>Yi1<="1011111";Yi2<="1011111"; when6=>Yi1<="0110000";Yi2<="1101101"; --12 when7=>Yi1<="1101101";Yi2<="1111001"; when8=>Yi1<="1111001";Yi2<="0110011"; when9=>Yi1<="0110011";Yi2<="1011011"; when10=>Yi1<="1011011";Yi2<="1011111"; when11=>Yi1<="1011111";Yi2<="0110000"; when12=>Yi1<="0110000";Yi2<="1111001"; --13 when13=>Yi1<="1101101";Yi2<="0110011"; when14=>Yi1<="1111001";Yi2<="1011011"; when15=>Yi1<="0110011";Yi2<="1011111"; when16=>Yi1<="1011011";Yi2<="0110000"; when17=>Yi1<="1011111";Yi2<="1101101"; when18=>Yi1<="0110000";Yi2<="0110011"; --14 when19=>Yi1<="1101101";Yi2<="1011011"; when20=>Yi1<="1111001";Yi2<="1011111"; when21=>Yi1<="0110011";Yi2<="0110000"; when22=>Yi1<="1011011";Yi2<="1101101"; when23=>Yi1<="1011111";Yi2<="1111001"; when24=>Yi1<="0110000";Yi2<="1011011"; --15 when25=>Yi1<="1101101";Yi2<="1011111"; when26=>Yi1<="1111001";Yi2<="0110000"; when27=>Yi1<="0110011";Yi2<="1101101"; when28=>Yi1<="1011011";Yi2<="1111001"; when29=>Yi1<="1011111";Yi2<="0110011"; when30=>Yi1<="0110000";Yi2<="1011111"; --16 when31=>Yi1<="1101101";Yi2<="0110000"; when32=>Yi1<="1111001";Yi2<="1101101"; when33=>Yi1<="0110011";Yi2<="1111001"; when34=>Yi1<="1011011";Yi2<="0110011"; when35=>Yi1<="1011111";Yi2<="1011011"; whenothers=>Yi1<="0000000";Yi2<="0000000"; endcase; caseyi1is--fuzhiyinum1 when"0110000"=>yinum1<=1; when"1101101"=>yinum1<=2; when"1111001"=>yinum1<=3; when"0110011"=>yinum1<=4; when"1011011"=>yinum1<=5; when"1011111"=>yinum1<=6; whenothers=>yinum1<=1; endcase; caseyi2is--fuzhiyinum2 when"0110000"=>yinum2<=1; when"1101101"=>yinum2<=2; when"1111001"=>yinum2<=3; when"0110011"=>yinum2<=4; when"1011011"=>yinum2<=5; when"1011111"=>yinum2<=6; whenothers=>yinum2<=1; endcase; yisum<=yinum1+yinum2; endif; endif;endprocessYishow;compare:process(yi)--按照规则评判输赢模块beginif(Restart='1')thenbeep0<=2;win<=0;jiasignal<=0;yisignal<=0;jiasignal1<=0;yisignal1<=0;jiasignal2<=0;yisignal2<=0;jiasignal3<=0;yisignal3<=0;jiasignal4<=0;yisignal4<=0;jiasignal5<=0;yisignal5<=0;jiasignal6<=0;yisignal6<=0;jiasignal7<=0;yisignal7<=0;elsif(yi'EVENTANDyi='1')then--当乙投掷完毕时进行判决if(jushu=2)then--第一局判断是否有且仅有一人投掷和为7或11if(jiasum=7orjiasum=11)thenjiasignal<=1;endif;if(yisum=7oryisum=11)thenyisignal<=1;endif;if(jiasignal>yisignal)thenbeep0<=1;win<=1;elsif(jiasignal<yisignal)thenbeep0<=1;win<=2;elsebeep0<=0;endif;jiasum0<=jiasum;yisum0<=yisum;endif;if(jushu=3)then--第二局判断之后判断是否和前一局和相同if(jiasum0=jiasum)thenjiasignal1<=1;elsejiasignal1<=0;endif;if(yisum0=yisum)thenyisignal1<=1;elseyisignal1<=0;endif;if(jiasignal1>yisignal1)thenbeep0<=1;win<=1;elsif(jiasignal1<yisignal1)thenbeep0<=1;win<=2;elsebeep0<=0;endif;jiasum1<=jiasum;yisum1<=yisum;endif;if(jushu=4)thenif(jiasum1=jiasum)thenjiasignal2<=1;elsejiasignal2<=0;endif;if(yisum1=yisum)thenyisignal2<=1;elseyisignal2<=0;endif;if(jiasignal2>yisignal2)thenbeep0<=1;win<=1;elsif(jiasignal2<yisignal2)thenbeep0<=1;win<=2;elsebeep0<=0;endif;jiasum2<=jiasum;yisum2<=yisum;endif;if(jushu=5)thenif(jiasum2=jiasum)thenjiasignal3<=1;elsejiasignal3<=0;endif;if(yisum2=yisum)thenyisignal3<=1;elseyisignal3<=0;endif;if(jiasignal3>yisignal3)thenbeep0<=1;win<=1;elsif(jiasignal3<yisignal3)thenbeep0<=1;win<=2;elsebeep0<=0;endif;jiasum3<=jiasum;yisum3<=yisum;endif;if(jushu=6)thenif(jiasum3=jiasum)thenjiasignal4<=1;elsejiasignal4<=0;endif;if(yisum3=yisum)thenyisignal4<=1;elseyisignal4<=0;endif;if(jiasignal4>yisignal4)thenbeep0<=1;win<=1;elsif(jiasignal4<yisignal4)thenbeep0<=1;win<=2;elsebeep0<=0;endif;endif;if(jushu=7)then--第六局后开始比较大小if(jiasum>yisum)thenjiasignal5<=1;elsejiasignal5<=0;endif;if(yisum>jiasum)thenyisignal5<=1;elseyisignal5<=0;endif;if(jiasignal5>yisignal5)thenbeep0<=1;win<=1;elsif(jiasignal5<yisignal5)thenbeep0<=1;win<=2;elsebeep0<=0;endif;endif;if(jushu=8)thenif(jiasum>yisum)thenjiasignal6<=1;elsejiasignal6<=0;endif;if(yisum>jiasum)thenyisignal6<=1;elseyisignal6<=0;endif;if(jiasignal6>yisignal6)thenbeep0<=1;win<=1;elsif(jiasignal6<yisignal6)thenbeep0<=1;win<=2;elsebeep0<=0;endif;endif;if(jushu=9)thenif(jiasum>yisum)thenjiasignal7<=1;elsejiasignal7<=0;endif;if(yisum>jiasum)thenyisignal7<=1;elseyisignal7<=0;endif;if(jiasignal7>yisignal7)thenbeep0<=1;win<=1;elsif(jiasig

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论