显示手的结果

时间:2012-12-03 21:01:07

标签: java processing

我已经思考了一段时间,但我无法弄明白如何让课程显示出几手牌。

我是java和i类的新手。

我也附上了我的故事板图片。

你能告诉我我班上应该有哪些方法吗?你能解释我应该如何更新这些方法吗?目前这就是我所拥有的:

class ScoreTable {
  String title = "Hands";
  color GREY = color(222);               // grey for background  
  color boxColor = color(222);           // grey
  //int handNo;

  int boxW =80;
  int boxH =80;
  int gap = 10;


  int[] handNoText = new int[11];


  ScoreTable() {

    int k = 1;
    for (int i = 0; i < handNoText.length; i++){
        handNoText[i] = k++;
    }
  }

  void showScores(){    

    fill(255);

    // top window
    rect(1,1,999,250);

    fill(0);
    textSize(32);
    textAlign(CENTER);
    text("HANDS", width/2, 50);

// Text for Hands numbers ###########################################################      

   textSize(14);
   text(handNoText[0],  (boxW/2),                  80);
   text(handNoText[1],  (1*gap+1*boxW+(boxW/2)),   80);
   text(handNoText[2],  (2*gap+2*boxW+(boxW/2)),   80);
   text(handNoText[3],  (3*gap+3*boxW+(boxW/2)),   80);
   text(handNoText[4],  (4*gap+4*boxW+(boxW/2)),   80);
   text(handNoText[5],  (5*gap+5*boxW+(boxW/2)),   80);
   text(handNoText[6],  (6*gap+6*boxW+(boxW/2)),   80);
   text(handNoText[7],  (7*gap+7*boxW+(boxW/2)),   80);
   text(handNoText[8],  (8*gap+8*boxW+(boxW/2)),   80);
   text(handNoText[9],  (9*gap+9*boxW+(boxW/2)),   80);
   text(handNoText[10], (10*gap+10*boxW+(boxW/2)), 80);

   textSize(20);
   text("You", width/2-50, 210);
   text("Dealer", width/2+50, 210);

   text("2", width/2-50, 240);
   text("4", width/2+50, 240);

   fill(GREY);
   fill(boxColor);

// HAND 1 ###########################################################        
   rect(gap,100,boxW,boxH);
   fill(GREY); 

// HAND 2 ###########################################################        
    rect((gap+boxW+gap),100, boxW,boxH);    
// HAND 3 ###########################################################    
    rect((gap+(2*boxW)+2*gap),100, boxW,boxH);
// HAND 4 ###########################################################    
    rect((gap+(3*boxW)+3*gap),100, boxW,boxH);
// HAND 5 ###########################################################    
    rect((gap+(4*boxW)+4*gap),100, boxW,boxH);
// HAND 6 ###########################################################    
    rect((gap+(5*boxW)+5*gap),100, boxW,boxH);
// HAND 7 ###########################################################    
    rect((gap+(6*boxW)+6*gap),100, boxW,boxH);
// HAND 8 ###########################################################    
    rect((gap+(7*boxW)+7*gap),100, boxW,boxH);
// HAND 9 ###########################################################    
   rect((gap+(8*boxW)+8*gap),100, boxW,boxH);
// HAND 10 ###########################################################    
    rect((gap+(9*boxW)+9*gap),100, boxW,boxH);
// HAND 11 ###########################################################       
    rect((gap+(10*boxW)+10*gap),100, boxW,boxH);
//###################################################################


    }


    void setBoxColor(color newBoxColor) {
      boxColor = newBoxColor;
    }



}

1 个答案:

答案 0 :(得分:1)

据我记得处理有一个主循环,我们应该在画布上画画。如果你有一个课程应该在屏幕上显示一些东西,就像你有的那样。我会把它制成两个部分:

  • 组件的逻辑 - 在您的情况下应该更新分数的方法
  • drawing - 一种获取分数或任何其他数据并将其绘制在屏幕上的方法

 class ScoreTable {

     //members that holds the score of each round

     ScoreTable(...){
     //construct the table
     }

     void setScore(int round,int you,int computer){
     //update members
     }

     void draw(){
     //take the data and draw it on the screen
     //you should call it inside your main drawing loop
     }

 }