Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - qb4ever

Pages: 1 2 [3]
31
Programs / Re: Knight VS Castle
« on: March 04, 2019, 11:42:41 am »
In the third step, Castle will reply with a fire ball....

32
Programs / Re: Knight VS Castle
« on: March 04, 2019, 11:40:21 am »
I must say that the _delay command is really fantastic.
25 years ago I used a empty cycle for next .... but delay changed with the speed of the computer CPU ....

33
Programs / Re: Knight VS Castle
« on: March 04, 2019, 11:35:07 am »
Knight vs. Castle: not the deep chess problem that I was expecting!

True Qwerkey : D

I have to get familiar with the QB....

34
Programs / Re: Knight VS Castle
« on: March 04, 2019, 11:19:19 am »
Thanks Pete,

second step: fire !

Code: QB64: [Select]
  1. handle& = _NEWIMAGE(320, 240, 256)
  2. SCREEN handle&
  3.  
  4.  
  5.  
  6.  
  7. LINE (0, 0)-(320, 240), 54, BF
  8.  
  9. NVX = 50
  10. NVY = 50
  11. COLN = 15
  12.  
  13. CIRCLE (NVX - 10, NVY + 5), 5, COLN
  14. PAINT (NVX - 10, NVY + 5), COLN
  15.  
  16. CIRCLE (NVX, NVY), 10, COLN
  17. PAINT (NVX, NVY), COLN
  18. CIRCLE (NVX + 20, NVY - 10), 14, COLN
  19. PAINT (NVX + 20, NVY - 10), COLN
  20. CIRCLE (NVX + 40, NVY - 16), 18, COLN
  21. PAINT (NVX + 40, NVY - 16), COLN
  22. CIRCLE (NVX + 60, NVY - 10), 14, COLN
  23. PAINT (NVX + 60, NVY - 10), COLN
  24. CIRCLE (NVX + 80, NVY), 10, COLN
  25. PAINT (NVX + 80, NVY), COLN
  26. CIRCLE (NVX + 90, NVY + 5), 5, COLN
  27. PAINT (NVX + 90, NVY + 5), COLN
  28.  
  29.  
  30. LINE (NVX - 10, NVY)-(NVX + 90, NVY + 10), COLN, BF
  31. LINE (NVX - 15, NVY + 5)-(NVX + 95, NVY + 10), COLN, BF
  32. LINE (NVX - 18, NVY + 11)-(NVX + 98, NVY + 11), COLN
  33. LINE (NVX - 24, NVY + 12)-(NVX + 104, NVY + 12), COLN
  34. LINE (NVX - 34, NVY + 13)-(NVX + 114, NVY + 13), COLN
  35.  
  36.  
  37. '************** TERRENO
  38.  
  39. LINE (0, 200)-(320, 240), 262, BF
  40. LINE (0, 200)-(320, 208), 2, BF
  41. LINE (0, 200)-(320, 202), 10, BF
  42.  
  43. FOR T = 1 TO 80
  44.     TERX = INT(RND(1) * 320)
  45.     TERY = INT(RND(1) * 30) + 210
  46.  
  47.     LINE (TERX, TERY)-(TERX + 3, TERY + 2), 298, BF
  48.  
  49. '***** castello
  50.  
  51. CAX = 260
  52. CAY = 200
  53. CLCAS = 22
  54.  
  55.  
  56. PSET (CAX, CAY)
  57. DRAW "C22U100H20U20R20D20R20U20R20D20R20D120L60"
  58. PAINT (CAX + 20, CAY - 20), 22
  59.  
  60. 'PRZX = INT(RND(1) * 98) + 1
  61. 'RZY = INT(RND(1) * 98) + 1
  62.  
  63.  
  64. FOR T = 1 TO 40
  65.     PRZX = INT(RND(1) * 80) + 260
  66.     PRZY = INT(RND(1) * 100) + 95
  67.  
  68.     LINE (PRZX, PRZY)-(PRZX + 3, PRZY + 2), 20, BF
  69.  
  70.  
  71. ' WINDOWS
  72. CIRCLE (CAX + 40, CAY - 70), 8, 0
  73. PAINT (CAX + 40, CAY - 70), 0
  74. LINE (CAX + 32, CAY - 70)-(CAX + 48, CAY - 55), 0, BF
  75.  
  76. ' DOOR
  77. CIRCLE (CAX + 40, CAY - 25), 14, 0
  78. PAINT (CAX + 40, CAY - 25), 0
  79. LINE (CAX + 26, CAY - 25)-(CAX + 54, CAY), 0, BF
  80.  
  81.  
  82. LINE (CAX, CAY - 65)-(CAX + 10, CAY - 75), 0, BF
  83.  
  84.  
  85. '***** ATTACCANTE
  86.  
  87. ' GUN
  88. GUNX = 100
  89. GUNY = 193
  90.  
  91. LINE (GUNX - 12, GUNY - 5)-(GUNX + 16, GUNY), 21, BF
  92. LINE (GUNX + 16, GUNY - 6)-(GUNX + 17, GUNY + 1), 21, BF
  93.  
  94.  
  95. CIRCLE (GUNX, GUNY), 8, 0
  96. PSET (GUNX, GUNY)
  97. DRAW "C0U4D8U4R4L8R4E4G8E4F4H8"
  98.  
  99. FLX = 40
  100. FLY = 170
  101.  
  102. PSET (FLX, FLY)
  103.  
  104. DRAW "C42R12D18H6G6U18R12"
  105. PAINT (FLX + 2, FLY + 2), 42
  106.  
  107. LINE (FLX, FLY + 3)-(FLX + 12, FLY + 7), 14, BF
  108.  
  109. FLX = 265
  110. FLY = 80
  111.  
  112. PSET (FLX, FLY)
  113.  
  114. DRAW "C14R12D18H6G6U18R12"
  115. PAINT (FLX + 2, FLY + 2), 14
  116.  
  117. LINE (FLX, FLY + 3)-(FLX + 12, FLY + 7), 2, BF
  118.  
  119.  
  120. FLX = 305
  121. FLY = 80
  122.  
  123. PSET (FLX, FLY)
  124.  
  125. DRAW "C14R12D18H6G6U18R12"
  126. PAINT (FLX + 2, FLY + 2), 14
  127.  
  128. LINE (FLX, FLY + 3)-(FLX + 12, FLY + 7), 2, BF
  129.  
  130. ' ********* LIFE BAR CASTLE
  131. LBCX = 260
  132. LBCY = 35
  133. LINE (LBCX, LBCY)-(LBCX + 42, LBCY + 7), 0, BF
  134. LINE (LBCX + 1, LBCY + 1)-(LBCX + 41, LBCY + 6), 2, BF
  135.  
  136.  
  137.  
  138. ' *********+ SHOT
  139. ALX = 95
  140. ALY = 207
  141.  
  142.  
  143. X = ALX + 20: Y = ALY - 20
  144. FOR T = 1 TO 15
  145.     X = X + 10
  146.     CIRCLE (X, Y), 3, 42
  147.     PAINT (X, Y), 42
  148.     CIRCLE (X, Y), 2, 41
  149.     PAINT (X, Y), 41
  150.     CIRCLE (X, Y), 1, 40
  151.     PAINT (X, Y), 40
  152.  
  153.     _DELAY 0.2
  154.  
  155.     CIRCLE (X, Y), 6, 54
  156.     PAINT (X, Y), 54
  157.  
  158.  
  159.  
  160.  

35
Programs / Knight VS Castle
« on: March 04, 2019, 07:03:13 am »
Good morning to everybody,

Yesterday I have write some QB lines....

I know, I stayed at the 90s, so I used the QB45 commands .....

You have to imagine a person who in about 1995 enters a time machine and finds himself in 2019 .... for this I still use the QB45.

However I see that the commands are perfectly compatible, but I have to learn the new "magic" commands (those with the underscore _ sign)

I only modified the screen (no screen 13).

It will be a very fast game ......

As soon as I can I will add lines ....

My biggest enemy is the lack of time for work commitments .....

Any suggestion is well accepted!

Have a nice day

Code: QB64: [Select]
  1. handle& = _NEWIMAGE(320, 240, 256)
  2. SCREEN handle&
  3.  
  4.  
  5.  
  6.  
  7. LINE (0, 0)-(320, 240), 54, BF
  8.  
  9. NVX = 50
  10. NVY = 50
  11. COLN = 15
  12.  
  13. CIRCLE (NVX - 10, NVY + 5), 5, COLN
  14. PAINT (NVX - 10, NVY + 5), COLN
  15.  
  16. CIRCLE (NVX, NVY), 10, COLN
  17. PAINT (NVX, NVY), COLN
  18. CIRCLE (NVX + 20, NVY - 10), 14, COLN
  19. PAINT (NVX + 20, NVY - 10), COLN
  20. CIRCLE (NVX + 40, NVY - 16), 18, COLN
  21. PAINT (NVX + 40, NVY - 16), COLN
  22. CIRCLE (NVX + 60, NVY - 10), 14, COLN
  23. PAINT (NVX + 60, NVY - 10), COLN
  24. CIRCLE (NVX + 80, NVY), 10, COLN
  25. PAINT (NVX + 80, NVY), COLN
  26. CIRCLE (NVX + 90, NVY + 5), 5, COLN
  27. PAINT (NVX + 90, NVY + 5), COLN
  28.  
  29.  
  30. LINE (NVX - 10, NVY)-(NVX + 90, NVY + 10), COLN, BF
  31. LINE (NVX - 15, NVY + 5)-(NVX + 95, NVY + 10), COLN, BF
  32. LINE (NVX - 18, NVY + 11)-(NVX + 98, NVY + 11), COLN
  33. LINE (NVX - 24, NVY + 12)-(NVX + 104, NVY + 12), COLN
  34. LINE (NVX - 34, NVY + 13)-(NVX + 114, NVY + 13), COLN
  35.  
  36.  
  37. '************** TERRENO
  38.  
  39. LINE (0, 200)-(320, 240), 262, BF
  40. LINE (0, 200)-(320, 208), 2, BF
  41. LINE (0, 200)-(320, 202), 10, BF
  42.  
  43. FOR T = 1 TO 80
  44.     TERX = INT(RND(1) * 320)
  45.     TERY = INT(RND(1) * 30) + 210
  46.  
  47.     LINE (TERX, TERY)-(TERX + 3, TERY + 2), 298, BF
  48.  
  49. '***** castello
  50.  
  51. CAX = 260
  52. CAY = 200
  53. CLCAS = 22
  54.  
  55.  
  56. PSET (CAX, CAY)
  57. DRAW "C22U100H20U20R20D20R20U20R20D20R20D120L60"
  58. PAINT (CAX + 20, CAY - 20), 22
  59.  
  60. 'PRZX = INT(RND(1) * 98) + 1
  61. 'RZY = INT(RND(1) * 98) + 1
  62.  
  63.  
  64. FOR T = 1 TO 40
  65.     PRZX = INT(RND(1) * 80) + 260
  66.     PRZY = INT(RND(1) * 100) + 95
  67.  
  68.     LINE (PRZX, PRZY)-(PRZX + 3, PRZY + 2), 20, BF
  69.  
  70.  
  71. ' WINDOWS
  72. CIRCLE (CAX + 40, CAY - 70), 8, 0
  73. PAINT (CAX + 40, CAY - 70), 0
  74. LINE (CAX + 32, CAY - 70)-(CAX + 48, CAY - 55), 0, BF
  75.  
  76. ' DOOR
  77. CIRCLE (CAX + 40, CAY - 25), 14, 0
  78. PAINT (CAX + 40, CAY - 25), 0
  79. LINE (CAX + 26, CAY - 25)-(CAX + 54, CAY), 0, BF
  80.  
  81.  
  82. LINE (CAX, CAY - 65)-(CAX + 10, CAY - 75), 0, BF
  83.  
  84.  
  85. '***** ATTACCANTE
  86.  
  87. ' GUN
  88. GUNX = 170
  89. GUNY = 193
  90.  
  91. LINE (GUNX - 12, GUNY - 5)-(GUNX + 16, GUNY), 21, BF
  92. LINE (GUNX + 16, GUNY - 6)-(GUNX + 17, GUNY + 1), 21, BF
  93.  
  94.  
  95. CIRCLE (GUNX, GUNY), 8, 0
  96. PSET (GUNX, GUNY)
  97. DRAW "C0U4D8U4R4L8R4E4G8E4F4H8"
  98.  
  99. FLX = 110
  100. FLY = 170
  101.  
  102. PSET (FLX, FLY)
  103.  
  104. DRAW "C42R12D18H6G6U18R12"
  105. PAINT (FLX + 2, FLY + 2), 42
  106.  
  107. LINE (FLX, FLY + 3)-(FLX + 12, FLY + 7), 14, BF
  108.  
  109. FLX = 265
  110. FLY = 80
  111.  
  112. PSET (FLX, FLY)
  113.  
  114. DRAW "C14R12D18H6G6U18R12"
  115. PAINT (FLX + 2, FLY + 2), 14
  116.  
  117. LINE (FLX, FLY + 3)-(FLX + 12, FLY + 7), 2, BF
  118.  
  119.  
  120. FLX = 305
  121. FLY = 80
  122.  
  123. PSET (FLX, FLY)
  124.  
  125. DRAW "C14R12D18H6G6U18R12"
  126. PAINT (FLX + 2, FLY + 2), 14
  127.  
  128. LINE (FLX, FLY + 3)-(FLX + 12, FLY + 7), 2, BF
  129.  
  130.  
  131.  
  132.  
  133.  

36
Programs / Re: Simple colours routine
« on: March 01, 2019, 03:15:07 pm »
Welcome to the forum qb4ever!

Here's a simplification of your code, if you allow me. If you don't like the numbers showing, just set showNumbers = 0.

When you post code, make sure to enclose your source in a [code] block:

[code]
Code: QB64: [Select]
  1. CONST showNumbers = 1
  2.  
  3. handle& = _NEWIMAGE(1000, 600, 256)
  4. SCREEN handle&
  5. FOR BOX = 1 TO 25
  6.     WLX = 0
  7.     FOR CLR = CLR TO CLR + 24
  8.         IF CLR > 309 THEN EXIT FOR
  9.         LINE (WLX, WLY)-(WLX + 30, WLY + 30), CLR, BF
  10.  
  11.         IF showNumbers THEN
  12.             COLOR 0
  13.             _PRINTSTRING (WLX + 1, WLY + 1), LTRIM$(STR$(CLR))
  14.             COLOR 15
  15.             _PRINTSTRING (WLX, WLY), LTRIM$(STR$(CLR))
  16.         END IF
  17.  
  18.         WLX = WLX + 34
  19.     NEXT
  20.     WLY = WLY + 40
  21. NEXT BOX
  22.  
  23.     LOCATE 34, 3: INPUT A
  24.  
  25.     LINE (270, 150)-(370, 250), A, BF
  26.  
  27.     LINE (0, 300)-(30, 330), A + 1, BF
  28.     LINE (40, 300)-(70, 330), A + 2, BF
  29.     LINE (80, 300)-(110, 330), A + 3, BF
  30.     LINE (120, 300)-(150, 330), A + 4, BF
  31.     LINE (160, 300)-(190, 330), A + 5, BF
  32.     LINE (200, 300)-(230, 330), A + 6, BF
  33.     LINE (240, 300)-(270, 330), A + 7, BF
  34.     LINE (280, 300)-(310, 330), A + 8, BF
[/code]

Thanks Felipe, and sorry for don't post the source in a code block.

I went back to using BASIC three months ago after 22 years that I did not write a line of software:).

I have to recover from my long hibernation ....

37
Programs / Re: Simple colours routine
« on: March 01, 2019, 01:41:37 pm »
Great Pete !
So I'm not the oldest programmer : )

38
Programs / Re: Simple colours routine
« on: March 01, 2019, 11:52:42 am »
Thanks bplus

39
Programs / Re: Simple colours routine
« on: March 01, 2019, 09:24:07 am »
Welcome to forum qb4ever!

Your history a bit like mine, except I never worked with 256 color scheme that I recall. I was quite taken by RGB and RGBA color scheme!

:) I remember SCREEN 13......

40
Programs / Simple colours routine
« on: March 01, 2019, 07:40:36 am »
I started, many years ago, with GWbasic and then with QB45.
Between the end of the 80s and the beginning of the 90s I had fun programming videogames for my friends.
Then, I left the basic.
A few months ago I found QB64 and thank you for making me go back in years.
I enclose a small routine, which I use to remind me of the numbering of the first 256 colors.
It is not optimized, because I use it only for myself.
Sorry for any errors in English, but my level is just sufficient.
We stay in touch !

------------------------------
handle& = _NEWIMAGE(1000, 600, 256)
SCREEN handle&

CLR = 0

FOR BOX = 1 TO 25
    LINE (WLX, WLY)-(WLX + 30, WLY + 30), CLR, BF
    CLR = CLR + 1
    WLX = WLX + 34
NEXT BOX

WLX = 0

FOR BOX = 1 TO 25
    LINE (WLX, WLY + 40)-(WLX + 30, WLY + 70), CLR, BF
    CLR = CLR + 1
    WLX = WLX + 34
NEXT BOX

WLX = 0

FOR BOX = 1 TO 25
    LINE (WLX, WLY + 80)-(WLX + 30, WLY + 110), CLR, BF
    CLR = CLR + 1
    WLX = WLX + 34
NEXT BOX

WLX = 0

FOR BOX = 1 TO 25
    LINE (WLX, WLY + 120)-(WLX + 30, WLY + 150), CLR, BF
    CLR = CLR + 1
    WLX = WLX + 34
NEXT BOX

WLX = 0

FOR BOX = 1 TO 25
    LINE (WLX, WLY + 160)-(WLX + 30, WLY + 190), CLR, BF
    CLR = CLR + 1
    WLX = WLX + 34
NEXT BOX

WLX = 0

FOR BOX = 1 TO 25
    LINE (WLX, WLY + 200)-(WLX + 30, WLY + 230), CLR, BF
    CLR = CLR + 1
    WLX = WLX + 34
NEXT BOX

WLX = 0

FOR BOX = 1 TO 25
    LINE (WLX, WLY + 240)-(WLX + 30, WLY + 270), CLR, BF
    CLR = CLR + 1
    WLX = WLX + 34
NEXT BOX

WLX = 0

FOR BOX = 1 TO 25
    LINE (WLX, WLY + 280)-(WLX + 30, WLY + 310), CLR, BF
    CLR = CLR + 1
    WLX = WLX + 34
NEXT BOX

WLX = 0

FOR BOX = 1 TO 25
    LINE (WLX, WLY + 320)-(WLX + 30, WLY + 350), CLR, BF
    CLR = CLR + 1
    WLX = WLX + 34
NEXT BOX

WLX = 0

FOR BOX = 1 TO 25
    LINE (WLX, WLY + 360)-(WLX + 30, WLY + 390), CLR, BF
    CLR = CLR + 1
    WLX = WLX + 34
NEXT BOX
WLX = 0

FOR BOX = 1 TO 25
    LINE (WLX, WLY + 400)-(WLX + 30, WLY + 430), CLR, BF
    CLR = CLR + 1
    WLX = WLX + 34
NEXT BOX
WLX = 0

FOR BOX = 1 TO 25
    LINE (WLX, WLY + 440)-(WLX + 30, WLY + 470), CLR, BF
    CLR = CLR + 1
    WLX = WLX + 34
NEXT BOX
WLX = 0

FOR BOX = 1 TO 10
    LINE (WLX, WLY + 480)-(WLX + 30, WLY + 510), CLR, BF
    CLR = CLR + 1
    WLX = WLX + 34
NEXT BOX


JH:
WLX = 2: WLY = 0
LOCATE 34, 3: INPUT A
'LINE (WLX + (A + 4), WLY + 22)-(WLX + (A + 6), WLY + 27), 14, B

LINE (270, 150)-(370, 250), A, BF

LINE (0, 300)-(30, 330), A + 1, BF
LINE (40, 300)-(70, 330), A + 2, BF
LINE (80, 300)-(110, 330), A + 3, BF
LINE (120, 300)-(150, 330), A + 4, BF
LINE (160, 300)-(190, 330), A + 5, BF
LINE (200, 300)-(230, 330), A + 6, BF
LINE (240, 300)-(270, 330), A + 7, BF
LINE (280, 300)-(310, 330), A + 8, BF



GOTO JH

Pages: 1 2 [3]