/    Sign up×
Community /Pin to ProfileBookmark

Adding very basic A.I to this 2 player game

I have programmed a game of Connect4 for a uni project, i have the 2 player working fine and now im trying to add a 1 player mode vs computer, just a basical randomly pick a colum and drop a checker, what would be the easest way to impliment this to this code?

[code]<HEAD>
<meta content=”en-gb” http-equiv=”Content-Language”>
<STYLE TYPE=”text/css”>
BODY{background-color: white}
IMG {border: 0}
A:visited {color: blue}
FONT.score {color: blue; font-size: large}
FONT.silverscore {color: silver}
FONT.goldscore {color: gold}
.auto-style1 {
color: #008000;
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-size: xx-large;
}
.auto-style2 {
color: #800000;
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-size: xx-large;
}
.auto-style4 {
color: #008080;
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-size: xx-large;
}
.auto-style5 {
color: #808000;
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-size: xx-large;
}
.auto-style6 {
text-align: center;
}
.auto-style7 {
font-family: Verdana, Geneva, Tahoma, sans-serif;
}
</STYLE>
<SCRIPT LANGUAGE=”JavaScript”>
var vals = new Array()
var gameActive = 0
function rePlay() {
if (gameActive == 1) {
document.formo.silverScoreBoard.value = silverScore + “”
document.formo.goldScoreBoard.value = goldScore + “”
clearBoard()
}
for (var c1 = 0; c1 <= 6; c1++) {
vals[c1] = 0
}
}
var silverBulletFilled = new Image()
var goldBulletFilled = new Image()
var emptyBlack = new Image()
var empty = new Image()
var silverBullet = new Image()
var goldBullet = new Image()
silverBulletFilled.src = “silverfilledblack.gif”
goldBulletFilled.src = “goldfilledblack.gif”
emptyBlack.src = “emptyblack.gif”
empty.src = “empty.gif”
silverBullet.src = “silverbullet.gif”
goldBullet.src = “goldbullet.gif”
var whosTurn = “silver”
var whosTurnSpot = new Image()
var whosTurnChecker = new Image()
whosTurnSpot.src = silverBulletFilled.src
whosTurnChecker.src = silverBullet.src
function clearBoard() {
for (var a = 7; a <= 48; a++) {
document.images[a].src = emptyBlack.src
}
}
function placeTop(picToPlace) {
if (gameActive == 1) {
document.images[picToPlace].src = whosTurnChecker.src
}
}
function unPlaceTop(picToUnplace) {
if (gameActive == 1) {
document.images[picToUnplace].src = empty.src
}
}
var placeLoc
function dropIt(whichRow) {
if (gameActive == 1) {
placeLoc = (7 – vals[whichRow]) * 7 -7 + whichRow
if (vals[whichRow] < 6) {
document.images[placeLoc].src = whosTurnSpot.src
vals[whichRow] = vals[whichRow] + 1
checkForWinner(whosTurn)
switchTurns()
placeTop(whichRow)
}
}
}
function whoGoesFirst() {
whosTurn = whosFirst
switchTurns()
if (whosFirst == “silver”) {
whosFirst = “gold”
} else {
whosFirst = “silver”
}
}
function switchTurns() {
if (gameActive == 1) {
if (whosTurn == “silver”) {
whosTurn = “gold”
whosTurnSpot.src = goldBulletFilled.src
whosTurnChecker.src = goldBullet.src
document.formo.texter.value = goldPlayer + “‘s turn.”
} else {
whosTurn = “silver”
whosTurnSpot.src = silverBulletFilled.src
whosTurnChecker.src = silverBullet.src
document.formo.texter.value = silverPlayer + “‘s turn.”
}
}
}
var silverPlayer
var goldPlayer
var whosFirst
function askForNames() {
if (gameActive == 1) {
silverScore = 0
goldScore = 0
document.formo.silverScoreBoard.value = silverScore + “”
document.formo.goldScoreBoard.value = goldScore + “”
matchMade = 1
silverPlayer = prompt(“What is the name of first player? (Silver)”, “”)
goldPlayer = prompt(“What is the name of second player? (Gold)”, “”)
if (silverPlayer == null || silverPlayer == “”) {
silverPlayer = “Silver Player”
}
if (goldPlayer == null || goldPlayer == “”) {
goldPlayer = “Gold Player”
}
if (whosFirst == “s” || whosFirst == “silver” || whosFirst == silverPlayer) {
document.formo.texter.value = silverPlayer + “‘s turn.”
whosTurn = “gold”
switchTurns()
whosFirst = “silver”
} else {
document.formo.texter.value = goldPlayer + “‘s turn.”
whosTurn = “silver”
switchTurns()
whosFirst = “gold”
}
}
}
var lookForSrc
var silverScore = 0
var goldScore = 0
var someOneWon
var rowsFull = 0
function checkForWinner(colorToCheck) {
if (gameActive == 1) {
someOneWon = 0
if (colorToCheck == “silver”) {
lookForSrc = silverBulletFilled.src
}
if (colorToCheck == “gold”) {
lookForSrc = goldBulletFilled.src
}
rowsFull = 0
for (var counter = 7; counter <= 48; counter++) {
if (document.images[counter].src == lookForSrc) {
if ((counter + 3 <= 48
&& counter != 11 && counter != 12 && counter != 13
&& counter != 18 && counter != 19 && counter != 20
&& counter != 25 && counter != 26 && counter != 27
&& counter != 32 && counter != 33 && counter != 34
&& counter != 39 && counter != 40 && counter != 41
&& document.images[counter + 1].src == lookForSrc
&& document.images[counter + 2].src == lookForSrc
&& document.images[counter + 3].src == lookForSrc)
|| (counter + 3 * 7 <= 48
&& document.images[counter + 7].src == lookForSrc
&& document.images[counter + 7*2].src == lookForSrc
&& document.images[counter + 7*3].src == lookForSrc)
|| (counter + 3 * 7 <= 48
&& counter != 11 && counter != 12 && counter != 13
&& counter != 18 && counter != 19 && counter != 20
&& counter != 25 && counter != 26 && counter != 27
&& document.images[counter + 7 + 1].src == lookForSrc
&& document.images[counter + 7*2 + 2].src == lookForSrc
&& document.images[counter + 7*3 + 3].src == lookForSrc)
|| (counter – 3 * 7 >= 7
&& counter != 32 && counter != 33 && counter != 34
&& counter != 39 && counter != 40 && counter != 41
&& counter != 46 && counter != 47 && counter != 48
&& document.images[counter – 7 + 1].src == lookForSrc
&& document.images[counter – 7*2 + 2].src == lookForSrc
&& document.images[counter – 7*3 + 3].src == lookForSrc)) {
for (var c2 = 0; c2<= 6; c2++) {
unPlaceTop(c2)
}
if (colorToCheck == “silver”) {
alert(silverPlayer + ” wins.”)
silverScore += 1
} else if (colorToCheck == “gold”) {
alert(goldPlayer + ” wins.”)
goldScore += 1
}
gameActive = 0
someOneWon = 1
counter = 49
document.formo.silverScoreBoard.value = silverScore + “”
document.formo.goldScoreBoard.value = goldScore + “”
}
}
}
if (someOneWon != 1) {
for (var poo = 0; poo <= 6; poo++) {
if (vals[poo] == 6) {
rowsFull += 1
}
}
if (rowsFull == 7) {
for (var c3 = 0; c3<= 6; c3++) {
unPlaceTop(c3)
}
gameActive = 0
alert(“This game has reached a draw.”)
}
}
}
}
var matchMade = 0
function newGame() {
if (matchMade == 1) {
gameActive = 1
rePlay()
whoGoesFirst()
}
}
function newMatchUp() {
if (confirm(“Do you wish to start a new game?”)) {
gameActive = 1
rePlay()
askForNames()
}
}
function setMsg(whatToSay) {
window.status = whatToSay
return true
}
[/code]

to post a comment
JavaScript

0Be the first to comment 😎

×

Success!

Help @Cryraxz spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.18,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...