2048: Difference between revisions
→{{header|Ring}}
Line 6,431:
y1 = 0
y2 = 0
nScore = 0
button = newlist(size,size)
buttonsave = newlist(size,size)
LayoutButtonRow = list(size+2)
moveleft = []
moveright = []
Line 6,445 ⟶ 6,448:
win = new qWidget() {
setWindowTitle('2048 Game')
setgeometry(100,100,800,600)
setminimumwidth(300)
setminimumheight(300)
grabkeyboard()
setstylesheet('background-color:white')
move(490,100)
for n = 1 to size
Line 6,453 ⟶ 6,459:
next
next
myfilter3 = new qAllEvents(win) {
setMouseButtonPressEvent("pPress()")
setMouseButtonReleaseEvent("pRelease()")}
installeventfilter(myfilter3)
installeventfilter(myfilter2)
winwidth = win.width()
winheight = win.height()
for n = 1 to size + 2
LayoutButtonRow[n] = new QHBoxLayout() {
setSpacing(3) }
next
for n = 1 to size
for m = 1 to size
button[n][m] { temp = text() }
buttonsave[n][m] = temp
buttonsave[n][m] = temp
fontsize = 10 + (winheight/25)
fontsize2 = 10 + (winheight/50)
button[n][m] = new MyButton(win) {
setFont(new qFont("Verdana",fontsize,100,0))
setalignment(Qt_AlignHCenter | Qt_AlignVCenter)
setstylesheet('background-color:orange')
show()
}
next
next
for n = 1 to size
for m = 1 to size
LayoutButtonRow[n].AddWidget(button[m][n])
win.show()
temp = buttonsave[n][m]
button[n][m].settext(temp)
next
next
playerscore.close()
playerscore {
setGeometry(0,4*floor(winheight/6),winwidth,floor(winheight/6))
setFont(new qFont("Verdana",fontsize2,100,0))
setalignment(Qt_AlignHCenter | Qt_AlignVCenter)
settext('Play Score: ' + nScore)
show()
}
newgame.close()
newgame {
setGeometry(0,5*floor(winheight/6),winwidth,floor(winheight/6))
setFont(new qFont("Verdana",fontsize2,100,0))
setalignment(Qt_AlignHCenter | Qt_AlignVCenter)
setstylesheet('background-color:violet')
settext('New Game')
myfilter4 = new qallevents(newgame)
myfilter4.setMouseButtonPressEvent("pbegin()")
installeventfilter(myfilter4)
show()
}
LayoutButtonRow[size+1].AddWidget(playerscore)
LayoutButtonRow[size+2].AddWidget(newgame)
LayoutButtonMain = new QVBoxLayout() {
setSpacing(3)
for n = 1 to size+2
AddLayout(LayoutButtonRow[n])
win.show()
next }
win.setLayout(LayoutButtonMain)
win.show()
pbegin()
show()
}
exec()
Line 6,481 ⟶ 6,543:
xx1 = floor(x1/floor(winwidth/4)) - 2
xx2 = floor(x2/floor(winwidth/4)) - 2
yy1 = floor(y1/floor(winheight/
yy2 = floor(y2/floor(winheight/
bool = (yy1 <= size) and (yy2 <= size)
if (yy1 = yy2) and (xx2 < xx1) and bool
Line 6,496 ⟶ 6,558:
pdown()
ok
func keypress()
Line 6,590 ⟶ 6,580:
button[rn][rm].settext('2')
next
playerscore.settext('Play Score: ')
func pdown()
sleep(0.5)
num = gameover()
if num = size*size
Line 6,605 ⟶ 6,597:
func pup()
sleep(0.5)
num = gameover()
if num = size*size
Line 6,617 ⟶ 6,610:
func pleft()
sleep(0.5)
num = gameover()
if num = size*size
Line 6,629 ⟶ 6,623:
func pright()
sleep(0.5)
num = gameover()
if num = size*size
Line 6,659 ⟶ 6,654:
if (temp1 = temp2) and (temp1 != '0') and (temp2 != '0') and (temp1 != '') and (temp2 != '')
if temp != '0' and temp != ''
nScore = nScore + temp
playerscore.settext('Play Score: ' + nScore)
flag = 1
moveleft[p] = temp
del(moveleft,p+1)
Line 6,696 ⟶ 6,694:
temp = string(number(temp1) + number(temp2))
if temp != '0' and temp != ''
nScore = nScore + temp
playerscore.settext('Play Score: ' + nScore)
flag = 1
moveright[p] = temp
del(moveright,p-1)
ok
ok
Line 6,736 ⟶ 6,733:
temp = string(number(temp1) + number(temp2))
if temp != '0' and temp != ''
nScore = nScore + temp
playerscore.settext('Play Score: ' + nScore)
flag = 1
moveup[p] = temp
Line 6,773 ⟶ 6,772:
temp = string(number(temp1) + number(temp2))
if temp != '0' and temp != ''
nScore = nScore + temp
playerscore.settext('Play Score: ' + nScore)
flag = 1
movedown[p] = temp
|