2022年9月12日 星期一

week02_新手上碌

  1.畫卡牌

rect(x,y,長,寬,圓角的半徑);


1-1.用變數設定寬度
int w=10;
rect(50-w,50-w,150+2*w,250+2*w,20);
fill(#E39393);
rect(50,50,150,250,20);


1-2.用函式控制卡片數量
void drawCard(){  ///自定義涵式

}
void draw(){
    drawCard(x,y);///呼叫函式
}




1-3.卡面加上文字
字體大小 teztSize( );   
文字  text("字串"x,y);
因為字體大小設為40,所以文字位置:x,y+40 ///下移40

 2.設中文
宣告字體   PFont font=createFont("標楷體",40);  ///設定新字體
使用字體 textFont(font)


 3.改變花色

3-1.黑桃/梅花 為黑色、梅花方塊是紅色:
抓字串位置若無抓到則回傳-1 str.indexOf(str2);
if(face.indexOf("黑桃")==-1 && face.indexOf("梅花") == -1)fill(#FF0A0A);
如果不是黑桃也不是梅花就改成紅色字體

 4.洗牌
4-1.隨機取牌號(1~13)
會取到小數點,範圍0~13   random(13);
取整數無條件捨去,範圍0~12  int(random(13));
因此再加上1   int(random(13)+1);

4-2.花色
陣列放四種花色 String [ ] flower={" "," ", ... };
字串花色+牌號     String face1,face2,face3,face4;

face1=flower[int( random(4) )]+int(random(13)+1);
                    隨機花色                        牌號

4-3.問題>>>>>使用random會有重複的牌
    1. 設陣列紀錄已使用過的牌?浪費記憶體、難寫
    2. 像現實中玩牌一樣,打亂排序後再依序出牌

沒有留言:

張貼留言