October 12, 2024, 05:02:44 pm
Welcome,
Guest
. Please
login
or
register
.
Did you miss your
activation email?
1 Hour
1 Day
Forever
Login with username, password and session length
News
: Want to see a specific Tutorial? ASK!
Home
Help
Search
Arcade
Links
Staff List
Login
Register
Hello World
Weekly Qbasic and Qb64 Lesson Topics
>
Forum
>
DEMOS
>
Working QB64 Demos
>
Hello World
Pages: [
1
]
2
« previous
next »
Print
Author
Topic: Hello World (Read 1606 times)
Dustie Bear
Full Member
Posts: 115
Hello World
«
on:
March 11, 2011, 08:10:08 pm »
I never have showed off my Hello World prog. So here it is. Do you have one to show off?
Code:
a = _NEWIMAGE(800, 400, 32)
SCREEN a, 2, 2
b = 255
FOR x = 0 TO 399
r = r + .5
b = b - .5
LINE (0, x)-(799, x), _RGB(r, 255, b)
NEXT x
LOCATE 1, 1
PRINT "Hello World"
r = 257
b = -3
'LINE (1, 165)-(799, 256), _RGB(200, 200, 200), BF
FOR x = 0 TO 86
r = r - 2: IF r < 0 THEN r = 0
g = 100
b = b + 3: IF b > 255 THEN b = 255
FOR y = 2 TO 11
IF POINT(x, y) = _RGB(255, 255, 255) THEN
LINE (x * 7 + 15, y * 8 + 154)-(x * 7 + 21, y * 8 + 161), _RGB(r, g, b), BF
END IF
NEXT y
NEXT x
mypic = _NEWIMAGE(641, 112)
_PUTIMAGE , 2, mypic, (1, 144)-(642, 256)
'LINE (1, 165)-(799, 254), _RGB(200, 200, 200), BF
DO
x = x - 1: IF x < -623 THEN x = 779
_PUTIMAGE (x, 144), mypic, 2
_DELAY .008
LOOP WHILE INKEY$ = ""
_FREEIMAGE mypic
SLEEP
SYSTEM
Report Spam
Logged
GarrisonRicketson
Admin
Administrator
Hero Member
Posts: 583
Re: Hello World
«
Reply #1
on:
March 13, 2011, 03:19:56 pm »
This one is pretty nice,....
from Garry
Report Spam
Logged
From Garry
http://www.garryricketsonartworks.com/SMF
http://www.garryricketsonartworks.com/phpbbforum
http://www.garryricketsonartworks.org
http://www.garryspages.webs.com
http://wittywittywhatisthat.freesmfhosting.com/index.php
http://www.garryricketsonartworks.com/FluxBB
GarrisonRicketson
Admin
Administrator
Hero Member
Posts: 583
Re: Hello World
«
Reply #2
on:
March 13, 2011, 05:46:15 pm »
Dusty, I still think yours is better,..but anyway, here is mine, a "crude" one.
I used some of what OldosLover has been trying to show me with _putimage.
I think if more frames are used, one can get smoother better movements.
The stick figure appears to move from side to side, which is intentional "danceing" anyway here it is.
Code:
REM Garrys Hello World
DEFLNG A-Z
SCREEN 12
WorkPage& = _LOADIMAGE("helloworld.png") 'create the sprite sheet page
_COPYPALETTE WorkPage&, 0
FrameNum& = 0
_DEST 0
LINE (50, 50)-(590, 430), 0, BF
DO
PLAY "mbaag12b5a8gg10adeg"
FOR y = 0 TO 430 STEP 69
FOR x = 0 TO 635 STEP 91
_PUTIMAGE (1, 1)-(280, 234), WorkPage&, 0, (x, y)-(x + 89, y + 67)
FrameNum& = FrameNum& + 1
_DELAY .25
LOCATE 22, 10: PRINT "HELLO WORLD"
IF FrameNum& = 3 THEN GOTO 1
NEXT x
NEXT y
1:
FrameNum& = 0
LOOP WHILE INKEY$ = ""
SLEEP 1
SCREEN WorkPage& 'show the sprite page
SLEEP
SYSTEM
You can use the attached image, this is a Demo, of a acceptable way to use this option.
Report Spam
Logged
From Garry
http://www.garryricketsonartworks.com/SMF
http://www.garryricketsonartworks.com/phpbbforum
http://www.garryricketsonartworks.org
http://www.garryspages.webs.com
http://wittywittywhatisthat.freesmfhosting.com/index.php
http://www.garryricketsonartworks.com/FluxBB
Dustie Bear
Full Member
Posts: 115
Re: Hello World
«
Reply #3
on:
March 13, 2011, 05:54:09 pm »
Thats pretty slick Gary I like that and am looking at the ways you get the images
from the Png file. individualy . thanks
the music goes great with it too.
Dustie
Report Spam
Logged
GarrisonRicketson
Admin
Administrator
Hero Member
Posts: 583
Re: Hello World
«
Reply #4
on:
March 13, 2011, 06:05:16 pm »
Ok ,thanks, OlDoslover has explained to me several times, a way to calculate
the size each frame should be, the image itself, is one image but divided into 3
frames, each frame has a image, if the image is not centered in the frame,it will appear to move from side to side a little, normally one dose not want that.
For me this has been rather confuseing, but slowly I am getting it,..this was
when we first started,....there is alot about _putimage in discussions,..
OlDosLover posted a good _putimage demo
http://weeklyqbasicandqb64lesson.smfforfree.com/index.php/topic,30.0.html
and also this can be disussed more,
in these,
http://weeklyqbasicandqb64lesson.smfforfree.com/index.php/board,6.0.html
I will be interesting to see what other "hello world" demos show up....
from Garry
«
Last Edit: March 13, 2011, 06:19:18 pm by GarrisonRicketson
»
Report Spam
Logged
From Garry
http://www.garryricketsonartworks.com/SMF
http://www.garryricketsonartworks.com/phpbbforum
http://www.garryricketsonartworks.org
http://www.garryspages.webs.com
http://wittywittywhatisthat.freesmfhosting.com/index.php
http://www.garryricketsonartworks.com/FluxBB
OlDosLover
Guest
Re: Hello World
«
Reply #5
on:
March 13, 2011, 06:25:55 pm »
Hi all,
My first "Hello world" program i made worked well. My second "Hello World" program started to talk back in voices! So i stopped makeing "first contact" programs out of fear that aliens would contact me as i had basically
invited
them!
OlDosLover.
Report Spam
Logged
Cyperium
Newbie
Posts: 8
Re: Hello World
«
Reply #6
on:
March 13, 2011, 07:31:14 pm »
Here's my little Hello World program
it tries to resemble a sinus wave.
Code:
DIM a$(11), x(11), y(11)
a$(1) = "H"
a$(2) = "e"
a$(3) = "l"
a$(4) = "l"
a$(5) = "o"
a$(6) = " "
a$(7) = "W"
a$(8) = "o"
a$(9) = "r"
a$(10) = "l"
a$(11) = "d"
FOR k = 1 TO 11
x(k) = k
y(k) = 1
NEXT
1
CLS
_LIMIT 30
round = round + .1
FOR k = 1 TO 11
x(k) = x(k) + 1
y(k) = y(k) + (COS(round + (k / 10)) / 2) + SIN(k / 1000)
IF CINT(x(k)) + 25 > 80 THEN x(k) = -25
IF CINT(y(k)) + 12 > 23 THEN y(k) = -11
IF CINT(y(k)) + 12 < 0 THEN y(k) = 11
IF CINT(x(k)) + 25 > 0 AND CINT(x(k)) + 25 < 80 AND CINT(y(k)) + 12 > 0 AND CINT(y(k)) + 12 < 23 THEN LOCATE CINT(y(k)) + 12, CINT(x(k)) + 25: PRINT a$(k)
NEXT
_DISPLAY
IF INKEY$ <> "" THEN END
GOTO 1
«
Last Edit: March 13, 2011, 07:33:16 pm by Cyperium
»
Report Spam
Logged
OlDosLover
Guest
Re: Hello World
«
Reply #7
on:
March 13, 2011, 07:38:37 pm »
Hi all,
Damn thats good Cy!. Pleased to have you onboard. Please post your QB64Help Viewer and other programs if you so wish.
OlDosLover.
Report Spam
Logged
Dustie Bear
Full Member
Posts: 115
Re: Hello World
«
Reply #8
on:
March 13, 2011, 08:48:43 pm »
Thats realy neat Cyperium
good job
Dustie
Report Spam
Logged
GarrisonRicketson
Admin
Administrator
Hero Member
Posts: 583
Re: Hello World
«
Reply #9
on:
March 14, 2011, 09:13:34 pm »
Thanks CY,
Let us know when you are ready to release the helpfiles,...if you don't have the chance to put the download here, I will as soon as yu give the ok,..
from Garry
Report Spam
Logged
From Garry
http://www.garryricketsonartworks.com/SMF
http://www.garryricketsonartworks.com/phpbbforum
http://www.garryricketsonartworks.org
http://www.garryspages.webs.com
http://wittywittywhatisthat.freesmfhosting.com/index.php
http://www.garryricketsonartworks.com/FluxBB
Cyperium
Newbie
Posts: 8
Re: Hello World
«
Reply #10
on:
March 15, 2011, 01:40:19 pm »
Thanks, I made it go in a circle
Code:
DIM a$(11), x(11), y(11)
a$(1) = "H"
a$(2) = "e"
a$(3) = "l"
a$(4) = "l"
a$(5) = "o"
a$(6) = " "
a$(7) = "W"
a$(8) = "o"
a$(9) = "r"
a$(10) = "l"
a$(11) = "d"
FOR k = 1 TO 11
x(k) = 1 'they should differ by angles and radius only
y(k) = 1 'they should differ by angles and radius only
NEXT
1
CLS
_LIMIT 20
round = round + .1 'angle
FOR k = 1 TO 11
x(k) = COS(round + (.1 * k)) * 20 '(.1 * k) gives the letter position in angle from the round angle
y(k) = SIN(round + (.1 * k)) * 10 ' * 20, * 10 is the radius
IF CINT(x(k)) + 25 > 80 THEN x(k) = -25 'wrapping if it goes outside screen boundary (this could behave wrong in the circle version though since I don't add x(k) to x(k) like in the sinus one)
IF CINT(y(k)) + 12 > 23 THEN y(k) = -11 ' -..-
IF CINT(y(k)) + 12 < 0 THEN y(k) = 11 ' -..-
IF CINT(x(k)) + 25 > 0 AND CINT(x(k)) + 25 < 80 AND CINT(y(k)) + 12 > 0 AND CINT(y(k)) + 12 < 23 THEN LOCATE CINT(y(k)) + 12, CINT(x(k)) + 25: PRINT a$(k) 'display each character
NEXT
_DISPLAY
IF INKEY$ <> "" THEN END
GOTO 1
My help viewer isn't ready yet. I'm implementing selection right now (I've already implemented a cursor that you can move around and navigation through the keyboard (press A and it goes to the next link starting with A, SHIFT A goes to the next link that starts with _A so you can browse QB64 keywords as easily). I will probably release the final version in a few days or at this weekend. Any program of mine can be made public by anyone who wishes to do so (just don't take away my credit that I have in the source or other files, you are free to credit your own changes if you wish).
«
Last Edit: March 15, 2011, 01:47:53 pm by Cyperium
»
Report Spam
Logged
GarrisonRicketson
Admin
Administrator
Hero Member
Posts: 583
Re: Hello World
«
Reply #11
on:
March 15, 2011, 08:15:30 pm »
Ok CY, the circle hello world, kinda makes me dizzy!,..but it is neat,..
You can be sure, when you release the help viewer, I will always include credit, as to others, obviously thats out of our control,..but I think most people are pretty considerate about giveing credit, it is helpful when the programmer includes his name,etc in the source,..
thanks for posting this,
from Garry
Report Spam
Logged
From Garry
http://www.garryricketsonartworks.com/SMF
http://www.garryricketsonartworks.com/phpbbforum
http://www.garryricketsonartworks.org
http://www.garryspages.webs.com
http://wittywittywhatisthat.freesmfhosting.com/index.php
http://www.garryricketsonartworks.com/FluxBB
Cyperium
Newbie
Posts: 8
Re: Hello World
«
Reply #12
on:
March 16, 2011, 11:54:31 am »
Ok, thanks.
I made it a spiral!
Code:
SCREEN _NEWIMAGE(640, 480, 13)
a$(1) = "H"
a$(2) = "e"
a$(3) = "l"
a$(4) = "l"
a$(5) = "o"
a$(6) = " "
a$(7) = "W"
a$(8) = "o"
a$(9) = "r"
a$(10) = "l"
a$(11) = "d"
FOR k = 1 TO 11
x(k) = 1 'they should differ by angles and radius only
y(k) = 1 'they should differ by angles and radius only
NEXT
1
CLS
_LIMIT 20
round = round + .1 'angle
FOR k = 1 TO 11
x(k) = COS(round + (.5 * k)) * k * 10 ' (.5 * k) gives the letter position in angle from the round angle
y(k) = SIN(round + (.5 * k)) * k * 10 ' k * 10 is the radius (progressing inward to out using k in steps of 10).
_PRINTSTRING (x(k) + 320, y(k) + 240), a$(k) 'display each character
NEXT
_DISPLAY
IF INKEY$ <> "" THEN END
GOTO 1
Report Spam
Logged
GarrisonRicketson
Admin
Administrator
Hero Member
Posts: 583
Re: Hello World
«
Reply #13
on:
March 17, 2011, 07:12:00 pm »
CY ,
I get a subscript out of range line 12.---
Code:
a$(11) = "d"
But I can't figure out why ?
Report Spam
Logged
From Garry
http://www.garryricketsonartworks.com/SMF
http://www.garryricketsonartworks.com/phpbbforum
http://www.garryricketsonartworks.org
http://www.garryspages.webs.com
http://wittywittywhatisthat.freesmfhosting.com/index.php
http://www.garryricketsonartworks.com/FluxBB
Dustie Bear
Full Member
Posts: 115
Re: Hello World
«
Reply #14
on:
March 17, 2011, 08:59:12 pm »
Thats realy neat Cyperium
Dustie
Report Spam
Logged
Pages: [
1
]
2
Print
« previous
next »
Jump to:
Please select a destination:
-----------------------------
General Category
-----------------------------
=> Useful Information ,Rules,FAQs,LINKS,etc.
===> INTRODUCE Yourself
=> General QB64 Forum
=> MS DOS, FREE DOS, ANY DOS
-----------------------------
QB64 lessons and tutorials,Games
-----------------------------
=> Lesson Disussion
=> Weekly Lesson
=> Games
-----------------------------
TUTORIALS
-----------------------------
=> QB64 Tutorials
=> Text Adventure
=> QBasic Tutorials
=> Other Tutorials
-----------------------------
UNSEENS GDK+SFML Librarys
-----------------------------
=> Discussions on GDK+SFML
=> GDK+SFML Demos, and projects
-----------------------------
DEMOS
-----------------------------
=> Working QB64 Demos
=> QB64 Games
=> QB64 Programs You Are Proud Of.
=> Function + SUB Club
-----------------------------
OFF TOPIC,and Off The wall
-----------------------------
=> OffTopic and Off the Wall
Powered by
EzPortal
Loading...