Minecraft ComputerCraft Wiki
Register
Advertisement
GameAPI

In game screenshot Of running GameApi program

GameAPI is a lightweight and easy to use library that you can use to - you guessed it - make games.

The library uses a system of automatically drawn and bounded actors and it does most of the work that you would have to normally do yourself.

Because of the graphical limitations of CraftOS, the interface is in an ascii-type style, a text character representing each actor. The script may be obtained at http://pastebin.com/5WX5GjAM.

To use the library download the script, name it 'gameapi' and place it in the directory: .minecraft/mods/ComputerCraft/lua/rom/programs

At the top of your game script type the line shell.run('gameapi').

Function Reference[]

actor:new(x, y, char[, bounded])
returns a new actor at the x and y positions on the terminal
bounded is a boolean which will determine whether or not your actor's movement is limited to the console window, true by default.

actor.x
the actor's x position

actor.y
the actor's y position

actor.char
the character representing the actor on screen

actor.bounded
whether or not the actor can go outside the screen

actor:setPos(x,y)
sets the actor's position
**this method and other positioning methods must be used in order for the actor's position to be updated onscreen

actor:addPos(x,y)
adds to the actor's position

actor:setX(n)
sets the actor's x position to n

actor:setY(n)
sets the actor's y position to n

actor:addX(n)
adds n to the actor's x position

actor:addY(n)
adds n to the actor's y position

actor:setChar(char)
change the actor's character to char

game.key(k)
user defined, triggered when a key is pressed

game.update()
user defined, triggered when a new frame is drawn

game.start()
required for the game to start, obviously
**any code after this function will not be ran until the game has stopped

game.stop()
quit the program

Example Program - Simple Player Movement[]

Below is an example program that shows how you would go about moving your character.

shell.run('gameapi')

player = actor:new(1,10,'O')

--basic player movement
function game.key(k)
if k==203 then --left
  player:addX(-1)
  player:setChar('<')
elseif k==205 then --right
  player:addX(1)
  player:setChar​('>')
elseif k==200 then --up
  player:addY(-1)
  player:setChar('^')
elseif k==208 then --down
  player:addY(1)
  player:setChar('v')
end
end


game.start() --NEEDED



Explanation



--basic player movement
function game.key(k) --setting variable for k
if k==203 then --left --saying if the key you press is 203 then
  player:addX(-1) --moving your guy left 1
  player:setChar('<')--and changing him to the <
elseif k==205 then --right
  player:addX(1)--moving right
  player:setChar​('>')
elseif k==200 then --up
  player:addY(-1)--going up
  player:setChar('^')
elseif k==208 then --down
  player:addY(1)--and VVVVV
  player:setChar('v')
end
end
Keyboardt

Codes for different keyboard presses.

The first line runs the api which gives the game access to it's scripts. The next line creates the player object at the specified X and Y position with the character representing it, O. Under 'game.key' k is the numeric code for which key the player has pressed. The script checks for different values of 'k' and moves the player in the direction corresponding to the key pressed.

The last line has to be the most important thing you need to use this api.

Credits[]

This API was created by Kingdaro, please do not claim as your own once used. C:

Advertisement