2022年9月19日 星期一

尖🦉筆記-week03

 ◇Poker - 按一下洗牌 (接續上次程式):

  1. 創造void myShuffle();void mousePressed(); 函式 ,並把洗牌的程式碼放進myShuffle();。

  2.void setupvoid mousePressed 裡要呼叫 myShuffle();

◇清楚化Poker如何洗牌 :

  1. 設定大一點的視窗  size(700,700); 和 背景顏色 (background)

  2.在draw裡,創造52張牌的for迴圈。

     設定變數x,y取間隔,(i/10)除10是為了一排可以放10張牌。i/10會有小數,所以在         前面加int強制轉成整數。

   3.在setup 設定好字形,為了可以印出中文

      PFont font = createFont("標楷體",15 ); //創造字形。
      textFont(font); //設定字形為font。

  4.建立花色的陣列可以用noteped++ 按搜尋→取代 ( ctrl + H )快速取代字。

  5.在for迴圈 運用 text 指令印出花色。

  6.將畫面設大size(800,600),並i改為除13,一排放13張牌。

  7.用if -else 改變顏色, 並用到 indexOf( )找裡面的字,使紅心方塊為紅色。

◇Poker洗牌 (上面的接續) :

  1. 新增一個mousePressed() 函式。

  2.設定變數 a,b 並取0~52亂數。

   int a = int(random(52)); 
   int b = int(random(52));

  3.利用temp做交換洗牌。 記得temp 是字串要用String,我們要交換字。

   String temp = face[a];  
   face[a]=face[b];
   face[b]=temp;

 4.將mousePressed() 改成 mouseDragged()使用滑鼠滾輪。

◇Poker洗牌與上禮拜程式合成 :

 1.將上面的花色陣列複製過去上禮拜的。

 2.在 myShuffle() 設定迴圈 讓他自動多洗,並將Poker洗牌的程式塞進去。

  for( int k=0 ; k<10000 ; k++){  //讓他洗10000次
    int a = int(random(52)); 
    int b = int(random(52));
    String temp = face[a];
    face[a]=face[b];
    face[b]=temp; 
 }

 3.洗好排後,設定好4張牌的face。

 face1 = face[0];
 face2 = face[1]; 
 face3 = face[2]; 
 face4 = face[3]; 

沒有留言:

張貼留言