user3132292
user3132292

Reputation: 31

Change javascript variable using html buttons

So I'm a beginning programmer and I'm trying to make four in a row using javascript and html. The game works just fine, but I'm using a prompt to make the players choose a column. This isn't very user friendly, so I would like to use html buttons for this (one for every column). However, I can't get it to work. I think the code is being executed before the buttonclick.

the button should give the var column the right value every turn. place will place a 1 or 2 (resembling the player) into a 2d array checkField will check if there are 4 in a row

This is what I have now:

in the body :

<button onclick="clickButton(1)" style="position:absolute; left:300px; top:10px">A</button>

And in the script:

var turn = 1;
var wichPlayer = 0;
var noFourInARow = true;
while(noFourInARow){

    if(turn%2 == 1){
        wichPlayer = 1;
    }

    else{
        wichPlayer = 2;

    }


    function clickButton(k){
    var column = k;
    array = place(row,wichplayer,column);
    turn++;
    noFourInARow = checkField(row, wichPlayer, player1, player2);
    }

}

Upvotes: 0

Views: 81

Answers (1)

user796443
user796443

Reputation:

When you click button your code is not re-evaluated. SO you run only portion inside button function. Why not move all actions into button?

function action() {
var turn = 1;
var wichPlayer = 0;
var noFourInARow = true;
while(noFourInARow){

    if(turn%2 == 1){
        wichPlayer = 1;
    }

    else{
        wichPlayer = 2;

    }
}


    function clickButton(k){
    var column = k;
    array = place(row,wichplayer,column);
    turn++;
    noFourInARow = checkField(row, wichPlayer, player1, player2);
    action();
    }

This is just an example to change point of view. I'm not sure what you are doing with your code so...

Upvotes: 1

Related Questions