• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pomoc w dokończeniu skryptu lua

Object Storage Arubacloud
0 głosów
305 wizyt
pytanie zadane 14 marca 2018 w Inne języki przez kwint Nowicjusz (150 p.)

Potrzebuje na zadanie do szkoły zrobić grę, w której postacią zbiera się spadające obiekty, na których jest określona liczba. Jest ona wynikiem losowego działania jakiegos mnożenia. Za poprawny wynik zdobywa się punkt. Mi nalicza tylko punkt za zdobyty obiekt.
Czy może ktos ogarnąć kod bo gra działa ale tylko liczy punkt a nie działa mi mnożenie. Z góry dziękuję.


display.setStatusBar(display.HiddenStatusBar)
local cWidth = display.contentCenterX
local cHeight = display.contentCenterY

local physics = require("physics")
physics.start()
physics.setGravity( 0,0)

local enemies = display.newGroup()

-- parametry startowe
local gameActive = true
local bagMoveX = 0
local bag 
local speed = 10 
local numseaobject = 0
local seaobjectArray = {}
local onCollision
local score = 0
local multiplication = 20
local object
local objectActive = true

-- funckje globalne
local removeSeaobject
local createGame
local createseaobject
local createbag
local setobjectOn
local next_number




	-- ustawienie tła
	local background = display.newImage("tlo.jpg")
	background.x = cWidth
	background.y = cHeight
	
	-- ustawienie punktów 
	textBullets = display.newText ("Mnożenie:  "..multiplication, 120, 30, nil, 30)
	textScore = display.newText("Punkty:  "..score, 630, 30, nil, 30)

	-- strzałki poruszania się
	local leftArrow = display.newImage("left.png")
	leftArrow.x = 300
	leftArrow.y = display.contentHeight - 30
	local rightArrow = display.newImage("right.png")
	rightArrow.x = 400
	rightArrow.y =display.contentHeight -30
	
	local function stopbag(event)
		if event.phase == "ended" then
			bagMoveX = 0 
		end
	end
	

	local function movebag(event)
		bag.x = bag.x + bagMoveX
	end
	

	function leftArrowtouch()
		bagMoveX = - speed
	end
	

	function rightArrowtouch()
		bagMoveX = speed
	end
	
	
	local function createWalls(event)	
		if bag.x < 0 then
			bag.x = 0
		end
		if bag.x > display.contentWidth then
			bag.x = display.contentWidth
		end
	end
	
function createbag()
	bag = display.newImage ("bag.png")
	physics.addBody(bag, "static", {density = 1, friction = 0, bounce = 0});
	bag.x = cWidth
	bag.y = display.contentHeight - 120
	bag.myName = "bag"
end


function next_number()
  return math.random(1, 9)
end
 
    local a = math.random(1, 9)
    local b = math.random(1, 9)
    local result = a * b
 
print(string.format("%d * %d = %d", a, b, result))



function createseaobject()
	numseaobject = numseaobject +1 

	print(numseaobject)
			enemies:toFront()
			seaobjectArray[numseaobject]  = display.newImage("seaobject.png")
			physics.addBody ( seaobjectArray[numseaobject] , {density=0.5, friction=0, bounce=0})
			seaobjectArray[numseaobject] .myName = "seaobject" 
			startlocationX = math.random (0, display.contentWidth)
			seaobjectArray[numseaobject] .x = startlocationX
			startlocationY = math.random (-500, -100)
			seaobjectArray[numseaobject] .y = startlocationY
		
			transition.to ( seaobjectArray[numseaobject] , { time = math.random (12000, 20000), x= math.random (0, display.contentWidth ), y=bag.y+500 } )
			enemies:insert(seaobjectArray[numseaobject] )
end


function onCollision(event)
	if(event.object1.myName =="bag" and event.object2.myName =="seaobject") then	
			
			
			score = score + 1
			textScore.text = "Punkty:  "..score
			removeSeaobject()
			
	end	

end

function removeSeaobject()
	for i =1, #seaobjectArray do
		if (seaobjectArray[i].myName ~= nil) then
		seaobjectArray[i]:removeSelf()
		seaobjectArray[i].myName = nil
		end
	end
end




function setobjectOn()
		objectActive = true
end

function objectStatus()
	
	if gameActive then
		createseaobject()
		if objectActive then
			if (multiplication == 0) then
		 	createobject()
		 	objectActive = false 	
			end
			if (multiplication == 1) then
		 	createobject()
		 	objectActive = false 	
			end
			if (multiplication == 2) then
		 	createobject()
		 	objectActive = false 	
			end
			if (multiplication == 4) then
		 	createobject()
		 	objectActive = false 	
			end
		end
	end

	
end

function startGame()
createbag()

rightArrow:addEventListener ("touch", rightArrowtouch)
leftArrow:addEventListener("touch", leftArrowtouch)
Runtime:addEventListener("enterFrame", createWalls)
Runtime:addEventListener("enterFrame", movebag)
Runtime:addEventListener("touch", stopbag)
Runtime:addEventListener("collision" , onCollision)

timer.performWithDelay(5000, objectStatus,0)
timer.performWithDelay ( 5000, setobjectOn, 0 )
timer.performWithDelay(300, checkforProgress,0)

end

startGame()

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

–1 głos
0 odpowiedzi 284 wizyt
0 głosów
3 odpowiedzi 1,084 wizyt
pytanie zadane 6 sierpnia 2020 w Inne języki przez Meloshke Nowicjusz (130 p.)
0 głosów
0 odpowiedzi 164 wizyt
pytanie zadane 18 sierpnia 2020 w Ogłoszenia, zlecenia przez Cisek Nowicjusz (120 p.)

92,556 zapytań

141,404 odpowiedzi

319,563 komentarzy

61,942 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...