mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Added Ring Language Support (#3662)
* update .gitmodules * Update grammars.yml * Create hello.ring * Create Natural.ring * Create weblib.ring * vendor/grammars/language-ring * fix order in grammars.yml * remove two files from samples * delete hello.ring * Update languages.yml - add the R * Create hello.ring * Create natural.ring * Create weblib.ring * Create grammars.yml * Create .gitmodules * Create languages.yml * Create languages.yml * Create language-ring.txt * Update .gitmodules Prefer HTTPS links. * Update hello.ring Sample file from "real" applications (under permissive license) to train the Bayesian classifier. * Update languages.yml * Update weblib.ring Reduce the file size * Update .gitmodules * Update .gitmodules * Update .gitmodules * Update .gitmodules * Update submodule : language-ring * Update weblib.ring Sample : Using the web library. * Create weighthistory Add Sample * Rename weighthistory to weighthistory.ring * Update weblib.ring
This commit is contained in:
committed by
Colin Seymour
parent
6b221172c0
commit
632bcdc1ad
335
samples/Ring/hello.ring
Normal file
335
samples/Ring/hello.ring
Normal file
@@ -0,0 +1,335 @@
|
||||
# The Ring Standard Library
|
||||
# Game Engine for 2D Games
|
||||
# Flappy Bird 3000 Game
|
||||
# 2016, Mahmoud Fayed <msfclipper@yahoo.com>
|
||||
|
||||
oGameState = NULL
|
||||
|
||||
Load "gameengine.ring"
|
||||
|
||||
func main
|
||||
|
||||
oGame = New Game
|
||||
|
||||
while true
|
||||
|
||||
oGameState = New GameState
|
||||
|
||||
oGame {
|
||||
title = "Flappy Bird 3000"
|
||||
sprite
|
||||
{
|
||||
file = "images/fbback.png"
|
||||
x = 0 y=0 width=800 height = 600 scaled = true animate = false
|
||||
keypress = func ogame,oself,nKey {
|
||||
if nkey = key_esc or nKey = GE_AC_BACK
|
||||
ogame.shutdown()
|
||||
but nKey = key_space
|
||||
oGameState.startplay=true
|
||||
ogame.shutdown=true
|
||||
ok
|
||||
}
|
||||
mouse = func ogame,oself,nType,aMouseList {
|
||||
if nType = GE_MOUSE_UP
|
||||
call oself.keypress(oGame,oSelf,Key_Space)
|
||||
ok
|
||||
}
|
||||
}
|
||||
text {
|
||||
animate = false
|
||||
size = 35
|
||||
file = "fonts/pirulen.ttf"
|
||||
text = "Flappy Bird 3000"
|
||||
x = 150 y=50
|
||||
}
|
||||
text {
|
||||
animate = false
|
||||
size = 25
|
||||
file = "fonts/pirulen.ttf"
|
||||
text = "Version 1.0"
|
||||
x = 280 y=100
|
||||
}
|
||||
text {
|
||||
animate = false
|
||||
size = 16
|
||||
file = "fonts/pirulen.ttf"
|
||||
text = "(C) 2016, Mahmoud Fayed"
|
||||
x = 245 y=140
|
||||
}
|
||||
|
||||
text {
|
||||
animate = false
|
||||
size = 25
|
||||
file = "fonts/pirulen.ttf"
|
||||
text = "To Win Get Score = 3000"
|
||||
x = 150 y=270
|
||||
}
|
||||
|
||||
text {
|
||||
animate = false
|
||||
size = 25
|
||||
file = "fonts/pirulen.ttf"
|
||||
text = "Press Space to start"
|
||||
x = 190 y=470
|
||||
}
|
||||
text {
|
||||
animate = false
|
||||
size = 20
|
||||
file = "fonts/pirulen.ttf"
|
||||
text = "Press Esc to Exit"
|
||||
x = 260 y=510
|
||||
}
|
||||
|
||||
animate {
|
||||
file = "images/fbbird.png"
|
||||
x = 200
|
||||
y = 200
|
||||
framewidth = 20
|
||||
scaled = true
|
||||
height = 50
|
||||
width = 50
|
||||
nStep = 3
|
||||
transparent = true
|
||||
animate = true
|
||||
direction = ge_direction_random
|
||||
state = func oGame,oSelf {
|
||||
oSelf {
|
||||
nStep--
|
||||
if nStep = 0
|
||||
nStep = 3
|
||||
if frame < 3
|
||||
frame++
|
||||
else
|
||||
frame=1
|
||||
ok
|
||||
ok
|
||||
if x <= 0 x=0 ok
|
||||
if y <= 0 y=0 ok
|
||||
if x >= 750 x= 750 ok
|
||||
if y > 550 y=550 ok
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Sound {
|
||||
file = "sound/music2.wav"
|
||||
}
|
||||
}
|
||||
if oGameState.startplay
|
||||
oGame.refresh()
|
||||
playstart(oGame)
|
||||
oGame.refresh()
|
||||
ok
|
||||
|
||||
end
|
||||
|
||||
|
||||
func playstart oGame
|
||||
|
||||
oGame {
|
||||
FPS = 60
|
||||
FixedFPS = 120
|
||||
Title = "Flappy Bird 3000"
|
||||
Sprite {
|
||||
file = "images/fbback.png"
|
||||
x = 0 y=0 width=800 height = 600 scaled = true animate = false
|
||||
keypress = func ogame,oself,nKey {
|
||||
if nkey = key_esc or nKey = GE_AC_BACK
|
||||
ogame.shutdown()
|
||||
ok
|
||||
}
|
||||
}
|
||||
|
||||
Map {
|
||||
blockwidth = 80
|
||||
blockheight = 80
|
||||
aMap = [
|
||||
[0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0],
|
||||
[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0],
|
||||
[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0],
|
||||
[0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,1,0,0,0],
|
||||
[0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0],
|
||||
[0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0],
|
||||
[0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0],
|
||||
[0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0]
|
||||
]
|
||||
newmap(aMap)
|
||||
aImages = ["images/fbwall.png","images/fbwallup.png",
|
||||
"images/fbwalldown.png"]
|
||||
state = func oGame,oSelf {
|
||||
if oGameState.gameresult = false
|
||||
px = oGame.aObjects[3].x
|
||||
py = oGame.aObjects[3].y
|
||||
oSelf {
|
||||
x -= 3
|
||||
if x < - 2100
|
||||
x = 0
|
||||
newmap(aMap)
|
||||
ok
|
||||
nCol = getcol(px,0)
|
||||
if nCol=11 or nCol=15 or nCol=19 or nCol=23 or nCol=27
|
||||
if nCol != oGameState.lastcol
|
||||
oGameState.lastcol = nCol
|
||||
oGameState.Score += 100
|
||||
oGame { Sound {
|
||||
once = true
|
||||
file = "sound/sfx_point.wav"
|
||||
} }
|
||||
checkwin(oGame)
|
||||
ok
|
||||
ok
|
||||
}
|
||||
if oSelf.getvalue(px+40,py) != 0 or
|
||||
oSelf.getvalue(px+40,py+40) != 0 or
|
||||
oSelf.getvalue(px,py) != 0 or
|
||||
oSelf.getvalue(px,py+40) != 0
|
||||
oGameState.gameresult = true
|
||||
oGame {
|
||||
text {
|
||||
point = 550
|
||||
size = 30
|
||||
nStep = 3
|
||||
file = "fonts/pirulen.ttf"
|
||||
text = "Game Over !!!"
|
||||
x = 500 y=10
|
||||
state = func ogame,oself {
|
||||
if oself.y >= 550
|
||||
ogame.shutdown = true
|
||||
ok
|
||||
if oself.y = 90
|
||||
ogame {
|
||||
Sound {
|
||||
once = true
|
||||
file = "sound/sfx_die.wav"
|
||||
}
|
||||
}
|
||||
ok
|
||||
}
|
||||
}
|
||||
Sound {
|
||||
once = true
|
||||
file = "sound/sfx_hit.wav"
|
||||
}
|
||||
}
|
||||
ok
|
||||
ok
|
||||
}
|
||||
}
|
||||
|
||||
animate {
|
||||
file = "images/fbbird.png"
|
||||
x = 10
|
||||
y = 10
|
||||
framewidth = 20
|
||||
scaled = true
|
||||
height = 50
|
||||
width = 50
|
||||
nStep = 3
|
||||
transparent = true
|
||||
state = func oGame,oSelf {
|
||||
oSelf {
|
||||
nStep--
|
||||
if nStep = 0
|
||||
nStep = 3
|
||||
if frame < 3
|
||||
frame++
|
||||
else
|
||||
frame=1
|
||||
ok
|
||||
ok
|
||||
}
|
||||
|
||||
if not oGameState.playerwin
|
||||
oGameState.down --
|
||||
if oGameState.down = 0
|
||||
oGameState.down = 3
|
||||
oself {
|
||||
y += 25
|
||||
if y > 550 y=550 ok
|
||||
}
|
||||
ok
|
||||
ok
|
||||
|
||||
}
|
||||
keypress = func ogame,oself,nKey {
|
||||
if oGameState.gameresult = false
|
||||
oself {
|
||||
if nkey = key_space
|
||||
y -= 55
|
||||
oGameState.down = 60
|
||||
if y<=0 y=0 ok
|
||||
ok
|
||||
}
|
||||
ok
|
||||
}
|
||||
mouse = func ogame,oself,nType,aMouseList {
|
||||
if nType = GE_MOUSE_UP
|
||||
call oself.keypress(oGame,oSelf,Key_Space)
|
||||
ok
|
||||
}
|
||||
}
|
||||
|
||||
text {
|
||||
animate = false
|
||||
point = 400
|
||||
size = 30
|
||||
file = "fonts/pirulen.ttf"
|
||||
text = "Score : " + oGameState.score
|
||||
x = 500 y=10
|
||||
state = func oGame,oSelf {
|
||||
oSelf { text = "Score : " + oGameState.score }
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func newmap aMap
|
||||
aV = [
|
||||
[1,1,3,0,0,2,1,1],
|
||||
[1,3,0,0,0,2,1,1],
|
||||
[1,1,1,3,0,2,1,1],
|
||||
[1,1,1,3,0,0,0,0],
|
||||
[0,0,0,0,2,1,1,1],
|
||||
[0,0,2,1,1,1,1,1],
|
||||
[0,0,0,2,1,1,1,1],
|
||||
[1,1,1,3,0,2,1,1],
|
||||
[1,1,1,1,1,3,0,0],
|
||||
[3,0,0,2,1,1,1,1],
|
||||
[3,0,0,2,3,0,0,2]
|
||||
]
|
||||
for x = 10 to 24 step 4
|
||||
aVar = aV[ (random(10)+1) ]
|
||||
for y = 1 to 8
|
||||
aMap[y][x] = aVar[y]
|
||||
next
|
||||
next
|
||||
|
||||
func checkwin ogame
|
||||
if oGameState.score = 3000
|
||||
oGameState.gameresult = true
|
||||
oGameState.playerwin = true
|
||||
oGame {
|
||||
text {
|
||||
point = 400
|
||||
size = 30
|
||||
nStep = 3
|
||||
file = "fonts/pirulen.ttf"
|
||||
text = "You Win !!!"
|
||||
x = 500 y=10
|
||||
state = func ogame,oself {
|
||||
if oself.y >= 400
|
||||
ogame.shutdown = true
|
||||
oGameState.Score = 0
|
||||
ok
|
||||
}
|
||||
}
|
||||
}
|
||||
ok
|
||||
|
||||
Class GameState
|
||||
down = 3
|
||||
gameresult = false
|
||||
Score = 0
|
||||
startplay=false
|
||||
lastcol = 0
|
||||
playerwin = false
|
||||
Reference in New Issue
Block a user