# 按 R 換一組隨機

正式網址：https://newmediaart.course.monolab.world/snippets/reset-random

把 random 的種子存在變數裡，按 R 抽一個新種子、重畫一次；同一個種子永遠畫出同一張。

- **分類**：鍵盤滑鼠
- **行數**：28 行（p5.js 1.x／2.x）
- **在哪一堂用到**：[第 1 堂](https://newmediaart.course.monolab.world/lesson/01)

動態作品把 noLoop() 和 redraw() 拿掉，只留 randomSeed(seed) 在 draw() 第一行：每一格抽到同一組隨機，畫面就不會閃。有用 noise() 的話再加一行 noiseSeed(seed)。

```js
// 按 R 換一組隨機：記住種子，同一個種子永遠畫出同一張
let seed;

function setup() {
  createCanvas(600, 600);
  seed = floor(random(1000000));
  noLoop(); // 靜態構圖：畫一次就停，按 R 才重畫
}

function draw() {
  randomSeed(seed); // 每次重畫都從同一個種子開始抽籤
  background(245);
  noStroke();
  for (let i = 0; i < 60; i++) {
    fill(random(255), random(255), random(255), 180);
    circle(random(width), random(height), random(20, 120));
  }
  fill(0);
  textSize(14);
  text('seed ' + seed + '　按 R 換一組', 16, height - 16);
}

function keyPressed() {
  if (key === 'r' || key === 'R') {
    seed = floor(random(1000000)); // 抽一個新種子
    redraw(); // noLoop() 的時候，要叫 redraw() 才會再跑一次 draw()
  }
}
```

## 同類常用指令・鍵盤滑鼠

- [按空白鍵暫停／繼續](https://newmediaart.course.monolab.world/snippets/pause-space)
- [按 C 清空畫布（筆刷作品）](https://newmediaart.course.monolab.world/snippets/clear-canvas)
- [取座標小工具：點一下印出 vertex](https://newmediaart.course.monolab.world/snippets/vertex-picker)
- [MIDI 一行接上：鍵盤、螢幕上的控制器、手機都能彈](https://newmediaart.course.monolab.world/snippets/midi-one-line)

[回到全部常用指令](https://newmediaart.course.monolab.world/snippets)

[到 Hahow 報名](https://hahow.in/cr/creative-code)。價格與優惠以 Hahow 頁面為準。
