返回

在p5.js中使用条件语句和比较运算符探索数据世界

前端

在上一章中,我们了解了p5.js中可以使用的一些变量。需要注意的是这些变量仅能在p5.js中的setup和draw函数内使用。如果在这两个函数外使用,我们会获得报错说变量未声明。本章中我们会来看p5.js中条件语句和比较运算符的使用,通过这两个功能可以实现的功能是数据探索。

变量声明之后,我们可能会想要改变它的值。这可以通过赋值运算符“=”来实现。比如,我们可以在draw函数中改变变量x和y的值,让图形在屏幕上移动:

function draw() {
  x = x + 1;
  y = y + 1;
  ellipse(x, y, 50, 50);
}

随着draw函数的不断调用,x和y的值会不断增加,图形也会在屏幕上不断移动。

在某些情况下,我们可能希望根据某些条件来改变变量的值。比如,我们可能希望让图形在到达屏幕边缘时反弹。这可以通过使用条件语句来实现。

条件语句最简单的形式是if语句。if语句的基本语法如下:

if (condition) {
  // code to be executed if condition is true
}

其中,condition是判断条件,如果condition为true,则执行if语句中的代码。

例如,我们可以使用if语句让图形在到达屏幕边缘时反弹:

function draw() {
  x = x + 1;
  y = y + 1;

  // 如果x大于屏幕宽度,则让x反向移动
  if (x > windowWidth) {
    x = windowWidth - 1;
    dx = -dx;
  }

  // 如果y大于屏幕高度,则让y反向移动
  if (y > windowHeight) {
    y = windowHeight - 1;
    dy = -dy;
  }

  ellipse(x, y, 50, 50);
}

在上面的代码中,我们使用了两个if语句来判断x和y是否大于屏幕宽度和高度。如果x或y大于屏幕宽度或高度,则让x或y反向移动。

除了if语句之外,还有else if语句和else语句。else if语句的语法如下:

if (condition) {
  // code to be executed if condition is true
} else if (condition) {
  // code to be executed if condition is true
}

else语句的语法如下:

if (condition) {
  // code to be executed if condition is true
} else {
  // code to be executed if condition is false
}

else if语句和else语句可以用来处理多个条件。例如,我们可以使用else if语句来让图形在到达屏幕边缘时反弹,并让图形在到达屏幕中心时停止移动:

function draw() {
  x = x + 1;
  y = y + 1;

  // 如果x大于屏幕宽度,则让x反向移动
  if (x > windowWidth) {
    x = windowWidth - 1;
    dx = -dx;
  }

  // 如果y大于屏幕高度,则让y反向移动
  else if (y > windowHeight) {
    y = windowHeight - 1;
    dy = -dy;
  }

  // 如果x和y都小于屏幕中心,则让图形停止移动
  else if (x < windowWidth / 2 && y < windowHeight / 2) {
    dx = 0;
    dy = 0;
  }

  ellipse(x, y, 50, 50);
}

在上面的代码中,我们使用了两个if语句和一个else if语句来处理三个条件。如果x或y大于屏幕宽度或高度,则让x或y反向移动。如果x和y都小于屏幕中心,则让图形停止移动。

除了if语句、else if语句和else语句之外,p5.js还提供了其他一些条件语句,比如switch语句和case语句。这些条件语句的使用方法与其他编程语言中的条件语句类似,这里不再赘述。

比较运算符是用来比较两个值是否相等或大小的运算符。p5.js中常用的比较运算符包括:

  • ==:相等
  • !=:不相等
  • :大于

  • <:小于
  • =:大于或等于

  • <=:小于或等于

比较运算符可以用来判断两个值是否相等或大小,并根据判断结果执行不同的代码。例如,我们可以使用比较运算符来让图形在到达屏幕边缘时反弹:

function draw() {
  x = x + 1;
  y = y + 1;

  // 如果x等于屏幕宽度,则让x反向移动
  if (x == windowWidth) {
    x = windowWidth - 1;
    dx = -dx;
  }

  // 如果y等于屏幕高度,则让y反向移动
  if (y == windowHeight) {
    y = windowHeight - 1;
    dy = -dy;
  }

  ellipse(x, y, 50, 50);
}

在上面的代码中,我们使用了两个if语句来判断x和y是否等于屏幕宽度和高度。如果x或y等于屏幕宽度或高度,则让x或y反向移动。

比较运算符还可以用来判断两个值的大小。例如,我们可以使用比较运算符来让图形在到达屏幕中心时停止移动:

function draw() {
  x = x + 1;
  y = y + 1;

  // 如果x大于屏幕宽度的一半,则让x反向移动
  if (x > windowWidth / 2) {
    x = windowWidth / 2;
    dx = -dx;
  }

  // 如果y大于屏幕高度的一半,则让y反向移动
  if (y > windowHeight / 2) {
    y = windowHeight / 2;
    dy = -dy;
  }

  ellipse(x, y, 50, 50);
}

在上面的代码中,我们使用了两个if语句来判断x和y是否大于屏幕宽度和高度的一半。如果x或y大于屏幕宽度或高度的一半,则让x或y反向移动。

条件语句和比较运算符是控制程序流程和数据探索的重要工具。通过使用这些工具,您可以创建交互式且富有表现力的代码,让您的项目更具活力和灵活性。本文已经对p5.js中的条件语句和比较运算符进行了详细的讲解,希望对您有所帮助。