Spel35:Binär Grafisk Representation

bitbybitVi programmerar en app som tränar räkning av antal med hjälp av binär grafisk representation, som kan användas innan för symbolerna de vanliga heltalen är bekanta, dvs från 2 år.

Nästa uppgift är att programmera en app för addition, subtraktion och multiplikation av binära tal med grafisk representation, som kan också användas från 2 år.

Vitsen med den grafiska representationen med olika antal prickar är att symbolen i sig har ett direkt avläsbart informationsvärde, och därför inte som de vanliga siffrorna som måste pluggas in.

Titta på ett ex här. Jämför med Counting på App Store.

Template:
function setup()

supportedOrientations(LANDSCAPE_ANY)
print(“Binär grafisk representation”)
bitimage = {}
bitsize = {}
objectimage={}
bitimage[1] =readImage(“Dropbox:1bit”)
bitimage[2] =readImage(“Dropbox:2bit”)
bitimage[3] =readImage(“Dropbox:4bit”)
bitimage[4] =readImage(“Dropbox:8bit”)
bitimage[5] =readImage(“Dropbox:16bit”)
bitsize[1] =50
bitsize[2] =75
bitsize[3] =50
bitsize[4] =100
bitsize[5] =100
objectimage[1] =readImage(“Dropbox:angrybirdspig”)
objectimage[2] =readImage(“Dropbox:angrybird”)
objectimage[3] =readImage(“Planet Cute:Character Cat Girl”)
objectimage[4] =readImage(“Dropbox:Otto”)
objectimage[5] =readImage(“Planet Cute:Character Boy”)
objectimage[6] =readImage(“Tyrian Remastered:Blimp Boss”)
I=5
N=1
J=math.random(1,15)
J=15
object=math.random(1,6)
J1={}
for n=1,N do
J1[n]=0
end
j1={}
number={}
for n=1,N do
j1[n]={}
end
for n=1,N do
for i=1,I do
j1[n][i]=0
end
end
bitpos ={}
objectpos={}
for n=1,N do
bitpos[n] ={}
for i=1,I do
bitpos[n][i]={}
objectpos[n]={}
number[n]={}
end
end

for n=1,N do
for j=1,J do
objectpos[n][j]=vec2(math.random(100,300),math.random(300,800))
for i=1,I do
number[n][i]=0
bitpos[n][i][j]= vec2(1000,-100)
end
end
end

n1=1
counted={}
for j=1,J do
counted[j]=1
end

end

function draw()
background(40, 40, 50)

for j=1,J do
sprite(objectimage[object],objectpos[n1][j].x,objectpos[n1][j].y,counted[j]*math.random(-10,10)+50)
end

finger=vec2(CurrentTouch.x,CurrentTouch.y)

for j=1,J do
d=(objectpos[n1][j]-finger):len()
if d<20 then
J1[n1]=J1[n1]+1
objectpos[n1][j]=vec2(50,0)+objectpos[n1][j]
counted[j]=0
bitpos[n1][1][J1[n1]]=vec2(600,100*n1+100*J1[n1])
sound(“Game Sounds One:Dropzone”)
end
end

for i=1,I do
for j=2,J do
d=(bitpos[n1][i][j]-finger):len()
if d<10 then
— j1[n1][i]=j1[n1][i]+1
bitpos[n1][i][j]=vec2(1000,-100)
bitpos[n1][i][j-1]=vec2(1000,-100)
j1[n1][i+1]=j1[n1][i+1]+1
bitpos[n1][i+1][j1[n1][i+1]]=vec2(600-100*i,100*n1+100*j1[n1][i+1])
sound(“Game Sounds One:Assembly 5”)
end
end
end

for i=1,I do
for j=2,J do
if bitpos[n1][i][j].y>100 then
if bitpos[n1][i][j].y>bitpos[n1][i][j-1].y+50 then
bitpos[n1][i][j].y=bitpos[n1][i][j].y-2
end
end
end
end

for n=1,N do
for i=1,I do
for j=1,J do
sprite(bitimage[i],bitpos[n][i][j].x,bitpos[n][i][j].y,bitsize[i])
end
end
end

for n=1,n1 do
for i=1,I do
number[n][i]=0
for j=1,J do
if bitpos[n1][i][j].y>0 then
number[n][i]=1
end
end
end
end

for n=1,n1 do
for i=1,I do
fontSize(50)
font(“AmericanTypewriter-Bold”)
fill(255, 3, 0, 255)
— print(number[n][i])
text(number[n][i],700-100*i,50+100*n)
end
end

end

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s