找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 11106|回复: 17

经典游戏再现——贪吃蛇完美复刻

  [复制链接]
发表于 2016-8-16 17:22:42 | 显示全部楼层 |阅读模式
本帖最后由 “” 于 2016-8-23 16:45 编辑

经典游戏再现——贪吃蛇完美复刻
     


  回想10多年前,NOKIA功能机盛行的时候,贪吃蛇是最最经典的游戏了。  
  说起游戏再现,怎么能少了它呢?
  
  记得前几年论坛发过类似的游戏,在群内也讨论过这个项目,本次借着坛主发起的活动,将这个游戏完美复刻出来。
  同时也向NOKIA致敬

  为什么说是“完美”,因为程序高度还原了NOKIA上的运行模式,与以前的程序相比有以下几个特点:

  • 蛇身运行流畅,细腻,能看到移动的过程(并非一格一格地往前跳)
  • 能识别墙和身体,当撞到墙或者咬到身体即输。
  • 蛇身与蛇身之间保留一定空隙,能方便识别蛇的运动方向。
  • 多种操作模式,可以用EV3上的按键或者电机转动方向控制。
  • 可以存储多条转弯指令,蛇能按顺序完成转弯。

  
  具体说明如下:
  设备:EV3 1台(如需要可以增配大型电机)

  编程语言:Small Basic

  操作流程:
  • 选择游戏难度:1-7,分别对应不同的运行速度,按键或者旋转电机调整,确定键进入游戏。
  • Ev3程序块上的上下左右按键使蛇作出相应的转弯动作。(当向左移动时屏蔽向右动作,以此类推)
  • 如果使用大电机,请将数据线连接至D端口,逆时针转动使蛇左转,顺时针转动使蛇右转。(如果需要连续左转2次,需要在中间让电机停止)
  • 如果吃到果子,身体长增加1格,分数增加(增加幅度由难度等级决定)。
  • 如果撞到墙或者咬到身体,那么就输了,显示分数,按确定可以重新开始游戏。如需要选择难度,请退出后再运行程序。
  • 游戏界面长25格,宽16格,一共400格,去掉初始状态4格长度,当吃下396个果子时,即为获胜,期待你的拿到最高分(396*7=2772)。

   视频:
   
如何使用附件:   
注意:rbf文件只能在EV3的文件夹中才能被识别。因此下载的时候一定要下载到文件夹内。
步骤:
解压下载文件
打开EV3g软件
连接Ev3
随意下载一个程序(目的是为了产生一个文件夹,如果Ev3内已有存放此游戏的文件夹,可跳过此步)
点击程序块信息
打开内存浏览器
选择要存放的文件夹目录
点击下载
在对话框内选择此游戏文件
完成,可以在EV3中玩了

snake.rar

2.74 KB, 下载次数: 343

贪吃蛇EV3运行文件

如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
 楼主| 发表于 2016-8-16 17:23:28 | 显示全部楼层
本帖最后由 “” 于 2016-8-28 20:02 编辑
  1. show=0
  2. '变量设定
  3. Leave=1
  4. score=0
  5. LastClick=""
  6. CurrentClick=""
  7. CurrentDir=0
  8. LastMoto=0
  9. CurrentMoto=0
  10. ClickTime=0
  11. Gameover=0
  12. EatingApple=0
  13. SquareApple=0
  14. MoveDir=0'1右 -1左 -SquareWidth上 SquareWidth下
  15. MoveStep=0
  16. TailDir=0
  17. LastTime=0

  18. '游戏界面的宽和高(设计好界面后确定)
  19. SquareWidth=25
  20. SquareHeight=16
  21. SnakeMax=SquareWidth*SquareHeight


  22. DrawX=0
  23. DrawY=0


  24. SnakeHead=0
  25. SnakeTail=0
  26. SnakeLength=0
  27. For i=0 to SnakeMax step 1
  28.         Square[i]=0
  29. EndFor

  30. for i=0 to 9 step 1
  31.         Dirs[i]=0
  32. EndFor
  33. DirsAt=0


  34. '进入游戏
  35. LCD.Clear ()
  36. Motor.ResetCount ("D")
  37. '选择难度leave1——leave7
  38. While CurrentClick  <> "E"
  39.   '屏幕按键选择难度
  40.         CurrentClick=Buttons.Current
  41.         if CurrentClick  = LastClick then
  42.                 ClickTime=ClickTime+1
  43.         else
  44.                 ClickTime=0
  45.                 LeaveChange()
  46.                 LastClick=CurrentClick
  47.         endif
  48.         
  49.         if ClickTime >=300 then
  50.                 ClickTime=0
  51.                 LeaveChange()
  52.         endif
  53.         
  54.         '电机旋转选择难度
  55.         if CurrentClick  = "" then
  56.                 CurrentMoto=Motor.GetSpeed ("D")
  57.                 if CurrentMoto <0 then
  58.                         CurrentMoto=-1
  59.                 elseif CurrentMoto >0 then
  60.                         CurrentMoto=1
  61.                 else
  62.                         CurrentMoto=0
  63.                 endif
  64.                
  65.                 if CurrentMoto <> LastMoto and CurrentMoto <> 0 then
  66.                         MotorBeginCount=Motor.GetCount ("D")
  67.                         Leave=Leave-CurrentMoto
  68.                 elseif CurrentMoto = LastMoto then
  69.                         if Motor.GetCount ("D")-MotorBeginCount>20 then
  70.                                 Leave=Leave-1
  71.                                 MotorBeginCount=Motor.GetCount ("D")
  72.                         elseif Motor.GetCount ("D")-MotorBeginCount<-20 then
  73.                                 Leave=Leave+1
  74.                                 MotorBeginCount=Motor.GetCount ("D")
  75.                         endif
  76.                         
  77.                         if Leave < 1 then
  78.                                  Leave = 1
  79.                         elseif Leave > 7 then
  80.                                  Leave = 7
  81.                         endif
  82.                         
  83.                         LCD.Text (1, 28, 80, 2,"Leave "+Leave)
  84.                 endif
  85.                 LastMoto=CurrentMoto
  86.         endif
  87.         
  88.         Program.Delay (1)
  89. Endwhile


  90. '游戏
  91. while 0<1
  92. '游戏初始化
  93.         Initialization()
  94.         Gameover=0
  95.         
  96.         
  97. '游戏过程
  98.         while GameOver=0
  99.         LastTime=EV3.Time
  100.         '动作检测
  101.         
  102.         
  103.         '屏幕按键检测
  104.         if  DirsAt = 0 then
  105.                 CurrentClick=Buttons.Current
  106.                 if CurrentClick="R" then
  107.                         CurrentDir=1
  108.                 elseif CurrentClick="L" then
  109.                         CurrentDir=-1
  110.                 elseif CurrentClick="U" then
  111.                         CurrentDir=0-SquareWidth
  112.                 elseif CurrentClick="D" then
  113.                         CurrentDir=SquareWidth
  114.                 else
  115.                         CurrentDir=0
  116.                 endif
  117.                 if CurrentDir <> MoveDir and CurrentDir + MoveDir <> 0  and CurrentDir <> 0 then
  118.                         Dirs[DirsAt]=CurrentDir
  119.                         DirsAt=DirsAt+1
  120.                 endif
  121.                 LastClick = CurrentClick
  122.         elseif DirsAt < 9 then
  123.                 CurrentClick=Buttons.Current
  124.                 if CurrentClick <> LastClick and CurrentClick <> "" then
  125.                         if CurrentClick="R" then
  126.                                 CurrentDir=1
  127.                         elseif CurrentClick="L" then
  128.                                 CurrentDir=-1
  129.                         elseif CurrentClick="U" then
  130.                                 CurrentDir=0-SquareWidth
  131.                         elseif CurrentClick="D" then
  132.                                 CurrentDir=SquareWidth
  133.                         else
  134.                                 CurrentDir=0
  135.                         endif
  136.         
  137.                         if CurrentDir <> Dirs[DirsAt-1] and CurrentDir + Dirs[DirsAt-1] <>0  and CurrentDir <> 0 then
  138.                                 Dirs[DirsAt]=CurrentDir
  139.                                 DirsAt=DirsAt+1
  140.                         endif
  141.                         LastClick = CurrentClick
  142.                 endif
  143.         endif
  144.         
  145.         CurrentMoto=Motor.GetSpeed ("D")
  146.         if CurrentMoto <-5 then
  147.                 CurrentMoto=-1
  148.         elseif CurrentMoto >5 then
  149.                 CurrentMoto=1
  150.         else
  151.                 CurrentMoto=0
  152.         endif
  153.         
  154.         
  155.         'A电机转动检测(没有按键的条件下检测)
  156.         if CurrentClick="" and LastMoto<>CurrentMoto and CurrentMoto <>0 then
  157.                 if DirsAt = 0 then
  158.                         Temp=MoveDir
  159.                 else
  160.                         Temp=Dirs[DirsAt]
  161.                 endif
  162.                
  163.                 if Temp=1 and CurrentMoto < 0 then
  164.                         Dirs[DirsAt]=SquareWidth
  165.                         DirsAt=DirsAt+1
  166.                 elseif Temp=1 and CurrentMoto > 0 then
  167.                         Dirs[DirsAt]=0-SquareWidth
  168.                         DirsAt=DirsAt+1
  169.                 elseif Temp=SquareWidth and CurrentMoto < 0 then
  170.                         Dirs[DirsAt]=-1
  171.                         DirsAt=DirsAt+1
  172.                 elseif Temp=SquareWidth and CurrentMoto > 0 then
  173.                         Dirs[DirsAt]=1
  174.                         DirsAt=DirsAt+1
  175.                 elseif Temp=-1 and CurrentMoto < 0 then
  176.                         Dirs[DirsAt]=0-SquareWidth
  177.                         DirsAt=DirsAt+1
  178.                 elseif Temp=-1 and CurrentMoto > 0 then
  179.                         Dirs[DirsAt]=SquareWidth
  180.                         DirsAt=DirsAt+1
  181.                 elseif Temp=0-SquareWidth and CurrentMoto < 0 then
  182.                         Dirs[DirsAt]=1
  183.                         DirsAt=DirsAt+1
  184.                 elseif Temp=0-SquareWidth and CurrentMoto > 0 then
  185.                         Dirs[DirsAt]=-1
  186.                         DirsAt=DirsAt+1
  187.                 endif
  188.         endif
  189.         LastMoto=CurrentMoto
  190.         
  191.         '蛇
  192.         if MoveStep=0 then
  193.                
  194.                
  195.                 if SnakeHead+MoveDir<0 then '上
  196.                         GameOver=1
  197.                 elseif SnakeHead+MoveDir>=SnakeMax then '下
  198.                         GameOver=1
  199.                 elseif MoveDir=-1 and Math.Remainder(SnakeHead,SquareWidth)=0 then '左
  200.                         GameOver=1
  201.                 elseif MoveDir=1 and Math.Remainder(SnakeHead,SquareWidth)=SquareWidth-1 then '右
  202.                         GameOver=1
  203.                 endif
  204.                
  205.                 SnakeHead=SnakeHead+MoveDir
  206.                
  207.                
  208.                 if Square[SnakeHead]=0 then
  209.                 elseif Square[SnakeHead]=5 then
  210.                         score=score+Leave
  211.                   LCD.Text (1, 0, 1, 1,"Leave: "+Leave+" score: "+score)
  212.                         EatingApple=1
  213.                         '把Apple清掉
  214.                         LCD.FillCircle (0,Math.Remainder(SquareApple,SquareWidth)*7+4, Math.Floor(SquareApple / SquareWidth)*7+17, 3)
  215.                         SnakeLength=SnakeLength+1
  216.                         AppleRand()
  217.                 else
  218.                         GameOver=1
  219.                 endif
  220.                
  221.                
  222.                 if EatingApple=0 then
  223.                         TailDir=Square[SnakeTail]
  224.                         Square[SnakeTail]=0
  225.                 endif
  226.                 DrawSnake()
  227.                
  228.                 if TailDir=1 then
  229.                         LCD.Line (0,DrawX-2,DrawY-(MoveStep-3), DrawX+2, DrawY-(MoveStep-3))
  230.                         LCD.Line (0,DrawX-2,DrawY-(3-MoveStep), DrawX+2, DrawY-(3-MoveStep))
  231.                 elseif TailDir=-1 then
  232.                         LCD.Line (0,DrawX-2,DrawY-(MoveStep-3), DrawX+2, DrawY-(MoveStep-3))
  233.                         LCD.Line (0,DrawX-2,DrawY-(3-MoveStep), DrawX+2, DrawY-(3-MoveStep))
  234.                 elseif TailDir=SquareWidth then
  235.                         LCD.Line (0,DrawX-(3-MoveStep),DrawY-2, DrawX-(3-MoveStep), DrawY+2)
  236.                         LCD.Line (0,DrawX-(MoveStep-3),DrawY-2, DrawX-(MoveStep-3), DrawY+2)
  237.                 elseif TailDir=0-SquareWidth then
  238.                         LCD.Line (0,DrawX-(3-MoveStep),DrawY-2, DrawX-(3-MoveStep), DrawY+2)
  239.                         LCD.Line (0,DrawX-(MoveStep-3),DrawY-2, DrawX-(MoveStep-3), DrawY+2)
  240.           endif
  241.          
  242.          
  243.         elseif MoveStep=6 then
  244.                 '读取并设定方向
  245.                 if Dirs[0]<>0  and Dirs[0]+MoveDir<>0 then
  246.                         MoveDir=Dirs[0]
  247.                         for i=0 to 8 step 1
  248.                                 Dirs[i]=Dirs[i+1]
  249.                         EndFor
  250.                         Dirs[9]=0
  251.                         if DirsAt > 0 then
  252.                                 DirsAt=DirsAt-1
  253.                         endif
  254.                 endif
  255.                
  256.                 '设置蛇头蛇尾
  257.                 DrawSnake()
  258.                 Square[SnakeHead]=MoveDir
  259.                 if EatingApple=0 then
  260.                         Square[SnakeTail]=0
  261.                         SnakeTail=SnakeTail+TailDir
  262.                 endif
  263.                 EatingApple=0
  264.         else
  265.                 DrawSnake()
  266.         endif
  267.         
  268.         '延时,不同leave 不同延时时间
  269.         WaitByLeave()
  270.         
  271.         
  272.         MoveStep=MoveStep+1
  273.         if MoveStep=7 then
  274.                  MoveStep=0
  275.         endif
  276.         endwhile
  277.         

  278.         '游戏结束
  279.         LCD.clear()
  280.         CurrentClick=""
  281.         
  282.         LastTime=0
  283.         LCD.Text (1, 15, 50, 2,"GAME OVER")
  284.         '分数居中
  285.         if Math.Floor(score/1000)>=1 then
  286.                 LCD.Text (1, 40, 70, 1,"score: "+score)
  287.         elseif Math.Floor(score/100)>=1 then
  288.                 LCD.Text (1, 44, 70, 1,"score: "+score)
  289.         elseif Math.Floor(score/10)>=1 then
  290.                 LCD.Text (1, 48, 70, 1,"score: "+score)
  291.         else
  292.                 LCD.Text (1, 52, 70, 1,"score: "+score)
  293.         endif
  294.         LCD.Text (1, 47, 100, 1,"Try Again")
  295.                
  296.         while CurrentClick  <> "E"'重新开始
  297.                 CurrentClick =Buttons.Current
  298.                 LastTime=LastTime+1
  299.                 if LastTime = 20 then
  300.                         LastTime=0
  301.                 endif
  302.                
  303.                 if LastTime<10        then
  304.                         LCD.Text (1, 42, 90, 1,"PRESS ENTER")
  305.                 else
  306.                         LCD.FillRect (0,42, 90,88 , 8)
  307.                 endif
  308.                 Program.Delay (50)
  309.         EndWhile
  310. endwhile




  311. sub LeaveChange
  312.         if  CurrentClick  = "R" or CurrentClick  = "D" then
  313.                 if Leave<7 then
  314.                         Leave=leave+1
  315.                 endif
  316.         elseif  CurrentClick  = "L" or  CurrentClick  = "U" then
  317.                 if Leave>1 then
  318.                         Leave=leave-1
  319.                 endif
  320.         endif
  321.         LCD.Text (1, 28, 80, 2,"Leave "+Leave)
  322. endsub


  323. sub Initialization
  324.         LCD.Clear ()
  325.         score=0
  326.   LCD.Text (1, 0, 1, 1,"Leave: "+Leave+" score: "+score)
  327.   LCD.Rect (1, 0, 13, 178,128-14)

  328.         if show=1 then
  329.                 '调整观察游戏界面方格
  330.                 For i=0 to 180 step 7
  331.                         for j=0 to 128-21 step 7
  332.                                 LCD.FillRect (1,i+2, j+15, 5, 5)
  333.                         EndFor
  334.           EndFor
  335.           '游戏方格总数25*16=400
  336.         endif
  337.         
  338.         
  339.         For i=0 to SnakeMax step 1
  340.                 Square[i]=0
  341.         EndFor

  342.         
  343.         Square[8*SquareWidth+3]=1'第9行 第4格
  344.         Square[8*SquareWidth+4]=1
  345.         Square[8*SquareWidth+5]=1
  346.         Square[8*SquareWidth+6]=1
  347.         MoveDir=1
  348.         
  349.         SnakeLength=4
  350.         SnakeHead=8*SquareWidth+6
  351.         SnakeTail=8*SquareWidth+3
  352.         MoveStep=0
  353.         
  354.         DirsAt=0

  355.         LCD.FillRect (1,7*3+2-1, 7*8+15, 28, 5)        
  356.         AppleRand()
  357.         
  358. endsub

  359. sub AppleRand
  360.         if SnakeLength<SnakeMax then
  361.                 RandNum=Math.GetRandomNumber (SnakeMax-SnakeLength)
  362.                 i=-1
  363.                 j=0
  364.                 while j <> randNum
  365.                         i=i+1
  366.                         if Square[i]=0 then
  367.                                 j=j+1
  368.                         endif
  369.                 endwhile
  370.                 Square[i]=5
  371.                 SquareApple=i
  372.                 DrawApple()
  373.         else  '已经最长了
  374.                 LCD.Clear ()
  375.                 LCD.Text (1, 30, 50, 2,"You Win")
  376.                 while 0<1
  377.                 endwhile
  378.         EndIf
  379. endsub


  380. sub DrawApple '根据SquareApple画出Apple的位置
  381.         LCD.FillCircle (1,Math.Remainder(SquareApple,SquareWidth)*7+4, Math.Floor(SquareApple / SquareWidth)*7+17, 3)
  382. endsub


  383. sub DrawSnake
  384.         
  385.         DrawX=Math.Remainder(SnakeHead,SquareWidth)*7+4
  386.         DrawY=Math.Floor(SnakeHead / SquareWidth)*7+17
  387.         if MoveDir=1 then
  388.                 LCD.Line (1,DrawX-(3-MoveStep),DrawY-2, DrawX-(3-MoveStep), DrawY+2)
  389.         elseif MoveDir=-1 then
  390.                 LCD.Line (1,DrawX-(MoveStep-3),DrawY-2, DrawX-(MoveStep-3), DrawY+2)
  391.         elseif MoveDir=0-SquareWidth then
  392.                 LCD.Line (1,DrawX-2,DrawY-(MoveStep-3), DrawX+2, DrawY-(MoveStep-3))
  393.         elseif MoveDir=SquareWidth then
  394.                 LCD.Line (1,DrawX-2,DrawY-(3-MoveStep), DrawX+2, DrawY-(3-MoveStep))
  395.         Endif
  396.         if EatingApple=1 then
  397.                 if MoveDir=1 then
  398.                         LCD.Line (1,DrawX-(3-MoveStep)-1,DrawY-2, DrawX-(3-MoveStep)-1, DrawY+2)
  399.                 elseif MoveDir=-1 then
  400.                         LCD.Line (1,DrawX-(MoveStep-3)+1,DrawY-2, DrawX-(MoveStep-3)+1, DrawY+2)
  401.                 elseif MoveDir=0-SquareWidth then
  402.                         LCD.Line (1,DrawX-2,DrawY-(MoveStep-3)+1, DrawX+2, DrawY-(MoveStep-3)+1)
  403.                 elseif MoveDir=SquareWidth then
  404.                         LCD.Line (1,DrawX-2,DrawY-(3-MoveStep)-1, DrawX+2, DrawY-(3-MoveStep)-1)
  405.                 Endif
  406.         
  407.         
  408.         endif
  409.         
  410.         
  411.         
  412.         if EatingApple=0 then
  413.                 DrawX=Math.Remainder(SnakeTail,SquareWidth)*7+4
  414.                 DrawY=Math.Floor(SnakeTail / SquareWidth)*7+17
  415.                 if TailDir=1 then
  416.                         LCD.Line (0,DrawX-(3-MoveStep),DrawY-2, DrawX-(3-MoveStep), DrawY+2)
  417.                 elseif TailDir=-1 then
  418.                         LCD.Line (0,DrawX-(MoveStep-3),DrawY-2, DrawX-(MoveStep-3), DrawY+2)
  419.                 elseif TailDir=0-SquareWidth then
  420.                         LCD.Line (0,DrawX-2,DrawY-(MoveStep-3), DrawX+2, DrawY-(MoveStep-3))
  421.                 elseif TailDir=SquareWidth then
  422.                         LCD.Line (0,DrawX-2,DrawY-(3-MoveStep), DrawX+2, DrawY-(3-MoveStep))
  423.                 Endif
  424.         endif
  425. EndSub

  426. sub WaitByLeave
  427.         while EV3.Time-LastTime <  280-30*Leave
  428.         endWhile
  429.         LastTime=EV3.Time
  430. endsub
复制代码

如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复 1 0

使用道具 举报

发表于 2016-8-16 18:39:13 | 显示全部楼层
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2016-8-16 20:02:59 | 显示全部楼层
你终于出手了,哈哈!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2016-8-16 20:07:54 | 显示全部楼层
厉害!运行真的很流畅!

顺便问一下,smallbasic也能在ev3上运行吗?我真的是第一次听说。。因为我当初小学入门编程时就是用它入的门,所以印象很深刻

另外就是一点点建议,我记得诺基亚的贪吃蛇有一个来回扭动的身子吧,还有一个很扯的头部和尾部,能否实现之呢?另外就是每吃掉5个(还是6个)就会有一个计时的大球,吃掉以后会涨很多分,但是会随着时间过去而逐渐失分。

还有一点点小小的建议,就是蛇身子大一些更爽。。。玩贪吃蛇怎么能不刷个全屏幕都是扭动的身子呐?嘿嘿
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2016-8-16 21:56:22 来自手机 | 显示全部楼层
hello怪 发表于 2016-8-16 20:07
厉害!运行真的很流畅!

顺便问一下,smallbasic也能在ev3上运行吗?我真的是第一次听说。。因为我当初 ...

Small basic只是编程语言,载体而已,有ev3的库就可以了,编译后会输入到机器人中,官方固件就可以了,还是比较方便的。
你的建议还要好好思考。可以好好讨论一下。
其实关键是  我不是很明白你的意思,当初玩的是最原始的,没有这么多花头
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2016-8-16 22:39:22 | 显示全部楼层
呃,难道是我的诺基亚版本太高级了。。当然我只是觉得有些不像我玩的那个版本的贪吃蛇了,楼主写的程序已经很厉害了

我也在考虑是否要自己写写贪吃蛇试试

至于ev3的smallbasic嘛。。。等我买了ev3以后再说吧。。。。。o(* ̄▽ ̄*)o至今还在用nxt,习惯了
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2016-8-17 08:27:03 | 显示全部楼层
碉堡
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2016-8-17 11:19:50 | 显示全部楼层
膜拜
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2016-8-17 15:21:35 | 显示全部楼层
怎么下载到ev3主机阿?
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2016-8-17 17:04:44 | 显示全部楼层
解压,打开Ev3软件,帮助(按F1)查看   工具-》内存浏览器
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2016-8-25 21:28:08 | 显示全部楼层

要顶
必须顶
不得不顶
用尽全力顶
再加上千斤顶
总之把它顶到顶
接着使出葵花宝顶
就算顶到史前也要顶
老子看了会用道德经顶
孔子亲自拜你为师天天顶
秦始皇站在阿房宫上使劲顶
汉高祖挥师杀向东罗马为你顶
吕布抛弃了貂禅而选择了帮你顶
张三丰见了后用太极拳九式全力顶
左冷禅召开武林盟主大会商讨如何顶
西门吹雪从此学会了最强一招剑神一顶
龙剑飞的儒来神掌最后一式改为万佛朝顶
陆小凤从此再也不管闲事了而专门来为你顶
四大名捕四面出击看天下还有没有人敢不在顶
顶到阎罗王说我制造噪音我刁根烟看看他继续顶
顶到火山喷发太平洋海啸我还要继续往死里顶
顶到益阳地震山崩地裂地下水泛滥我还要顶
顶到地下水喷发造成洪灾损失惨重我也顶
要是你觉得敢兴趣你也可以过来一起顶
要是你看我不爽我没办法还要继续顶
要是 C T敢过来阻止我就更加要顶
要是别人见了骂我傻我还是要顶
要是踩到我脚骨折我也继续顶
要是地面凹了我不管继续顶
要是天真塌下来了继续顶
就算天塌下来我都要顶
就算鸡店倒闭也要顶
就算鞋子烂也要顶
我用尽全力去顶
我非常用力顶
我很用力顶
我用力顶
我再顶
顶顶

如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2016-8-25 21:37:00 | 显示全部楼层
“” 发表于 2016-8-17 17:04
解压,打开Ev3软件,帮助(按F1)查看   工具-》内存浏览器

怎么打开程序啊
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2016-8-25 21:39:26 | 显示全部楼层
hello怪 发表于 2016-8-16 20:07
厉害!运行真的很流畅!

顺便问一下,smallbasic也能在ev3上运行吗?我真的是第一次听说。。因为我当初 ...

怎么打开
无法搜索到文件名
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2016-8-25 21:39:50 | 显示全部楼层
hello怪 发表于 2016-8-16 20:07
厉害!运行真的很流畅!

顺便问一下,smallbasic也能在ev3上运行吗?我真的是第一次听说。。因为我当初 ...

怎么打开啊
无法搜索到文件名
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-11-21 16:35 , Processed in 0.193327 second(s), 26 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表