1. VisualBasic / Говнокод #19252

    −150

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    Include "basic.bmx"
    
    '------------- "FLIES" GAME -----------------;
    Graphics 1024, 768,32
    SeedRnd MilliSecs()
     SetClsColor 255,255,255
    
    ';;;GLOBALS & DIMS
    Const HPMX#=150
    Global FPS#=100, Flies=0, Dih=100,CD#, GAME
    Global Dat#[10], GFX:TImage[100],Fnt[100], CC:TImage[100] , Fly_List:TList, obj_list:TList, REC[10]
    ';;;
    
    obj_list=CreateList() ; fly_list=CreateList()
    
    ';;;;; TYPES ;;;
    Type Tfly
      Field x,y,HP#[3], dX#,dY#,TMR#[4], C#, Ftype,Chance#
    
    	Function Create()		'Borning of FLY
    		fly:tfly=New Tfly; fly.tmr[1]=400; fly.C=255
    		   If Rand(0,18000)<=2000 Then fly.Ftype=1; Else fly.ftype=0	'TYPE OF FLY (MEAT 1 | NORM 0)
    		fly.x=Rnd(100,700) ; fly.y=Rnd(100,700) ; fly.hp[0]=-1
    		fly.hp[1]=Rand(30,HPMX) ; ListAddLast ( fly_list,fly ) ; flies:+1
    	End Function		''''''''''''
    
    	Method Kill()
    		fly=Null;ListRemove(fly_list,fly); fly_list.Remove(Self); flies:-1
    	End Method
    
    	Method Draw()		'Drawing FLY
    		DrawOval x,y, Abs( hp[0]/hpMX )*100+3, Abs( hp[0]/hpMx )*100+3
    	End Method			''''''''''''
    
    End Type
    
    '
    Type Tobj 
      Field x,y, eff%,Zoom#, HP#
    
    	Function Create()		'NEW OBJECT
    		obj:tobj=New tobj; obj.eff=GetMouse(); obj.zoom=10
    		obj.X=MouseX(); obj.Y=MouseY(); obj.HP=40
    		ListAddLast (obj_list,obj)
    	End Function		''''''''''
    
    	Method Draw()
    			If eff=1 SetAlpha 0.5; Else; SetAlpha 1
    		SetBlend alphablend
    		SetScale (zoom*0.0075,zoom*0.0075);SetColor 255,255,255
    		DrawImage GFX [eff], X, Y; SetScale(1,1);
    		SetAlpha 1;SetBlend alphablend
    	End Method
    
    	Method Kill()
    		obj=Null; ListRemove(obj_list,obj); obj_list.Remove(Self)
    	End Method
    
    	Method CollideWithFlies()
    	For Local F:Tfly= EachIn fly_list
    	If f.x>X And f.x<x+ImageWidth(GFX[eff])*0.01*zoom And f.y>Y And f.y<Y+ImageHeight(gfx[eff])*zoom*0.01
    	Select eff
    	Case 1 'LKM
    	If f.hp[1]>5 Then f.HP[1]:-20/FPS  'DiClorPhos
    	Case 3 'MidKM
    	If f.ftype=1 Then F.Chance:+1.1/FpS 'MEAT FLIES
    	Case 2 'RKM
    	If f.ftype=0 Then F.chance:+0.1/FpS 'NORM FLIES
    	End Select
    	EndIf
    	Next
    	End Method
    
    End Type
    ';;;;; END TYPES ;;;;;;;;
    
    
    LoadMedia()
    For Local ii=0 To 10; fnt[ii]= LoadImageFont("Fnt/Comic.ttf",ii*16) ;Next
    
    SetImageFont fnt[0]; dat[0]=100
    ';;;;Creating 1st fly
    Tfly.Create()
    ';;;
    
    For Local i=1 To 3
    MidHandleImage(Gfx[i])
    Next
    
    ';;;;  M A I N  C I C L  ;;;;;;;;;;;;;;
    Repeat
    Cls
    
    If Game=1
    EachFly()
    Effects()
    EndIf 
    . . .

    язык Blitzmax
    игра о мухах

    Запостил: glauberov, 27 Декабря 2015

    Комментарии (7) RSS

    • Злые мухи спать мешают...
      Ответить
    • > язык Blitzmax

      в википедии пишут что на нём были написаны Worms. резко зауважал.
      Ответить
    • Порадовали строки 27-29:
       	Method Kill()
      		fly=Null;ListRemove(fly_list,fly); fly_list.Remove(Self); flies:-1
      	End Method

      Объект выбрасывает сам себя.
      Ответить
    • Fly, robin, fly (англ. "муха Робин, муха")
      Ответить

    Добавить комментарий