October 28, 2020, 11:19:19 PM

Author Topic: [bb] Snake Code by Klapster [ 1+ years ago ]  (Read 1442 times)

Offline BlitzBot

  • Jr. Member
  • **
  • Posts: 1
[bb] Snake Code by Klapster [ 1+ years ago ]
« on: June 29, 2017, 12:28:43 AM »
Title : Snake Code
Author : Klapster
Posted : 1+ years ago

Description : I was bored, so I decided to make Snake.
This code might help someone, somehow.


Code :
Code: BlitzBasic
  1. Graphics 800,600,32,1:SetBuffer BackBuffer()
  2.  
  3. Global sX=10,sY=10
  4. Global sD=0
  5.  
  6. Global mvT=0
  7. Global Speed=3
  8.  
  9. Type Tail
  10.         Field t
  11.         Field X,Y
  12. End Type
  13.  
  14. Const TS=10
  15.  
  16. Global TLife=200
  17.  
  18. Global aX=16,aY=20
  19.  
  20. Global Score=0
  21.  
  22. Repeat
  23.        
  24.         If KeyDown(205) And sD<>2
  25.                 sD=3
  26.         ElseIf KeyDown(203) And sD<>3
  27.                 sD=2
  28.         EndIf
  29.         If KeyDown(200) And sD<>1
  30.                 sD=0
  31.         ElseIf KeyDown(208) And sD<>0
  32.                 sD=1
  33.         EndIf
  34.        
  35.  
  36.         If sX=aX And sY=aY
  37.                 aX=Rand(800/TS)-1
  38.                 aY=Rand(600/TS)-1
  39.                 score=score+10
  40.                 TLife=TLife+10
  41.         EndIf  
  42.  
  43.        
  44.         mvT=mvT+1
  45.         If mvT>Speed
  46.                 T.Tail = New Tail
  47.                 TX=sX:TY=sY
  48.                 Select sD
  49.                         Case 0;Up
  50.                                 sY=sY-1
  51.                         Case 1;Down
  52.                                 sY=sY+1
  53.                         Case 2;Left
  54.                                 sX=sX-1
  55.                         Case 3;Right
  56.                                 sX=sX+1
  57.                 End Select
  58.                 mvT=0
  59.         EndIf  
  60.        
  61.         If sX<0 Or sX>(800/TS) Or sY<0 Or sY>(600/TS) Then End
  62.        
  63.         For T.Tail = Each Tail
  64.                 TT=TT+1
  65.                 If sX=TX And sY=TY Then End
  66.                 If TT>TLife
  67.                         Delete T
  68.                 EndIf
  69.         Next
  70.        
  71.         Color 255,0,0
  72.         Rect sX*TS,sY*TS,TS,TS,1
  73.        
  74.         Color 150,0,0
  75.         For T.Tail = Each Tail
  76.                 Rect TX*TS,TY*TS,TS,TS,1
  77.         Next
  78.        
  79.         Color 0,255,0
  80.         Rect aX*TS,aY*TS,TS,TS,1
  81.        
  82.         Color 255,255,255
  83.         Text 400,50,"Score "+Score,1,1
  84.        
  85.         Flip
  86.         Cls
  87. Until KeyHit(1)
  88. End


Comments :


Ked(Posted 1+ years ago)

 Interesting...


 

SimplePortal 2.3.6 © 2008-2014, SimplePortal