如何将变量与多个值进行比较?

时间:2018-03-23 21:18:34

标签: javascript variables

我有这个代码,应该是一个简单的游戏,你有一个你需要用来接球的球拍。 代码:

var h = 350;
var w = 350;
var x = 0;
var bx = 0;
var by = 0;
var bys = 5;
var score = 0;
var hit = false;

//inicial size: 350,350.
function setup(){
    createCanvas(w,h);
    bx = random(10,340);
}

function draw(){
    background(50);
    drawPad();
    drawBall();
    drawScore();
    if(hit){
        bx = random(10,340);
        hit=false;
    }
}

function drawPad(){
    fill(255);
    noStroke();
    if(mouseX>0||mouseX<290){
        x = mouseX;
        rect(x,320,60,20);
    }
    if(mouseX>290){
        x=290;
        rect(x,320,60,20);
    }
    if(mouseX<0){
        x= 0;
        rect(x+60,320,60,20);
    }
}

function drawBall(){
    if(by!=310){
        fill(255,20,75);
        by += bys;
        ellipse(bx,by,10,10);   
    }else{
        score++;
        by = -100;
        hit = true;
    }
}

function drawScore(){
    text(score,10,10);
}

我想将我的bx与超过1的值进行比较,我想将它与(mouseX,mouseX + 10)和(mouseX-10,mouseX)进行比较。 如果您知道我应该如何完成我的代码,请帮助我。 感谢。

1 个答案:

答案 0 :(得分:0)

我将它包装在一个像这样的小函数中:

function mouseXIsInRange () {
  var nameThatDescribesFirstComparison = (bx === mouseX && bx === mouseX + 10);
  var nameThatDescribesSecondComparison = (bx === mouseX && bx === mouseX - 10);
  return nameThatDescribesFirstComparison && nameThatDescribesSecondComparison;
}

并称之为:

if (mouseXIsInRange()) {
  // do something
}

以一种使代码易于阅读的方式命名您的函数和变量是很好的,特别是当您开始进入比较逻辑时。当您重新阅读代码时,良好的命名将为您节省大量的麻烦。祝你好运!