Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Your best "Hello, world!" program in FreeBasic
#11
Quote:Hand over my @£$£ cookie!!! :D

hehe, ok so It wasnt too hard to work out with good code reading ^.^

Here you go!
[Image: 17934-r.jpg]
Reply
#12
Mmm. That was tasty. Thanks.
hat were we arguing about again?
Reply
#13
Code:
Dim As Integer dd(704) = { _
41,  74,  41,  76,  41,  82,  41,  85,  41,  90,  41,  95,  41, 100,  41, 102, _
41, 107,  41, 111,  41, 114,  41, 117,  41, 120,  41, 125,  41, 127,  41, 132, _
41, 136,  41, 140,  41, 143,  41, 147,  41, 151,  41, 152,  41, 153,  41, 154, _
42, 114,  44, 114,  48, 114,  50, 114,  54, 114,  60, 114,  65, 114,  68, 114, _
70, 114,  71, 114,  75,  79,  75,  80,  75,  85,  75,  93,  75, 102,  76, 111, _
76, 118,  76, 125,  76, 127,  76, 134,  76, 138,  76, 140,  76, 141,  96, 130, _
98, 129, 100, 128, 100, 127, 103, 125, 105, 124, 106, 122, 108, 121, 108, 120, _
108, 119, 108, 118, 108, 117, 108, 116, 108, 115, 108, 114, 108, 113, 107, 112, _
107, 111, 106, 111, 105, 110, 103, 110, 102, 110, 100, 110,  97, 110,  92, 113, _
88, 117,  83, 119,  81, 121,  81, 122,  80, 123,  80, 124,  80, 127,  80, 129, _
82, 131,  82, 132,  84, 135,  86, 137,  88, 140,  91, 141,  95, 144,  99, 145, _
101, 145, 103, 145, 106, 145, 108, 145, 112, 144, 114, 143, 116, 142, 116, 141, _
132,  82, 132,  86, 132,  93, 132,  96, 132, 103, 132, 108, 132, 114, 132, 120, _
132, 126, 132, 132, 132, 134, 132, 140, 132, 143, 132, 144, 151,  89, 151,  93, _
151,  95, 151, 100, 151, 105, 151, 111, 151, 117, 151, 123, 151, 128, 151, 131, _
151, 136, 151, 142, 151, 146, 151, 148, 183, 118, 181, 118, 179, 119, 178, 120, _
174, 126, 172, 128, 171, 132, 170, 134, 170, 138, 170, 140, 171, 142, 174, 144, _
177, 146, 179, 146, 182, 146, 184, 146, 187, 145, 189, 144, 192, 141, 194, 139, _
195, 134, 195, 130, 195, 126, 195, 123, 193, 119, 190, 115, 188, 114, 185, 112, _
244,  84, 244,  85, 244,  87, 244,  91, 244,  97, 244, 102, 245, 107, 245, 113, _
246, 115, 248, 120, 250, 127, 252, 131, 254, 137, 254, 139, 254, 141, 254, 142, _
254, 143, 254, 144, 254, 145, 254, 146, 255, 144, 255, 143, 256, 141, 257, 139, _
258, 137, 260, 133, 262, 130, 262, 127, 262, 125, 263, 123, 263, 122, 263, 121, _
263, 120, 263, 119, 263, 120, 263, 122, 264, 124, 266, 129, 270, 136, 274, 142, _
276, 145, 278, 147, 279, 147, 280, 145, 281, 141, 281, 136, 281, 131, 281, 124, _
281, 122, 281, 115, 281, 108, 281, 102, 282,  98, 283,  94, 283,  92, 283,  91, _
283,  90, 283,  88, 283,  87, 283,  86, 311, 123, 309, 123, 307, 123, 305, 125, _
304, 125, 303, 128, 302, 131, 301, 133, 301, 136, 301, 140, 302, 142, 303, 144, _
305, 145, 307, 147, 309, 148, 311, 148, 313, 148, 316, 148, 317, 147, 320, 146, _
321, 145, 321, 143, 322, 142, 322, 139, 322, 137, 322, 134, 322, 131, 321, 128, _
319, 127, 318, 125, 316, 125, 339, 125, 339, 128, 339, 130, 339, 134, 339, 140, _
339, 142, 339, 144, 339, 141, 339, 135, 339, 131, 339, 126, 339, 122, 339, 119, _
339, 118, 339, 117, 340, 117, 341, 116, 345, 116, 349, 116, 352, 116, 355, 116, _
380, 100, 380, 104, 380, 110, 380, 116, 380, 122, 380, 126, 380, 133, 380, 137, _
380, 141, 380, 144, 380, 145, 380, 146, 404, 130, 403, 129, 401, 129, 400, 128, _
399, 128, 397, 128, 395, 130, 392, 133, 391, 137, 390, 141, 390, 143, 390, 145, _
390, 146, 391, 146, 392, 146, 394, 146, 397, 146, 400, 145, 402, 142, 404, 141, _
406, 138, 407, 138, 407, 135, 408, 131, 408, 127, 408, 121, 408, 117, 408, 113, _
408, 110, 408, 107, 408, 104, 408, 102, 408, 100, 408,  99, 408,  97, 408,  96, _
408,  95, 408,  94, 408,  93, 408,  92, 408,  91, 408,  90, 408,  93, 409, 101, _
412, 115, 417, 129, 421, 142, 426, 153, 427, 158, 427, 162, 428, 162, 452,  93, _
452,  96, 452,  98, 452, 101, 452, 106, 452, 113, 452, 118, 452, 124, 452, 130, _
452, 131, 452, 133, 451, 150, 450, 150, 449, 150, 448, 151, 446, 154, 446, 155, _
445, 157, 445, 159, 445, 160, 446, 161, 447, 161, 448, 159, 450, 156, 452, 151 }

ScreenRes 640, 480, 32

For i = 1 To 704 Step 2
  mx = dd(i-1)
  my = dd(i)
  pset (mx, my), &HFFFFFF
  pset (mx + 1, my + 1), &HFFFFFF
  pset (mx - 1, my - 1), &HFFFFFF
  pset (mx + 1, my - 1), &HFFFFFF
  pset (mx - 1, my + 1), &HFFFFFF
  Sleep 20
Next i

Sleep
EVEN MEN OF STEEL RUST.
[Image: chav.gif]
Reply
#14
Compiles for FB, QB and ANSI C:
Code:
REM; /*
print "Hello World"
'*/ int main(void) {printf("Hello World\n"); return 0;}

Edit: Slightly more clever version:
Code:
REM = '\t'; char *PRINT = "\n"; /*
DIM s AS STRING * 13
'*/ int main() { char *s[3] = {
PRINT , "Hello world",
REM}; printf("%c%s%s", s[2], s[1], s[0]);}
esus saves.... Passes to Moses, shoots, he scores!
Reply
#15
Cute cross-language stuff, I like it, very classy Big Grin
SCUMM (the band) on Myspace!
ComputerEmuzone Games Studio
underBASIC, homegrown musicians
[img]http://www.ojodepez-fanzine.net/almacen/yoghourtslover.png[/i
Reply
#16
Here's mine!

Code:
'Hello World example and Bitmap font loader
'A RADIUM-V Interactive Program By John Kreitlow
'Copyright (C) 2006 John Kreitlow and RADIUM-V Interactive
'Use With permission - Email jkreitlow@gmail.com
DECLARE FUNCTION Font (spritex,spritey,text AS STRING)
DIM SHARED Font_letter (12264) AS INTEGER

SCREEN 18,16,2
SCREENSET 1,0

BLOAD "Font.bmp",0
   l_num = -1
   FOR I = 0 TO 111 STEP 18
      FOR J = 0 TO 107 STEP 16
         l_num = l_num + 1
         GET(J,I)-(J + 15, I + 17),Font_letter(292 * l_num)
      NEXT J
   NEXT I
   CLS

Font (220,220,"Hello World!")
SCREENCOPY
SLEEP

FUNCTION Font (spritex,spritey,text AS STRING)
   l_next = 0
   text = UCASE$(text)
   FOR a = 1 TO LEN(text)
      IF MID$(text,a,1) = " " THEN l_num = -1
      IF MID$(text,a,1) = "A" THEN l_num = 0
      IF MID$(text,a,1) = "B" THEN l_num = 1
      IF MID$(text,a,1) = "C" THEN l_num = 2
      IF MID$(text,a,1) = "D" THEN l_num = 3
      IF MID$(text,a,1) = "E" THEN l_num = 4
      IF MID$(text,a,1) = "F" THEN l_num = 5
      IF MID$(text,a,1) = "G" THEN l_num = 6
      IF MID$(text,a,1) = "H" THEN l_num = 7
      IF MID$(text,a,1) = "I" THEN l_num = 8
      IF MID$(text,a,1) = "J" THEN l_num = 9
      IF MID$(text,a,1) = "K" THEN l_num = 10
      IF MID$(text,a,1) = "L" THEN l_num = 11
      IF MID$(text,a,1) = "M" THEN l_num = 12
      IF MID$(text,a,1) = "N" THEN l_num = 13
      IF MID$(text,a,1) = "O" THEN l_num = 14
      IF MID$(text,a,1) = "P" THEN l_num = 15
      IF MID$(text,a,1) = "Q" THEN l_num = 16
      IF MID$(text,a,1) = "R" THEN l_num = 17
      IF MID$(text,a,1) = "S" THEN l_num = 18
      IF MID$(text,a,1) = "T" THEN l_num = 19
      IF MID$(text,a,1) = "U" THEN l_num = 20
      IF MID$(text,a,1) = "V" THEN l_num = 21
      IF MID$(text,a,1) = "W" THEN l_num = 22
      IF MID$(text,a,1) = "X" THEN l_num = 23
      IF MID$(text,a,1) = "Y" THEN l_num = 24
      IF MID$(text,a,1) = "Z" THEN l_num = 25
      IF MID$(text,a,1) = "0" THEN l_num = 26
      IF MID$(text,a,1) = "1" THEN l_num = 27
      IF MID$(text,a,1) = "2" THEN l_num = 28
      IF MID$(text,a,1) = "3" THEN l_num = 29
      IF MID$(text,a,1) = "4" THEN l_num = 30
      IF MID$(text,a,1) = "5" THEN l_num = 31
      IF MID$(text,a,1) = "6" THEN l_num = 32
      IF MID$(text,a,1) = "7" THEN l_num = 33
      IF MID$(text,a,1) = "8" THEN l_num = 34
      IF MID$(text,a,1) = "9" THEN l_num = 35
      IF MID$(text,a,1) = "!" THEN l_num = 36
      IF MID$(text,a,1) = "?" THEN l_num = 37
      IF MID$(text,a,1) = "." THEN l_num = 38
      IF MID$(text,a,1) = "@" THEN l_num = 39
      IF MID$(text,a,1) = "," THEN l_num = 40
      IF MID$(text,a,1) = "_" THEN l_num = 41
      IF l_num >= 0 THEN
         PUT(spritex + l_next,spritey),Font_letter(292 * l_num),TRANS
      ELSE
         l_next = l_next + 1
      END IF
      IF MID$(text,a,1) = "I" OR MID$(text,a,1)="J" THEN l_next=l_next - 5
      l_next = l_next + 16
   NEXT
END FUNCTION

and here's the pic. Just copy and put the file in the same location as the code.Lazy
It's just a bitmap font loader, but hey, I made it and it works.
Reply
#17
[quote="stylin"]Simple. Post a neat "Hello, world!" program. It does not necessarily have to be obfuscated, but should be clever, inefficient, unsafe or otherwise something you shouldn't be doing. Wink


This one i guess is unsafe but it works for me.

Code:
Dim msg(8) As uByte ptr
Dim msg_p As ZString ptr
  msg_p = cptr(ZString ptr, @msg(0))
  *msg_p = "Hello World!"
  Print *msg_p
Sleep
EVEN MEN OF STEEL RUST.
[Image: chav.gif]
Reply
#18
Code:
screen 12
draw "c11;s4 bm200,200"
draw "BD3UNR5ER5EG4D9GRENU9FRNU11EU11E2NRG2D4RE3D2END9RD7G2LEBU13BR5"                        
draw "BR4G3ND8RG2D4RED4RNU2FNU2NR4ER5NE2NUL3U12G3D6EU6ENR7ER2D2R3G4R4UNL3BU5BR3"            
draw "BD2E2R4EG2NL4D11L2G2ERENU9RNE3R2F2RNE3HRNE2UE2LHBL3NU7FU7EBU3BR7"                      
draw "BD2E2R4EG2NL4D11L2G2ERENU9RNE3R2F2RNE3HRNE2UE2LHBL3NU7FU7EBU3BR7"                      
draw "BR9L4G5ND6RD8R8LGL4U2LUE2NU8LU7ER6FL3HGD10UE3R3DG3REU5FUL3NG2RE2DHULBU3BR6"            
draw "BRBD13D3GE2UL2RBU14BR5"
draw "BR8"
draw "BD3E3D14H2RU9LE2RFD12GU3FRE2U10GE2D14HUF2DU3RD2NE4U13BR2UED11EU9HBR4"                  
draw "BR9L4G5ND6RD8R8LGL4U2LUE2NU8LU7ER6FL3HGD10UE3R3DG3REU5FUL3NG2RE2DHULBU3BR6"            
draw "BD14E5U8EG2L2GE2RD10G2E3FG2R5G2HRU2LUENU8ENE4F4DNE3H2R3H3LNF3UE2U4L4E2D3FR2UL2U2BUBR8"
draw "BD2E2R4EG2NL4D11L2G2ERENU9RNE3R2F2RNE3HRNE2UE2LHBL3NU7FU7EBU3BR7"                      
draw "BDBR2NR7FR8GR2GRD2NL2D3NL2D3GNL6GL6GE3U10G3D7G2E3U2L3GE2R2U4E2R2D5RGD2RGDBU11BR7"      
draw "BR2G2RED8BD2D2HR2HBU2U3LU3R2D3U5FBU2BR2"
sleep
Antoni
Reply
#19
nice font Antoni. Have you made the program i was saying would be a good challenge in the George C Scott thread? I'd love to see it if you have.
EVEN MEN OF STEEL RUST.
[Image: chav.gif]
Reply
#20
You have the complete font here:
http://www.qbasicnews.com/abc/showsnippe...snippet=27
And no, I don't want to mangle with the DRAW statement, people like the one who did the font is better than me.
At the moment i'm coding a PLAY library using the PC beeper for FB. Not very useful but fun. It forces me to stop coding early... Big Grin
Antoni
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)