[Link] = "2.
0"
zahlenn = [Link]("zahlen")
lang = 1
spielen = {"PLAY","SPIELEN","JOUER","玩耍"}
sp2 = {"< PLAY >","< SPIELEN >","< JOUER >","< 玩耍 >"}
wort = {"BINGO","BINGO","BINGO","宾果"}
gez = {"RANDOM NUMBER","GEZOGENE ZAHL:","NOMBRE TIRÉ :","图示:"}
text1 = {"You needed ","Du hast ","Il t'a fallu ","你有"}
text2 = {" tries "," Versuche "," essais ","审判"}
text3 = {" for BINGO."," für BINGO benötigt."," pour le BINGO.","需要的宾果。"}
function [Link]()
play = 0
sel = 1
-- Spielkarte erstellen
card = {}
called_numbers = {}
for i = 1, 5 do
card[i] = {}
for j = 1, 5 do
number = [Link](15) + (5 * (i - 1))
while called_numbers[number] do
number = [Link](15) + (5 * (i - 1))
end
called_numbers[number] = true
card[i][j] = number
----------------------------------------------
end
end
-- Spielablauf
called_numbers = {}
random_number = ""
size = 30
anz_num = 0
w = [Link]:width()
bingo = false
record = false
end
[Link]()
function [Link](gc)
if play == 1 then
gc:setFont("sansserif", "b", 16)
gc:drawString("BINGO",w/2-gc:getStringWidth("BINGO")/2,30)
gc:setFont("sansserif", "r", 12)
for i = 1, 5 do
for j = 1,5 do
gc:drawRect(12,40,(j*size),(i*size))
gc:drawString(card[i][j],-10 + (j*size),33 + (i*size))
end
end
for i = 1, 5 do
for j = 1,5 do
if card[i][j] == "X" then
gc:setColorRGB(0,0,255)
gc:drawRect(12 + ((j-1)*size) ,40 + ((i-1)*size) ,size,size)
gc:drawRect(12 + 2 + ((j-1)*size) ,40 + 2 + ((i-1)*size) ,size-
4,size-4)
gc:setColorRGB(0,0,0)
end
end
end
gc:drawRect(168,41,148,20)
gc:drawString(gez[lang],170,60)
gc:drawRect(220,70,30,30)
if random_number == "" then
gc:drawString("",226,94)
else
gc:drawString(random_number,226,94)
end
if bingo then
gc:setColorRGB(255,0,0)
gc:setFont("sansserif", "b", 16)
gc:drawString("!!!BINGO!!!",182,158)
gc:setColorRGB(0,0,0)
gc:setFont("sansserif", "r", 11)
gc:drawString(text1[lang]..anz_num..text2[lang],175,180)
gc:drawString(text3[lang],175,200)
gc:setFont("sansserif", "r", 12)
if record then
gc:drawString("Neuer Rekord!!!",180,130)
end
end
elseif play == 0 then
gc:setFont("sansserif", "b", 16)
gc:drawString(wort[lang],w/2-gc:getStringWidth(wort[lang])/2,30)
gc:setFont("sansserif", "b", 12)
if sel == 1 then
gc:drawString(sp2[lang],w/2-gc:getStringWidth(sp2[lang])/2,70)
elseif sel == 2 then
gc:drawString(spielen[lang],w/2-gc:getStringWidth(spielen[lang])/2,70)
end
gc:setFont("sansserif", "b", 12)
gc:drawString("Language | Sprache | Langue | 语言",w/2-
gc:getStringWidth("Language | Sprache | Langue | 语言")/2,115)
if sel == 2 then
if lang == 1 then
gc:drawString("< ENGLISH >",w/2-gc:getStringWidth("< ENGLISH
>")/2,170)
elseif lang == 2 then
gc:drawString("< DEUTSCH >",w/2-gc:getStringWidth("< DEUTSCH
>")/2,170)
elseif lang == 3 then
gc:drawString("< FRANÇAIS >",w/2-gc:getStringWidth("< FRANÇAIS
>")/2,170)
elseif lang == 4 then
gc:drawString("< 中文 >",w/2-gc:getStringWidth("< 中文 >")/2,170)
end
elseif sel == 1 then
if lang == 1 then
gc:drawString("ENGLISH",w/2-gc:getStringWidth("ENGLISH")/2,170)
elseif lang == 2 then
gc:drawString("DEUTSCH",w/2-gc:getStringWidth("DEUTSCH")/2,170)
elseif lang == 3 then
gc:drawString("FRANÇAIS",w/2-gc:getStringWidth("FRANÇAIS")/2,170)
elseif lang == 4 then
gc:drawString("中文",w/2-gc:getStringWidth("中文")/2,170)
end
end
end
end
function [Link]()
if play == 1 then
if bingo == false then
anz_num = anz_num + 1
random_number = [Link](75)
while called_numbers[random_number] do
random_number = [Link](75)
end
called_numbers[random_number] = true
check()
end
elseif play == 0 then
if sel == 1 then
play = 1
end
end
end
function check()
if anz_num < 1000 then
-- Überprüfen, ob die Zahl auf der Karte vorhanden ist
for i = 1, 5 do
for j = 1, 5 do
if card[i][j] == random_number then
card[i][j] = "X"
end
end
end
-- Überprüfen, ob Bingo
for i = 1, 5 do
if card[i][1] == "X" and card[i][2] == "X" and card[i][3] == "X" and
card[i][4] == "X" and card[i][5] == "X" then
bingo = true
if anz_num < zahlenn[55] then
record = true
zahlenn[55] = anz_num
[Link]("zahlen",zahlenn)
end
return
end
end
for i = 1, 5 do
if card[1][i] == "X" and card[2][i] == "X" and card[3][i] == "X" and
card[4][i] == "X" and card[5][i] == "X" then
bingo = true
if anz_num < zahlenn[55] then
record = true
zahlenn[55] = anz_num
[Link]("zahlen",zahlenn)
end
return
end
end
if card[1][1] == "X" and card[2][2] == "X" and card[3][3] == "X" and
card[4][4] == "X" and card[5][5] == "X" then
bingo = true
if anz_num < zahlenn[55] then
record = true
zahlenn[55] = anz_num
[Link]("zahlen",zahlenn)
end
return
end
if card[1][5] == "X" and card[2][4] == "X" and card[3][3] == "X" and
card[4][2] == "X" and card[5][1] == "X" then
bingo = true
if anz_num < zahlenn[55] then
record = true
zahlenn[55] = anz_num
[Link]("zahlen",zahlenn)
end
return
end
end
end
function [Link]()
if play == 0 then
if sel == 2 then
lang = lang - 1
if lang == 0 then
lang = 4
end
end
end
end
function [Link]()
if play == 0 then
if sel == 2 then
lang = lang + 1
if lang == 5 then
lang = 1
end
end
end
end
function [Link]()
sel = 2
end
function [Link]()
sel = 1
end