04-02 配列の操作

2026年1月28日

名前

茅野壮甫

自分で作った図形(コードと画像)

✅ 練習問題 4-2-1

function setup() {
  let items = ["やくそう"];  // 最初は「やくそう」だけ
  print("=== 冒険スタート! ===");
  print("所持アイテム:"+items);
    // ここにコードを書いてください
    //「たいまつ」「せいすい」「キメラのつばさ」「かぎ」「ちからのたね」を順番に手に入れる
  print("宝箱から「かぎ」を手に入れた!");
  items.push("かぎ");
  print("所持アイテム:"+items);
  print("宝箱から「せいすい」を手に入れた!");
  items.push("せいすい");
  print("所持アイテム:"+items);
  print("宝箱から「キメラのつばさ」を手に入れた!");
  items.push("キメラのつばさ");
  print("所持アイテム:"+items);
  print("宝箱から「かぎ」を手に入れた!");
  items.push("かぎ");
  print("所持アイテム:"+items);
  print("宝箱から「ちからのたね」を手に入れた!");
  items.push("ちからのたね");
  print("所持アイテム:"+items); 
}

📷 実行結果

✅ 練習問題 4-2-2

function setup() {
  let items=["やくそう","たいまつ","せいすい"];
  print("所持アイテム:"+items);

  // ここにコードを書いてください
  let useditem=items.pop();
  print("勇者は「"+useditem+"」を使った!");
  print("所持アイテム:"+items);
  useditem=items.pop();
  print("勇者は「"+useditem+"」を使った!");
  print("所持アイテム:"+items);
  useditem=items.pop();
  print("勇者は「"+useditem+"」を使った!");
  print("アイテムをすべて使い切りました!")
}

📷 実行結果

✅ 練習問題 4-3-3

function setup() {
  let items=["やくそう","たいまつ","せいすい","キメラのつばさ","かぎ"];
  print("所持アイテム:"+items);

  // ここにコードを書いてください
  if(items.indexOf("たいまつ")!==-1){
    print("たいまつを持っています!");
  }else{
    print("たいまつを持っていません");
  }
  if(items.indexOf("まほうのかぎ")!==-1){
    print("まほうのかぎを持っています!");
  }else{
    print("まほうのかぎを持っていません");
  }

}

📷 実行結果

✅ 練習問題 4-3-4

function setup() {
  let items=["やくそう","たいまつ","せいすい","キメラのつばさ","かぎ"];
  print("最初:"+items);

  // ここにコードを書いてください
  items.splice(2,1,"まんげつそう");
  items.splice(0,0,"やくそう(大)")
  items.splice(5,1)
  print("最後:"+items);
}

📷 実行結果

✅ 練習問題 4-3-5

function setup() {
  let prices=[150,80,300,50,200];
  print("価格一覧:"+prices);

  // ここにコードを書いてください
  prices.sort();
  print("整理後:"+prices)
}

📷 実行結果

✅ 練習問題 4-3-6

function setup() {
  let prices=[480,120,320,80,650];

  // ここにコードを書いてください
  print("元の順番:"+prices);
  prices.sort(function(a,b){
    return a-b;
  });
  print("安い順:"+prices);
  prices.sort(function(a,b){
    return b-a;
  })
  print("高い順:"+prices);
}

📷 実行結果

✅ 練習問題 4-3-7

function setup() {
  let rank1 = ["ピンスティック","ひのきのぼう"];
  let rank2 = ["きょうじゃのこん","せいどうのツメ","くさかりがま","シーブスナイフ"];
  let rank3 = ["バトルアックス","はがねのツメ","はがねのムチ","はがねのやり"];
  let rank4 = ["オルテガのオノ","パパスの剣","シルバークロー","あくまのムチ"];
  let rank5 = ["メタルキングの剣","ラーミアのムチ","ゾンビキラー","はやぶさの剣"];

  let tickets=30;    // 手持ちチケット
  let n=0;           // 累計回数

  while (tickets>0) {
    tickets--;
    n++;

    let r=random();
    let item = "";
    if (r<0.03) {
      print(n+rank5[Math.round(Math.random()*3)]+"(★★★★★)");
    } else if (r < 0.03 + 0.07) {
      print(n+rank4[Math.round(Math.random()*3)]+"(★★★★)");
    } else if (r < 0.03 + 0.07 + 0.15) {
      print(n+rank3[Math.round(Math.random()*3)]+"(★★★)");
    } else if (r < 0.03 + 0.07 + 0.15 + 0.30) {
      print(n+rank2[Math.round(Math.random()*3)]+"(★★)");
    } else {
      print(n+rank1[Math.round(Math.random()*1)]+"(★)");
    }
  }

  print("合計"+n+"回引きました");
}

📷 実行結果

✅ 練習問題 4-3-8

function setup() {
  let rank1 = ["ピンスティック","ひのきのぼう"];
  let rank2 = ["きょうじゃのこん","せいどうのツメ","くさかりがま","シーブスナイフ"];
  let rank3 = ["バトルアックス","はがねのツメ","はがねのムチ","はがねのやり"];
  let rank4 = ["オルテガのオノ","パパスの剣","シルバークロー","あくまのムチ"];
  let rank5 = ["メタルキングの剣","ラーミアのムチ","ゾンビキラー","はやぶさの剣"];

  let tickets=10;    // 手持ちチケット
  let n=0;           // 累計回数
  let a=[];
  let b=[];
  let c=[];
  let d=[];
  let e=[];

  while (tickets>0) {
    tickets--;
    n++;

    let r=random();
    if (r<0.03) {
      a.push(rank5[Math.round(Math.random()*3)]);
    } else if (r < 0.03 + 0.07) {
      b.push(rank4[Math.round(Math.random()*3)]);
    } else if (r < 0.03 + 0.07 + 0.15) {
      c.push(rank3[Math.round(Math.random()*3)]);
    } else if (r < 0.03 + 0.07 + 0.15 + 0.30) {
      d.push(rank2[Math.round(Math.random()*3)]);
    } else {
      e.push(rank1[Math.round(Math.random()*1)]);
    }
  }
  print("★5:"+a);
  print("★4:"+b);
  print("★3:"+c);
  print("★2:"+d);
  print("★1:"+e);
  print("合計"+n+"回引きました");
}

📷 実行結果

まとめ・感想

要素の変更コードの長さ並び替え
変数時間がかかる長い大変(手動)
配列早い短い楽(自動)

コメントする