| Title: | A Game for Human vs. Human or Human vs. AI | 
| Version: | 1.5.1 | 
| Description: | A game for two players: Who gets first four in a row (horizontal, vertical or diagonal) wins. As board game published by Milton Bradley, designed by Howard Wexler and Ned Strongin. | 
| Depends: | R (≥ 3.0.0) | 
| License: | GPL-3 | 
| Encoding: | UTF-8 | 
| LazyData: | true | 
| RoxygenNote: | 6.1.0 | 
| Imports: | graphics, grDevices | 
| NeedsCompilation: | no | 
| Packaged: | 2018-10-24 14:06:28 UTC; Matthias | 
| Author: | Matthias Speidel [aut, cre] | 
| Maintainer: | Matthias Speidel <matthias.speidel@googlemail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2018-10-24 15:10:02 UTC | 
Move of AI
Description
Help-Function for an AI
Usage
AImove(field, AIstrength, AIplayernumber)
Arguments
| field | matrix: the playing field | 
| AIstrength | integer: strength of the AI - number of moves the AI will simulate? | 
| AIplayernumber | integer: 0 or 1: should the AI be player 1 or player 2? | 
Value
the selected row
Is the field correct?
Description
help-function that checks whether the field is correct
Usage
FieldCorrect(column, field)
Arguments
| column | integer: the column chosen by the current player | 
| field | matrix: the playing field. | 
Value
a boolean (TRUE if the given column would be a valid move for the field given).
field generation
Description
help-function which generates the playing-field
Usage
FieldGeneration(rows, columns)
Arguments
| rows | integer: how many rows shall the playing field have? | 
| columns | integer: how many columns shall the playing field have? | 
Value
an empty matrix with rows and columns
plot the field
Description
a major-function which plots the current field, and if given a hint, which player has won
Usage
FieldPlot(field, message, PlayerColors)
Arguments
| field | matrix: the playing field | 
| message | character: a message to be plotted. | 
| PlayerColors | vector of characters: the players' colors. | 
check for a winner
Description
help-function that checks whether (at least) one of the four possibilities of winning is given
Usage
FieldWinCheck(field, player)
Arguments
| field | matrix: the playing field. | 
| player | integer: the current player. | 
Value
a boolean whether the player has won the match or not
Main Function
Description
Function to play FourScores
Usage
FourScores(rows = 6, columns = 7, AI = TRUE, AIstrength = rows *
  columns, AIplayernumber = 1, MACuser = TRUE, PlayerNames = c("AI",
  "Human"), getnewnames = FALSE, PlayerColors = c("green", "blue"),
  getnewcolors = FALSE)
Arguments
| rows | integer: how many rows shall the playing field have? | 
| columns | integer: how many columns shall the playing field have? | 
| AI | boolean: play against AI? | 
| AIstrength | integer: strength of the AI - number of moves the AI will simulate? | 
| AIplayernumber | integer: 0 or 1: should the AI be player 1 or player 2? | 
| MACuser | boolean: on some non-mac computers this can be set to  | 
| PlayerNames | array of characters: the players' names. | 
| getnewnames | boolean: should new names be asked for? | 
| PlayerColors | vector of characters: the players' colors. | 
| getnewcolors | boolean: should new colors be asked for? | 
Examples
## Not run: 
FourScores(AI = T, AIstrength = 10, MACuser = T, getnewnames = F, getnewcolors = F)
## End(Not run)
Generate a new field
Description
help-function which "throws" the stone into the field and returns the new field
Usage
NewField(field, column, player)
Arguments
| field | matrix: the playing field. | 
| column | integer: the column chosen by the current player. | 
| player | integer: the current player. | 
Value
The updated field matrix.
a function
Description
help-function which return the x-axis-value of the mouse when releasing the mouse button.
Usage
clicking(buttons, x, y)
Arguments
| buttons | the mouse buttons input. | 
| x | the x-value of the mouse button. | 
| y | the y-value of the mouse button. | 
Value
a rounded value for the x-coordinate
check input
Description
a function to check the mouse click input by the user
Usage
clickingXY(buttons, x, y)
Arguments
| buttons | the mouse buttons input. | 
| x | the x-value of the mouse button. | 
| y | the y-value of the mouse button. | 
Value
a Vector of the x and y coordinates of the mouse click
Field buttons
Description
A function to show buttons, letting the player(s) decide what to do: show the winning field, play again or exit.
Usage
fbuttons(field, justsub, message, MACuser, rows, columns, AI, AIstrength,
  AIplayernumber, PlayerNames, PlayerColors)
Arguments
| field | matrix: the field. | 
| justsub | boolean: should only be a subtitle plotted (below the winning field)? | 
| message | character: a message to be plotted. | 
| MACuser | boolean: on some non-mac computers this can be set to  | 
| rows | integer: how many rows shall the playing field have? | 
| columns | integer: how many columns shall the playing field have? | 
| AI | boolean: play against AI? | 
| AIstrength | integer: strength of the AI - number of moves the AI will simulate? | 
| AIplayernumber | integer: 0 or 1: should the AI be player 1 or player 2? | 
| PlayerNames | array of characters: the players' names. | 
| PlayerColors | vector of characters: the players' colors. | 
A function
Description
A function to get some colors
Usage
getColors(PlayerNames, PlayerColors, MACuser)
Arguments
| PlayerNames | array of characters: the players' names. | 
| PlayerColors | vector of characters: the players' colors. | 
| MACuser | boolean: on some non-mac computers this can be set to  | 
Value
a vector with the updated player colors
Get player names
Description
help-function which gets and returns the players' names
Usage
getPlayerNames(PlayerNames, MACuser)
Arguments
| PlayerNames | array of characters: the players' names. | 
| MACuser | boolean: on some non-mac computers this can be set to  | 
Value
a vector with the player names
logo painter
Description
a general help function to plot
Usage
painter(numberMatrix, colorArray)
Arguments
| numberMatrix | a matrix with different integers showing which color to pick from the  | 
| colorArray | a character array with different names of colors to be used by the painter. | 
plot logo
Description
plot the "different purpose" logo
Usage
plotlogo()
resample
Description
resampling function
Usage
resample(x, ...)
Arguments
| x | a vector | 
| ... | other parameters | 
Value
a vector
References
Help function from ?sample to overcome the "sample(ret, size = 1)" problem for length(ret) == 1
Return a key
Description
help-function which returns, the key on the keyboard which is being typed
Usage
typing(key)
Arguments
| key | a keyboard input. | 
Value
the key pressed.