Hobby Basic, ένας μικρός διερμηνευτής για την κονσόλα των Windows

To coffee project της ημέρας.

Lights Out παζλ γραμμένο στην Hobby BASIC για την κονσόλα των Windows.

Κάνοντας κλικ σε μια λάμπα αντιστρέφει την κατάσταση της (ON/OFF), όπως και των γειτονικών λαμπών.
Σκοπός είναι να σβήσουν και οι 25 λάμπες του πίνακα.

Μετέφερα αυτούσια την flash version του παζλ (περιλαμβάνεται στην συλλογή μου) ενώ προς έκπληξη μου σήμερα είδα πως υπάρχει ακόμα online.

To πρόγραμμα βρίσκεται στον φάκελο EXAMPLES/GAMES

14 level με αυξανόμενο βαθμό δυσκολίας.

1679919652382.png

Have fun with Hobby BASIC.
 
Hobby BASIC 1.5.6

Ένα νέο update στον διερμηνευτή.

Προστέθηκε η εντολή RESIZE.

Η εντολή αλλάζει το μέγεθος (διπλασιάζει) μια συγκεκριμένη περιοχή της οθόνης, και την τοποθετεί σε μια νέα θέση.

Η σύνταξη της είναι:
RESIZE {x,y,cols,rows,xdest,ydest}

Ένα απλό (ας το πούμε) εφέ αντανάκλασης κειμένου. Δημιουργώ ένα ASCII A σε ένα αρχείο κειμένου.

1680676283554.png

Λίγες γραμμές Hobby BASIC...
Κώδικας:
    view 11
    screen 80,42
    color 0,7
    cls

    path$ = PATH('DATA\A.TXT')

    load path$,a$
    if V0 = -1 then alert 0,'Not found',path$ : end

    locate 0,16
    pen 12 : print a$

    resize 0,16,7,5,8,11
    resize 8,11,14,10,23,1

    copy 0,0,50,20
    paste 0,22

    flip 0,22,50,20,1
    repaint 0,22,50,20,12,4

    inkey
    color 0,7 : cls
    end

1680676194914.png

Για ακόμα πιο cool αντανακλάσεις δείτε εδώ.

Have fun with Hobby BASIC.
 
To coffee project της ημέρας.

Tilt Maze γραμμένο στην Hobby BASIC για την κονσόλα των Windows.
Remake ενός παιχνδιού της Andrea Gilbert που έγραψα πριν αρκετά χρόνια, υπάρχει ακόμα online.
Σκοπός σας εδώ είναι να περάσετε πάνω από όλα τα μπλέ κουτάκια με το κόκκινο. Υπάρχουν 11 επίπεδα.
Το πρόγραμμα βρίσκεται στον φάκελο EXAMPLES/GAMES.

HOBBY-BASIC-TILT-MAZE.png


Have fun with Hobby BASIC.
 
Νάσαι καλά φίλε Rygar, σε ευχαριστώ για το όμορφο σχόλιο. :thumbup:
 
Στα συνοδευτικά παραδείγματα της Hobby BASIC πρόσθεσα ένα απλοϊκό Othello για την κονσόλα των Windows 7 και 10.
Το παιχνίδι βρίσκεται στον φάκελο EXAMPLES/GAMES, παίζεται με το ποντίκι.

Στην έκδοση Othello 1.0 η CPU επιλέγει τυχαία κίνηση οπότε και είναι εύκολος αντίπαλος.

Ένας Minimax αλγόριθμος είναι έτοιμος αλλά ζορίζει πολύ τον διερμηνευτή μου και το παιχνίδι γίνεται unplayable, οπότε και τον αφαίρεσα, έστω προσωρινά. Στο pc μου σε βάθος σκέψης 3, χρειάζεται 15 δευτερόλεπτα να απαντήσει η CPU ενώ ο ίδιος αλγόριθμος σε εκτελέσιμο ενός C compiler και σε βάθος σκέψης 5, χρειάζεται μόλις 4-5 δευτερόλεπτα.

Hobby-BASIC-OTHELLO.png


Have fun with Hobby BASIC.
 
Hobby-BASIC.png

Hobby BASIC 1.6.0

Ένα νέο update στον διερμηνευτή με αρκετές εσωτερικές αλλαγές που συμβάλλουν στην σταθερότητα, στην ταχύτητα, και γενικά στην καλύτερη λειτουργία του διερμηνευτή.

Στα συνοδευτικά παραδείγματα της Hobby BASIC πρόσθεσα το Box Up ένα παιχνίδι παζλ για την κονσόλα των Windows 7 και 10.
Το Box Up είναι remake ενός παιχνιδιού της Andrea Gilbert που έγραψα ξανά πριν αρκετά χρόνια.
Το παιχνίδι βρίσκεται στον φάκελο EXAMPLES/GAMES.

Είναι ένα πολύ ενδιαφέρον παζλ.
Με είχε εντυπωσιάσει από την πρώτη στιγμή η απλότητα του και ο βαθμός δυσκολίας του.

This is a puzzle similar to traditional sokoban.
But here all the boxes are hollow and open on one side.
They can only be moved by pushing from the inside.
There are two sizes of boxes, small and large.
The aim is to push the small red box inside the blue box.
Black boxes may help or hinder your progress.
A small box inside a large box can be pushed together.

Use keyboard arrows to move.
Press 2 to skip to next level.
Press 1 for previous level.
Press spacebar to restart level.
Press S to toggle music on/off.

For Windows 7/10.

HOBBY-BASIC-BOX-UP-PUZZLE-LEVEL5.png


Have fun with Hobby BASIC.
 
Τελευταία επεξεργασία:
Κόλλησα στο Box Up στην δεύτερη πίστα και στο Tilt Maze στην τρίτη. Αρχίζω και αμφιβάλλω για την νοημοσύνη μου. Για το Box Up υπάρχει κανένα άλλο πλήκτρο εκτός από τα βελάκια και το space για level restart? Διαφορετικά, δεν βλέπω πως μπορεί να βγεί η δεύτερη πίστα. Πάντως συγχαρητήρια για το όλο εγχείρημά σου με την Hobby Basic και τα Puzzle Games.
 
Καλημέρα,

Σε ευχαριστώ που δοκίμασες την Hobby BASIC και το παιχνίδι. Μόνο το space.

Ας δούμε βήμα βήμα την 2η.

Πάνω το κόκκινο.
1688378539229.png

Κάτω το μπλέ.
1688378552679.png

Τέλος.
1688378564369.png


Τις έχω βγάλει παραπάνω από μία φορά και τις 17 πίστες, αλλά συνεχίζει να με ζορίζει.
Δίχως να θέλω να σε απογοητεύσω, ίσως χάσεις τον ύπνο σου με κάποιες από τις επόμενες. :thumbdown:
 
Ααααα, δεν ήξερα ότι μπορείς να μετακινήσεις το μεγαλύτερο τετράγωνο! Ευχαριστώ.
 
Hobby BASIC 1.6.4

Ένα νέο update στον διερμηνευτή με αρκετές μικρές εσωτερικές αλλαγές.

Hobby BASIC now works more stable on Windows 10. Almost all accompanying examples run on Windows 10 without the need to "Use Legacy Console" option. Right now, only DRAW.BAS and BOXUP.BAS examples need it.

Πρόσθεσα ένα νέο παζλ στα συνοδευτικά προγράμματα της Hobby BASIC, λέγεται Freefall.
Το Freefall είναι remake ενός Java παιχνιδιού που έγραψα ξανά πριν αρκετά χρόνια.
Το παιχνίδι βρίσκεται στον φάκελο EXAMPLES/GAMES.

Freefall is a remake of an old Java game.
The aim of this game is to remove all colored shapes from the board.
Keep in mind that colored shapes are always subject to gravity first.
The number of moves you can make in each level is limited.

Click on a shape and move mouse right or left, then release mouse.
Press spacebar to restart room.
Press 2 to skip to next room.
Press 1 for previous room.
Press S to toggle music on/off.


Hobby-BASIC-Freefall-Level1.png
 
Έχει 20 level. Σταμάτησες στην 11? Εχθές που έπαιξα όλα τα level για ένα final test στον κώδικα, θεώρησα πως κάποιο λάθος έχω κάνει στην 11. Δεν μπορούσα να την λύσω. Αλλά όχι.
 
Και σε μια προηγούμενη, δεν θυμάμαι ποια είχα κολλήσει αλλά τελικά βγήκε με μια κίνηση.
 
Είναι έτοιμα όλα τα level του παιχνιδιού, σύνολο 32.
Τα είδα όλα εχθές βράδυ με το level 24. Είπα δεν μπορεί να βγει με 8 κινήσεις, κάποιο λάθος υπάρχει :lol:


1692447394327.png
 
Τελευταία επεξεργασία:
Στα Windows 7 και 10, η Hobby BASIC χρησιμοποιεί θέματα από τα Windows Terminal Themes.
Έχει 7 προκαθορισμένα, αλλά είναι εύκολο να προστεθούν περισσότερα.

0 LEGACY
1 WINDOWS_NEW
2 ADVENTURE
3 TANGO_DARK
4 ENCOM
5 DAY_3024
6 CBM

Παράδειγμα, στον κώδικα του TV.BAS αντικαθιστώ την μεταβλητή LEGACY με DAY_3024.
Κώδικας:
    rem  change_theme(LEGACY)
    change_theme(DAY_3024)


1692448595836.png
1692448624123.png

Have fun with Hobby BASIC.
 
Τελευταία επεξεργασία:
Hobby BASIC 1.6.5

Ένα νέο update στον διερμηνευτή με minor bug-fixes.

Πρόσθεσα ένα νέο παζλ στα συνοδευτικά προγράμματα της Hobby BASIC.
Το Q είναι ένα κρυμμένο mini-game μέσα στο Ericsson T68i (τo έγραψα ξανά πριν αρκετά χρόνια).
Το παιχνίδι βρίσκεται στον φάκελο EXAMPLES/GAMES.

Q is a hidden puzzle game inside Ericsson T68i.
The goal is to place the colored marbles in their respective holes.
Click and hold mouse on a marble, choose direction and release mouse.

Press spacebar to restart room.
Press 2 to skip to next room.
Press 1 for previous room.
Press S to toggle music on/off.

Q-PUZZLE-HOBBY-BASIC.png


Have fun with Hobby BASIC.
 
Οι εκδόσεις 1.6.x έχουν ένα minor bug που ανακάλυψα πρόσφατα και το διόρθωσα. Ένα crash σε reallocation δυναμικής μνήμης, (στην Hobby BASIC η διαχείριση μνήμης είναι εντελώς δυναμική). Εκ παραδρομής υπήρχε και στην έκδοση 1.6.5 που ανέβασα πριν λίγες ώρες μαζί με το Q game. Πραγματοποιήθηκε ένα silent update πριν από λίγο στην έκδοση 1.6.5. Αν κάποιος κατέβασε την διερμηνευτή σήμερα και αντιμετώπισε πρόβλημα στα παιχνίδια, ή κάποια περίεργη συμπεριφορά, λογικά είναι οκ τώρα.

1693517110161.png

Have fun with Hobby BASIC.
 
Hobby BASIC 1.6.7

Ένα νέο update στον διερμηνευτή.

Μια νέα εντολή, ακολουθεί μια σύντομη περιγραφή της στα Αγγλικά.

Introducing TYPE statement.

The TYPE statement defines a data type that contains one or more elements.
The type of each element (or member) can be either a variable or a string.
The declaration of a type must always precede its use. Types only have
rem global scope, i.e. they are declared outside functions.

Κώδικας:
    ! type declaration
    TYPE Deck (Suit$,Value) 52
 
    ! defining type elements
    Deck:[1].Suit$ = "Club"
    Deck:[1].Value = 2
 
    ! accessing type elements
    for i = 0 to SIZE(Deck:[])-1
    print Deck:[i].Value;
    next

Το πρόγραμμα PBOOK.BAS προστέθηκε στον φάκελο EXAMPLES/MISC.
Είναι ένας απλοϊκός τηλεφωνικός κατάλογος για την κονσόλα.
Οι δυνατότητες του:

Καταχώρηση (όνομα και τηλέφωνο).

1696673343600.png

Προβολή Λίστας.

1696673352131.png

Διαγραφή (με αριθμό καταχώρησης).

1696673371520.png

Αναζήτηση (με όνομα).

1696673399794.png

Have fun with Hobby BASIC.
 
Πίσω
Μπλουζα