日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
代碼分享:心算24小游戲

游戲規(guī)則:[請玩家仔細(xì)閱讀]

成都創(chuàng)新互聯(lián)公司秉承專業(yè)、誠信、服務(wù)、進(jìn)取的價值觀,堅持以客戶為中心、客戶至上的服務(wù)理念,以“關(guān)注企業(yè)需求,實現(xiàn)企業(yè)價值”為導(dǎo)向,努力為企業(yè)提供全面優(yōu)質(zhì)的互聯(lián)網(wǎng)應(yīng)用服務(wù)。服務(wù)包括域名與空間、虛擬空間、企業(yè)郵箱、網(wǎng)站建設(shè)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)營銷解決方案和咨詢服務(wù),以幫助企業(yè)客戶應(yīng)用互聯(lián)網(wǎng)。

(1)點擊開始游戲進(jìn)行游戲,玩家初始積分是40分,當(dāng)玩家積分超過100分時,玩家贏,低于0分時,玩家輸;

(2)游戲開始時,會自動隨機(jī)生成一定可以通過四則運算得到24的四張撲克牌【J、Q、K、大小鬼記作10】;

(3)游戲過程中,玩家可以刷新?lián)淇伺?但每刷新一次都會扣3分;

(4)玩家將四張撲克牌,用+、-、*、/及適當(dāng)?shù)睦ㄌ柦M合起來,并把組合的表達(dá)式【用英文輸入法】填到輸入框里面【注意每張紙牌只可以使用一次】;

(5)單擊確定按鈕,游戲?qū)袛嗄爿斎氲谋磉_(dá)式是否符合數(shù)學(xué)規(guī)律,及是否為游戲顯示的四張撲克牌的上的數(shù)字;

(6)如果輸入合法,將系統(tǒng)將計算玩家所輸入的表達(dá)式的值,如果正確則得5分,有鬼且正確加10分,錯誤扣2分;

(7)若玩家在1分30秒后才算出答案,則得4分,有鬼得8分,錯誤扣2分;

Java代碼片段:

 
 
 
 
  1. import java.awt.BorderLayout;  
  2. import java.awt.Color;  
  3. import java.awt.Container;  
  4. import java.awt.Dimension;  
  5. import java.awt.FlowLayout;  
  6. import java.awt.Font;  
  7. import java.awt.Label;  
  8. import java.awt.TextField;  
  9. import java.awt.event.ActionEvent;  
  10. import java.awt.event.ActionListener;  
  11. import java.awt.event.WindowAdapter;  
  12. import java.awt.event.WindowEvent;  
  13. import java.net.URL;  
  14. import java.util.Random;  
  15. import javax.swing.ImageIcon;  
  16. import javax.swing.JButton;  
  17. import javax.swing.JFrame;  
  18. import javax.swing.JLabel;  
  19. import javax.swing.JPanel;  
  20. import javax.swing.JTextArea;  
  21.  
  22.  
  23. public class Calculate24 implements ActionListener{   
  24.     JFrame frame=new JFrame();//創(chuàng)建窗口框架  
  25.     Dimension screen=frame.getToolkit().getScreenSize();//獲取顯示器的分辨率  
  26.     Container con=frame.getContentPane();//給窗體框架添加容器  
  27.     TextField  txtField=new TextField(30);//輸入表達(dá)式的區(qū)域  
  28.     JPanel Buttompnl=new JPanel(); //按鈕和其他組件的面板  
  29.     private int count=43;//初始積分40  
  30.     JLabel Title=new JLabel("歡迎使用頭腦風(fēng)暴之心算24點----劉學(xué)煒、范碧天、許培濤、陳燕茜同組合作設(shè)計");  
  31.     JTextArea Count=new JTextArea();//用于顯示游戲規(guī)則及提示  
  32.     MyTimer timeshow=new MyTimer();//顯示時間  
  33.     JPanel pokerPanel=new JPanel();//顯示撲克牌的面板  
  34.     JButton btnStart=new JButton("開始游戲/洗牌");//開始游戲和刷牌的按鈕  
  35.     JButton btnOk=new JButton("確定");//確定按鈕  
  36.     Label label=new Label("請輸入表達(dá)式:");//顯示輸入表達(dá)式  
  37.     JLabel poker1=new  JLabel();//顯示四張撲克牌     
  38.     JLabel poker2=new  JLabel();      
  39.     JLabel poker3=new  JLabel();      
  40.     JLabel poker4=new  JLabel();      
  41.     private Check c=new Check();//引入check類的對象  
  42.     Random ran=new Random();//引入隨機(jī)函數(shù)類對象  
  43.     private float [] myStatus=new float[4];//四張撲克牌上對應(yīng)的數(shù)字  
  44.     private char [] mystatus=new char[4];//四張撲克牌上對應(yīng)的花色  
  45.     private float[] numbers=new float[4];//輸入表達(dá)式的四個數(shù)字  
  46.     private float[] different=new float[4];//調(diào)整積分的差別  
  47.     private boolean addscore=false;//判斷是否加雙倍積分  
  48.       
  49.       
  50.     Calculate24(){                   
  51.            frame.setTitle("頭腦風(fēng)暴之心算24點");  
  52.            Count.setEditable(false);  
  53.            Count.setLineWrap(true);  
  54.            Count.setWrapStyleWord(true);  
  55.            Count.setSize(600, 85);  
  56.            Count.setBackground(new Color(18,132,57));  
  57.            Count.setText("游戲規(guī)則:[請玩家仔細(xì)閱讀]" +  
  58.                     "\n(1)點擊開始游戲進(jìn)行游戲,玩家初始積分是40分,當(dāng)玩家積分超過100分時,玩家贏,低于0分時,玩家輸;" +  
  59.                     "\n(2)游戲開始時,會自動隨機(jī)生成一定可以通過四則運算得到24的四張撲克牌【J、Q、K、大小鬼記作10】;" +  
  60.                     "\n(3)游戲過程中,玩家可以刷新?lián)淇伺?但每刷新一次都會扣3分;"+  
  61.                     "\n(4)玩家將四張撲克牌,用+、-、*、/及適當(dāng)?shù)睦ㄌ柦M合起來,并把組合的表達(dá)式【用英文輸入法】填到輸入框里面【注意每張紙牌只可以使用一次】;"+  
  62.                     "\n(5)單擊確定按鈕,游戲?qū)袛嗄爿斎氲谋磉_(dá)式是否符合數(shù)學(xué)規(guī)律,及是否為游戲顯示的四張撲克牌的上的數(shù)字;"+  
  63.                     "\n(6)如果輸入合法,將系統(tǒng)將計算玩家所輸入的表達(dá)式的值,如果正確則得5分,有鬼且正確加10分,錯誤扣2分;" +  
  64.                     "\n(7)若玩家在1分30秒后才算出答案,則得4分,有鬼得8分,錯誤扣2分;" 
  65.                        );  
  66.              
  67.            //界面組件的相關(guān)設(shè)計  
  68.             con.add(Title,BorderLayout.NORTH);  
  69.             con.add(Buttompnl,BorderLayout.SOUTH);  
  70.             con.add(pokerPanel,BorderLayout.CENTER);      
  71.               
  72.             Buttompnl.add(btnStart);  
  73.             Buttompnl.add(label);  
  74.             Buttompnl.add(txtField);  
  75.               
  76.             btnStart.setActionCommand("start");  
  77.             btnStart.addActionListener(this);//添加開始按鈕監(jiān)聽器  
  78.             btnOk.setActionCommand("ok");  
  79.             btnOk.addActionListener(this); //添加確定按鈕監(jiān)聽器           
  80.             pokerPanel.add(poker1);  
  81.             pokerPanel.add(poker2);  
  82.             pokerPanel.add(poker3);  
  83.             pokerPanel.add(poker4);  
  84.             pokerPanel.add(Count,BorderLayout.SOUTH);  
  85.     }  
  86.           
  87.       
  88.       
  89.       
  90.       
  91.     //監(jiān)聽器設(shè)計  
  92.     public void actionPerformed(ActionEvent e) {  
  93.         //按下開始按鈕  
  94.         Count.setFont(new Font("Dialog",Font.PLAIN,20));    
  95.       
  96.         if(e.getActionCommand().equals("start")){  
  97.             timeshow.usedTime=0;//時間歸零  
  98.             timeshow.timer.start(); //開始計時        
  99.             Buttompnl.add(btnOk);  
  100.             Buttompnl.add(timeshow.usedTimeLabel);  
  101.             timeshow.timeText.setText("0分0秒");  
  102.             Buttompnl.add(timeshow.timeText);  
  103.             count-=3;//刷牌扣3分  
  104.             Count.setText("\n\n您目前的積分是:"+count+  
  105.                     "\n上一道題的系統(tǒng)答案是:"+c.outputs);  
  106.             try{for(int i=0;i<4;i++){  
  107.                 myStatus[i]=(float) ((int)(ran.nextFloat()*14+1));//隨機(jī)產(chǎn)生四張牌  
  108.                 mystatus[i]=(char) ('A'+(int)(ran.nextFloat()*4));//隨機(jī)產(chǎn)生花色  
  109.                 if(myStatus[i]>10f){//對J、Q、K、鬼作10處理  
  110.                 different[i]=myStatus[i]-10f;  
  111.                 myStatus[i]-=different[i];  
  112.                 }  
  113.                 else 
  114.                  different[i]=0f;  
  115.                 if(i==3&&!c.check(myStatus))//檢驗所產(chǎn)生的紙牌是否能夠算出24  
  116.                 i=2;      
  117.             }  
  118.               
  119.                 if(count<0){//查看刷牌后剩余的積分是否小于0  
  120.                     timeshow.timer.stop();//停止計時  
  121.                     timeshow.usedTime=0;//重新時間歸零  
  122.                     for(int i=0;i<4;i++){//返回初始界面  
  123.                         myStatus[i]=0f;  
  124.                         mystatus[i]='A';  
  125.                     }  
  126.                         NewPanel(myStatus,mystatus);  
  127.                         Buttompnl.remove(btnOk);  
  128.                         txtField.setText("");  
  129.                         Count.setFont(new Font("Dialog",Font.PLAIN,12));  
  130.                         Count.setText("游戲規(guī)則:[請玩家仔細(xì)閱讀]" +  
  131.                                 "\n(1)點擊開始游戲進(jìn)行游戲,玩家初始積分是40分,當(dāng)玩家積分超過100分時,玩家贏,低于0分時,玩家輸;" +  
  132.                                 "\n(2)游戲開始時,會自動隨機(jī)生成一定可以通過四則運算得到24的四張撲克牌【J、Q、K、大小鬼記作10】;" +  
  133.                                 "\n(3)游戲過程中,玩家可以刷新?lián)淇伺?但每刷新一次都會扣3分;"+  
  134.                                 "\n(4)玩家將四張撲克牌,用+、-、*、/及適當(dāng)?shù)睦ㄌ柦M合起來,并把組合的表達(dá)式【用英文輸入法】填到輸入框里面【注意每張紙牌只可以使用一次】;"+  
  135.                                 "\n(5)單擊確定按鈕,游戲?qū)袛嗄爿斎氲谋磉_(dá)式是否符合數(shù)學(xué)規(guī)律,及是否為游戲顯示的四張撲克牌的上的數(shù)字;"+  
  136.                                 "\n(6)如果輸入合法,將系統(tǒng)將計算玩家所輸入的表達(dá)式的值,如果正確則得5分,有鬼且正確加10分,錯誤扣2分;" +  
  137.                                 "\n(7)若玩家在1分30秒后才算出答案,則得4分,有鬼得8分,錯誤扣2分;" 
  138.                                    );  
  139.                         count=43;//初始積分40  
  140.                         new MasgDlg(this,"對不起,挑戰(zhàn)失??!重新游戲請按【確定】,退出游戲請按【退出】");  
  141.                        
  142.                     }  
  143.                 else{  
  144.                 for(int i=0;i<4;i++)  
  145.                     myStatus[i]+=different[i];  
  146.             NewPanel(myStatus,mystatus);//顯示生成的四張撲克牌  
  147.             for(int i=0;i<4;i++){  
  148.                myStatus[i]-=different[i];  
  149.                if(different[i]==4)//雙倍加分條件,遇鬼  
  150.                  addscore=true;  
  151.              }  
  152.             }  
  153.          }catch(Exception e1){  
  154.                
  155.          }  
  156.         }  
  157.         //按下確定按鈕  
  158.         else if (e.getActionCommand().equals("ok")){  
  159.             try{float result=calculateString(txtField.getText().trim());              
  160.                 if(result==-1f){//輸入不合法,或者沒有輸入正確的數(shù)字  
  161.                     txtField.requestFocus();  
  162.                     new MsgDlg("您輸入的表達(dá)式不合法或你使用的數(shù)字不是撲克牌上的數(shù)字,請重新輸入!",this);                 
  163.                 }else if(result!=24f){//輸入合法,但計算結(jié)果不是24  
  164.                     timeshow.usedTime-=8%60;//減去輸入時間  
  165.                     count-=2;   //錯誤扣2分           
  166.                     if(count<0){    //判斷積分是否小于0  
  167.                         timeshow.timer.stop();  
  168.                         timeshow.usedTime=0;  
  169.                         timeshow.timeText.setText("0分0秒");  
  170.                         for(int i=0;i<4;i++){//返回初始界面  
  171.                             myStatus[i]=0f;  
  172.                             mystatus[i]='A';  
  173.                         }  
  174.                             NewPanel(myStatus,mystatus);  
  175.                             Buttompnl.remove(btnOk);  
  176.                             txtField.setText("");  
  177.                             Count.setFont(new Font("Dialog",Font.PLAIN,12));  
  178.                             Count.setText("游戲規(guī)則:[請玩家仔細(xì)閱讀]" +  
  179.                                     "\n(1)點擊開始游戲進(jìn)行游戲,玩家初始積分是40分,當(dāng)玩家積分超過100分時,玩家贏,低于0分時,玩家輸;" +  
  180.                                     "\n(2)游戲開始時,會自動隨機(jī)生成一定可以通過四則運算得到24的四張撲克牌【J、Q、K、大小鬼記作10】;" +  
  181.                                     "\n(3)游戲過程中,玩家可以刷新?lián)淇伺?但每刷新一次都會扣3分;"+  
  182.                                     "\n(4)玩家將四張撲克牌,用+、-、*、/及適當(dāng)?shù)睦ㄌ柦M合起來,并把組合的表達(dá)式【用英文輸入法】填到輸入框里面【注意每張紙牌只可以使用一次】;"+  
  183.                                     "\n(5)單擊確定按鈕,游戲?qū)袛嗄爿斎氲谋磉_(dá)式是否符合數(shù)學(xué)規(guī)律,及是否為游戲顯示的四張撲克牌的上的數(shù)字;"+  
  184.                                     "\n(6)如果輸入合法,將系統(tǒng)將計算玩家所輸入的表達(dá)式的值,如果正確則得5分,有鬼且正確加10分,錯誤扣2分;" +  
  185.                                     "\n(7)若玩家在1分30秒才算出答案,則得4分,有鬼得8分,錯誤扣2分;" 
  186.                                        );  
  187.                             count=43;  
  188.                             new MasgDlg(this,"對不起,挑戰(zhàn)失敗!重新游戲請按【確定】,退出游戲請按【退出】");  
  189.                     }  
  190.                     else//輸出用戶所輸入的表達(dá)式的值  
  191.                     {  
  192.                         Count.setText("\n您目前的積分是:"+count+"\n對不起,您輸入的表達(dá)式的值是"+result+",扣除2分,請重新輸入!");  
  193.                     }  
  194.                       
  195.                 }else if(result==24f){//輸入正確,得到24  
  196.                     timeshow.usedTime-=8%60;//減去輸入時間  
  197.                     if(addscore){//遇鬼,雙倍積分  
  198.                         addscore=false;  
  199.                         if(timeshow.usedTime>90){//遇鬼,超時加分方法  
  200.                             count+=8;                         
  201.                             Count.setText("\n您目前的積分是:"+count+"\n恭喜你,你的輸入正確!但超出1分30秒,獲得8分獎勵,請做下一道題"+  
  202.                                     "\n上一道題的系統(tǒng)答案是:"+c.outputs);  
  203.                         }  
  204.                         else{//遇鬼,正常加分方法  
  205.                              count+=10;       
  206.                              Count.setText("\n您目前的積分是:"+count+"\n恭喜你,你的輸入正確!獲得10分獎勵,請做下一道題" +  
  207.                                     "\n上一道題的系統(tǒng)答案是:"+c.outputs);  
  208.                           }  
  209.                           
  210.                     }  
  211.                     else{//普通加分  
  212.                         if(timeshow.usedTime/60>=2){//超時,普通加分  
  213.                             count+=4;                         
  214.                             Count.setText("\n您目前的積分是:"+count+"\n恭喜你,你的輸入正確!但超出1分30秒,獲得4分獎勵,請做下一道題"+  
  215.                                     "\n上一道題的系統(tǒng)答案是:"+c.outputs);  
  216.                         }  
  217.                         else{//普通加分  
  218.                              count+=5;  
  219.                              Count.setText("\n您目前的積分是:"+count+"\n恭喜你,你的輸入正確!獲得5分獎勵,請做下一道題"+  
  220.                                      "\n上一道題的系統(tǒng)答案是:"+c.outputs);  
  221.                             }  
  222.                           
  223.                       }  
  224.                     timeshow.usedTime = 0;     
  225.                     txtField.setText("");  
  226.                     txtField.requestFocus();  
  227.                     if(count>=100){  
  228.                         timeshow.timer.stop();  
  229.                         timeshow.usedTime=0;  
  230.                         timeshow.timeText.setText("0分0秒");                                        
  231.                         for(int i=0;i<4;i++){  
  232.                             myStatus[i]=0f;  
  233.                             mystatus[i]='A';  
  234.                         }  
  235.                             NewPanel(myStatus,mystatus);  
  236.                             Buttompnl.remove(btnOk);  
  237.                             txtField.setText("");  
  238.                             Count.setFont(new Font("Dialog",Font.PLAIN,12));  
  239.                             Count.setText("游戲規(guī)則:[請玩家仔細(xì)閱讀]" +  
  240.                                     "\n(1)點擊開始游戲進(jìn)行游戲,玩家初始積分是40分,當(dāng)玩家積分超過100分時,玩家贏,低于0分時,玩家輸;" +  
  241.                                     "\n(2)游戲開始時,會自動隨機(jī)生成一定可以通過四則運算得到24的四張撲克牌【J、Q、K、大小鬼記作10】;" +  
  242.                                     "\n(3)游戲過程中,玩家可以刷新?lián)淇伺?但每刷新一次都會扣3分;"+  
  243.                                     "\n(4)玩家將四張撲克牌,用+、-、*、/及適當(dāng)?shù)睦ㄌ柦M合起來,并把組合的表達(dá)式【用英文輸入法】填到輸入框里面【注意每張紙牌只可以使用一次】;"+  
  244.                                     "\n(5)單擊確定按鈕,游戲?qū)袛嗄爿斎氲谋磉_(dá)式是否符合數(shù)學(xué)規(guī)律,及是否為游戲顯示的四張撲克牌的上的數(shù)字;"+  
  245.                                     "\n(6)如果輸入合法,將系統(tǒng)將計算玩家所輸入的表達(dá)式的值,如果正確則得5分,有鬼且正確加10分,錯誤扣2分;" +  
  246.                                     "\n(7)若玩家在1分30秒后才算出答案,則得4分,有鬼得8分,錯誤扣2分;" 
  247.                                        );  
  248.                             count=43;  
  249.                              new MasgDlg(this,"恭喜您,挑戰(zhàn)成功!重新游戲請按【確定】,退出游戲請按【退出】");  
  250.                     }  
  251.                     else{  
  252.                         for(int i=0;i<4;i++){  
  253.                             myStatus[i]=(float) ((int)(ran.nextFloat()*14+1));  
  254.                             mystatus[i]=(char) ('A'+(int)(ran.nextFloat()*4));  
  255.                             if(myStatus[i]>10f){  
  256.                             different[i]=myStatus[i]-10f;  
  257.                             myStatus[i]-=different[i];  
  258.                             }  
  259.                             else 
  260.                              different[i]=0f;  
  261.                             if(i==3&&!c.check(myStatus))  
  262.                                 i=2;                          
  263.                          }    
  264.                         for(int i=0;i<4;i++)  
  265.                             myStatus[i]+=different[i];  
  266.                         NewPanel(myStatus,mystatus);  
  267.                         for(int i=0;i<4;i++){  
  268.                           myStatus[i]-=different[i];  
  269.                           if(different[i]==4)  
  270.                                  addscore=true;  
  271.                         }  
  272.                     }  
  273.                 }  
  274.             }catch(Exception e1){  
  275.               e1.printStackTrace();   
  276.             }  
  277.         }  
  278.     }  
  279.  
  280.       
  281.       
  282.       
  283.       
  284.     private float calculateString(String str) {  
  285.     // 判斷玩家輸入的表達(dá)式的合法性                 
  286.                       
  287.                     int LBracketNum=0;//記錄左括號個數(shù)  
  288.                     int RBracketNum=0;//記錄右括號個數(shù)  
  289.                     int LBracketPla =  網(wǎng)站題目:代碼分享:心算24小游戲
    鏈接URL:http://m.5511xx.com/article/dpsseps.html