엄격한 마감 시한을 감안할 때, 나는 이것이 당신을 얻기 위해 몇 가지 기본적인 도움을 주었기 때문에 이것이 무엇인가 숙제라고 생각합니다. 두 코드를 하나의 파일로 결합했습니다. 나는 코드가 컴파일 될 수 있도록 하나의 구문 수정을했다 (`ask turtles '를 추가).
논리를 수정하려고 시도하지 않았습니다. 게임을 시작하기 전에 (예 : 경기 필드를 그리는) 어떤 일이 일어나는지 생각하고 설정 절차에 들어가야합니다. 또한 각 진드기 (아마도 새를 움직이고, 점수를 업데이트하는 등) 중에 무슨 일이 일어나는지 생각해보고, 'tick'명령과 함께 이동 절차 (in go procedure)에 넣었다.
globals [jump? score]
patches-own [num oldcolor]
to setup
clear-all
create-ordered-turtles 1 ; not sure why ordered since only 1 of them
ask turtles [ ; don't need separate ask, create runs anything in [ ]
setxy -10 0
set size 5
set shape "bird-norm"
]
ask patches [
set num 0
if pycor = -16 [set pcolor green]
]
end
to go ; this should have the tick or it will only run once
ask turtles [
set shape "bird-fall"
set heading 180
fd 1
wait 0.1
if mouse-down? and not jump? [flap]
set jump? mouse-down?
if (pycor = -14) or (pcolor = white) [
ask patch 0 0 [
set plabel "Game Over"
]
stop
]
]
end
to move ; this has the tick command
reset-ticks
wait 0.1
ask patches [
set oldcolor pcolor
]
ask patches with [pxcor < max-pxcor] [
set pcolor [oldcolor] of patch (pxcor + 1) pycor
]
tick
end
to line
reset-ticks
let x (random 20 - 6)
ask patches [
if ((pxcor > 10) and (pxcor < 15)) and ((pycor > -16) and ((pycor < x) and (pycor > (x - 5)))) [
set pcolor white
]
if pxcor = 14 [
set num num + 1
]
]
end
to pipe
repeat 10 [move]
line
end
to flap
set heading 0
set shape "bird-norm"
repeat 5 [
fd 1
wait 0.01]
end
감사합니다. 코드를 실행하고 "go"와 "pipe"가있는 버튼을 만듭니다. 그러나 파이프가 잘 작동합니다. 새는 정확한 속도로 움직이지 않습니다. 나는 Flappy Bird 게임을 바꾸기로 결정했습니다. - 흰색 사각형은 새가 통과해야하는 것이므로 파이프 문제를 해결합니다. 두 번째 단락에 대해, 이것은 하나의 흰색 사각형을 만들고 난 다음 파이프 절차를 호출하는 것을 의미합니까? * 예, 이것이 중요한 숙제입니다. 나는 모든것이 다운 된 줄 알았지 만 코딩을 시작했을 때 생각보다 훨씬 어려웠다. – bttcd5
두 번째 파라는 디자인을 통해 생각하고있었습니다. NetLogo는 해당 절차를 호출하는 버튼을 누르거나 명령 센터에서 이름을 입력하면 절차를 실행합니다. 이 절차는 버튼을 사용하고 영원히 체크 표시를하지 않고 절차에서 틱 명령을 사용하지 않는 한 한 번 실행됩니다. 필요한 절차가 무엇인지, 단추인지, 다른 절차에 의해 호출되는지 여부, 일회성인지 여부 또는 실행 중인지 여부, 단추 및 진드기를 적절하게 구성해야합니다. 일반적으로 구체적인 답변을 얻으려면 구체적인 질문을해야합니다. – JenB