0
点赞
收藏
分享

微信扫一扫

自制语言——Timi

q松_松q 2022-03-21 阅读 63
windows

这是我的第一篇博客,只贴代码,不讲如何实现。

#作者:初彦宏
#timi实现贪吃蛇
#打包后会变成python文件
load game in timi
load locals in game
load camera
load gui
$gui1 = gui[msgbox 欢迎游玩贪吃蛇!]
gui[title $gui1 贪吃蛇]
gui[button $gui1 开始]
$answer = gui[show $gui1 ]
{ if $answer == none :
exit
}
$choose = box[简单,普通,中等,困难,地狱]
$gui2 = gui[buttonbox 请选择难度: $choose]
title $gui2 贪吃蛇
$answer = gui[show $gui2]
{ if $answer == 简单 :
$speed = 6
}
{ elif $answer == 普通 :
$speed = 9
}
{ elif $answer == 中等 :
$speed = 12
}
{ elif $answer == 困难 :
$speed = 15
}
{ elif $answer == 地狱 :
$speed = 50
}
{ else :
exit
}
$window = screen
size $window 640,480
color $window white
title $window 贪吃蛇
$pos = box[100,100]
$body = box[box[100, 100],box[80, 100],box[60, 100]]#每一个box代表蛇身体矩形的左上角坐标#
$food = box[300,300]
$if_food = true
$derection = right
$change_derection = $derection
{ loop all :
clock $speed
show $window
$key = event key
{ if $key == locals[key_d]
$change_derection = right
}
{ if $key == locals[key_a]
$change_derection = left
}
{ if $key == locals[key_w]
$change_derection = up
}
{ if $key == locals[key_s]
$change_derection = down
}
{ if $change_derection == left and not $derection == right :
derection = change_derection
}
{ if $change_derection == right and not $derection == left :
derection = change_derection
}
{ if $change_derection == up and not $derection == down :
derection = change_derection
}
{ if $change_derection == down and not $derection == up :
derection = change_derection
}
{ if derection == left :
location $pos 1 -= 20
}
{ if derection == right :
location $pos 1 += 20
}
{ if derection == up :
location $pos 2 -= 20
}
{ if derection == down :
location $pos 2 += 20
}
insert $body 1 $pos
$posx = location $pos 1
$posy = location $pos 2
$foodx = location $food 1
$foody = location $food 2
{ if $posx == $foodx and $posy == $foody :
$if_food = false
}
{ else :
$len = len $body
remove $body $len
}
{ if $if_food == false :
$random1 = ?1,31
$random2 = ?1,23
$food = box[ $random1 *20, $random2 *20]
$if_food = true
}
$v = 1
$len = len $body
{ loop $len :
$block = location $body $v
$rect1 = rectangle $block 20,20
$rect2 = rectangle $food 20,20
$rgb1 = camera[rgb 255,144,20]
$rgb2 = camera[rgb 255,34,20]
color $rect1 $rgb1
color $rect2 $rgb2
draw $window $rect1
draw $window $rect2
$v += 1
}
{ if $posx < 0 or $posx > 620 :
quit $window
exit
}
{ if $posy < 0 or $posy > 460 :
quit $window
exit
}
}
举报

相关推荐

0 条评论