03-01 条件分岐(if文)

練習問題3-1-1

ageに年齢データが格納されているとき成年か未成年か判定するプログラムを作りなさい。判定結果はprint文でコンソールに出力しなさい。

function setup() {
  createCanvas(400, 400);
  let age = Math.floor(Math.random()*100)+1;
  print(age);
if(age>=18){
print("成人");
}
else{
print("未成年");
}
}

ifの使い方は結構すぐに分かったのですが、{}の中に{}を入れられることを知らなかったので、少し苦戦しましたが、AIに聞いて解決しました。
ちなみに年齢はランダムにしました。

練習問題3-1-2

ユーザーから年齢を入力してもらい、その年齢に応じて「子供」「若者」「大人」「高齢者」のいずれかを表示するプログラムを作りなさい。ただし、年齢は数値として扱い、18歳未満を「子供」、18歳以上30歳未満を「若者」、30歳以上65歳未満を「大人」、65歳以上を「高齢者」とする。

function setup() {
  createCanvas(400, 400);
  
  let age = prompt("あなたの年齢を入力してください");
  let distinction

  if (age<=17){
    distinction=("子供")
  }
  else if (age>=18&&age<=30){
    distinction=("若者")
  }
  else if (age>=30&&age<=65){
    distinction=("大人")
  }
  else {
    distinction=("高齢者")
  }
  text(distinction+age+"歳", width/2, height/2)
}
ifよりも、定数で苦戦しました。ifは今のところ楽しいです。

練習問題3-1-3

勇者が姫に告白をする前に、神様に相談しています。 姫の好感度により、神様のメッセージが変わるようにしなさい。

好感度80以上:神「バッチリ」 好感度60以上:神「そこそこ」 好感度が足りない場合:神「やめたら?」

function setup() {
  // 好感度を仮に設定
  let affinity = Math.floor(Math.random()*100);

  // メッセージ表示
  print("勇者「神様、姫に告白したいのですが…」");
  print("好感度"+affinity);
  
  if (affinity>=80){
    print("神「バッチリ」");
  }
  else if (affinity<=80&&affinity>=60){
    print("神「そこそこ」");
  }
  else {
    print("神「やめたら?」");
  }
}

elseとelse ifの使い分けがボンミスしやすかったです。

練習問題3-1-5

ゲームなどで「くじ引き」のように、キャラクターやアイテムがランダムで手に入るしくみを「ガチャ」といいます。
このプログラムでは、random() を使って 0以上1未満のランダムな数を作り、 その数が 0.03(=3%)より小さければ「★5!」が当たったと判定しています。

function setup() {
  let r =random(1);
  if (r < 0.03) {
    print("★5!");
  } 
  else if(r > 0.03&&r < 0.10){
    print("★4")
  }
  else if(r > 0.10&&r < 0.25){
    print("★3")
  }
  else if(r > 0.25&&r <0.55){
    print("★2")
  }
  else if(r > 0.55&&r < 1.00){
    print("★1")
  }
  else {
    print("UR");
  }
}

最初に作られていた★5のプログラムが=<ではなく<が使われていたので、違いを調べてみたところ、指定した数字きっかりは認識しないというものらしいのですが、最初に使われていたので、その後のプログラムでも使いました。
ちなみにきっかりのときは、URと表示するようにしました。

コメントする