Quantcast
Channel: Small Basic
Viewing all 669 articles
Browse latest View live

How Long should I use Small Basic before taking on a Big language?

$
0
0

 There’s always something to think about in the world of Small Basic and one topic likely to emerge is ‘How Long should I use Small Basic before taking on a Big language?’

It’s a subjective topic and certainly depends on the individual’s outlook and objectives. None the less the question was asked, thoughts were exchanged and here’s a list.

If your objectives include using it as an introductory language to programming with a view to learn larger languages then these thoughts maybe helpful.

 

 

  Before leaping into a BIG language:

Qualitative Consideration

Before leaping into a BIG language you will benefit from finding out about, using properly, and developing a good understanding of:

  • Statements, comments and Readability
  • Objects, operations and properties
  • Variables and constants
  • Branching  – conditional and discretionary
    • For, If Else ElseIf, While, Goto and Calling
    • Iteration and Loops
  • Asynchronous Events, Handlers and Callbacks
  • User input and interaction
  • Arrays and Stacks
  • File input and output, local and remote
  • String Manipulation
  • Animate Sprites and Collision detection
  • Incremental Development, Testing and Software Build
  • Testing and debugging
  • Designing and some high level planning
  • Structure, Optimisation and Reusable code

You could also explore a bit of:

  • Parallel Programming, Security and Focus

These concepts are used in other languages. Small Basic gives you a great opportunity to understand them.  

 Quantitative Consideration

It would be negligent to say chronologically how long you should stay exclusively with SB. Critical thinking and an innovative learning map on your part might be suitable here.

Maybe as long as it takes to check all these boxes off? Maybe this is too many boxes?

The following list could help derive a personal time-line:

  • Finish working through the Curriculum
  • Study some wiki’s that are relevant to you
  • Be competent to Solve the Monthly Challenges
  • And be able to answer a good proportion of forum questions.

My story is I’ve just spent 1yr and 4 months learning about this stuff and really enjoyed it. I’ve also just started to learn C#, dividing my time 75% C# and 25% SB.   

 

When leaping into a BIG language:

Take a Horse and Cart

My approach to this is to begin learning the language and while learning that language you learn how to program with it. This is always consciously putting the horse before the cart. The 2 move in tandem but you always learn language features before you learn how to program with them. This could be debated semantically on the principle of learning by doing but that would obscure the point.

 The Point is

This can be a useful approach as it’s easy to expect that once you’ve become proficient with SB then you can jump into a larger language and start producing similar programs with as much ease.

Not the case! It’s a new and bigger language that may take a different approach to doing the things mentioned above.

This methodical approach may protect your morale against the frustrations that can result from an expectant approach. 

 Take a Bit of SB with you before you go

Learning to approach programming can be a big take away from SB as well. You’ve learnt how to learn a language and how to program with it. So do the same just be aware that the Big language has lots more stuff to learn. 

 Take your Social A-Game

One other very important feature of the SB project is Social. It’s a welcoming community style environment to learn how talk with other programmers, share your code and collaborate.

Social Media can be confronting at times but hopefully being among fellow beginners and enthusiasts this is minimised and a useful skill can be learnt and developed.

If you do take a social slap and your feathers get ruffled sometimes stepping back and observing the behaviour of others can help, or take a break. The
community does its best to be supportive and to foster a civilised environment.

 

 To Recap

So there’s plenty you can think about as you determine and approach graduation. Getting a checklist together can be helpful. There are some core concepts that are common to programming and SB makes learning them as easy as can be.

Goal kicking is fun. A personalised timeline could be derived using quantitative considerations.

Learning how to approach programming scenarios, including how to learn a new language, is also a great take away from SB.

Finally, this blog post is a subjective analysis. By no means exhaustive or absolute. If you have any questions or thoughts you want share on this then you can always leave a comment or visit the forum. 

 Thank you to:

GoToLoop, Nonki Takahashi and outbyone for sharing their thoughts on this topic on this forum thread: how-long-should-i-use-small-basic-as-a-learning-language    It’s worth a look because some great points were raised that aren’t covered here. This post does not attempt to express their thoughts.


Why Johnny Can't Code

$
0
0

Going back to the very first Small Basic blog post written in 2006 by the author of Small Basic, Vijaye Raji.  It was called Hello World and outlined what Small Basic was all about.  Vijaye says that he was inspired by an article he read called Why Johnny Can't Code by David Brin.

"It all happened in August of last year when someone sent me a pointer to the article Why Johnny Can't Code and it got me thinking.  After all, when I was a kid, I started programming in ZX Spectrum with a built in Sinclair BASIC interpreter and did so until I ran into Turbo BASIC.  To me that transformation was groundbreaking and was the single most important reason why I chose to write software for a living, for the rest of my life."

I went back to this article by David Brin and re-read it, actually read it all the way through for the first time.  It really sums up for me what Small Basic is trying to do and how very important it is.  Its quite a long article, but here are a couple of quotes I would highlight, one at the start outlining what David sees as a problem:

"Oh, today’s desktops and laptops offer plenty of other fancy things — a dizzying array of sophisticated services that grow more dazzling by the week. Heck, I am part of that creative spasm.

Only there’s a rub. Most of these later innovations were brought to us by programmers who first honed their abilities with line-programming languages like BASIC. Yes, they mostly use higher level languages now, stacking and organizing object-oriented services, or using other hifalutin processes that come prepackaged and ready to use"

And later in the article a clear reference to what turned out to be Small Basic.

"It would be trivial for Microsoft to provide a version of BASIC that kids could use, whenever they wanted, to type in all those textbook examples. Maybe with some cool tutorial suites to guide them along, plus samples of higher-order tools. It would take up a scintilla of disk space and maybe even encourage many of them to move on up. To (for example) Visual Basic!"

Well, thanks to Vijaye and others this is now a growing reality.  Maybe one day Small Basic will be part of the standard Windows Operating System.

What is your first Small Basic program?

$
0
0

Following article in Small Basic Forum was written by Zock77 in this February.
post your First SB program!

I also would like to know your first program.  Write about your first Small Basic program into the article above!

Following first programs are already listed in the article.

TMM460 by Zock77

WKN528 by Jibba Jabba

JQB268 by litdev

FMQ297 by Nonki Takahashi

 

 

SideScroller - Small Basic Featured Program

$
0
0

Last month's challenges had vertical scrollers and so this month I suggested a platform type game.

Here is the challenge:

Game Challenge

  1. We have had the vertical scrolling game last month, so now it's the platform game.  The challenge is to have some stationary platforms at varying heights that the player can move along (Left and Right) and jump (Space) up and down to.  If the player falls too far (misses a platform) then they die.
  2. If you get the player jumping to platforms, then create a game out of it with some objective or scoring.

I was very impressed with Zock77's entry.  This really is very good on many levels and budding game writers should have a look at how it all works.

  • It has just 165 lines of well structured code, many of the lines are blank.
  • It has a great 'hand drawn' animated man for moving and jumping.
  • The keyboard control is very simple, smooth and reactive.
  • The layout of the world can easily be changed for different levels.

The code comes with the images in a zip download.

Here is a snippet of the code showing a Subroutine that does the animated walking.

Sub WalkAni
  Animationnum = Animationnum + 1
  If Animationnum >= 4 Then
    Animationnum = 1
  EndIf
  For i = 1 To 3
    Shapes.HideShape(Walk["R"][i])
    Shapes.HideShape(Walk["L"][i])
    Shapes.HideShape(Walk["SR"][i])
    Shapes.HideShape(Walk["SL"][i])
  EndFor
  If Standing = "False" Then
    Shapes.ShowShape(Walk[Direction][Animationnum])
  Else
    If StandAnimNum < 2 Then
      StandAnimNum = StandAnimNum + 1
    EndIf
    Shapes.ShowShape(Walk["S" + Direction][StandAnimNum])
  EndIf
EndSub

As a game it is not fully finished, but this is a fantastic start and could be used as a template to develop further into a very accomplished game.

Already, another Small Basic enthusiast ProfessionalOfSmallBasic added a new level.

Calendar Program originally written in 1986 for F-BASIC and 8-bit micro computer FM-7

$
0
0

On Monday, Nonki posted What is your first Small Basic program?

Based on this Small Basic forum post by Zock77 in February: post your First SB program!

 

  

So I check out this 

Nonki's first Small Basic program is FMQ297.  He rewrote this calendar program for Small Basic v0.8.  Original version was written in 1986 for F-BASIC and 8-bit micro computer FM-7.

 

 

Following pictures show original program list on FM-77, which is the succession model of FM-7.

 

Picture of FM-77

 

Original program list of CAL - Callendar

 

Did anyone else work on F-BASIC?

   - Ninja Ed

Small Basic Guru Awards!! (April 2014)

$
0
0

Congratulations to Nonki, Nonki, and Nonki! =^)

I tried to stop the triple threat! I'll try again for May! Thanks again to Nonki for some fantastic contributions!

 

Post your MAY contributions here:

http://social.technet.microsoft.com/wiki/contents/articles/24252.technet-guru-contributions-for-may-2014.aspx

 

And onto the winners!

Guru Award Small Basic Technical Guru - April 2014  

Gold Award Winner

 

NonkiHistory of Microsoft Small BasicRZ: "This is very impressive. Though not technical in nature, those are invaluable information!"
Ed Price: "I'll jump in and comment but not vote (we had enough voting but not comments). This is a nice jump into the history of Small Basic! I sweetened it up a bit by adding the Blogs and Books sections. After we get all the major blog posts in there with the links, it will act as a really fun trip into the history of Small Basic! A great idea that would be fun for any product!" 

Silver Award Winner

 

NonkiSmall Basic: Default ValueMH: "Great overview on the default values of the Smallbasic IDE. Good point for awareness too, since those values impact the way you work with the IDE."
RZ: "Very useful info. This is true for any programming language, not just SB."
Ed Price: "This lists the default values for all the methods with associated parameters! A great reference that people will want to return to!"

Bronze Award Winner

 

NonkiSmall Basic: ObjectEd Price: "Objects are key for Small Basic. This article does a great job visually showing some UI-related details. And then I helped sweeten it a bit by linking each object in the Object List to its reference page (also on TechNet Wiki). So it's a nice overview. Great article!"
MH: "Good basic explanation of the concept of Objects in Smallbasic and a handy overview of which we have. Hopefully we can add more."

Also worth a mention were the other entries this month:

  • Small Basic Community Council: Focus Areas by Ed Price
    RZ: "It's great to kick off the community council"
    Ed Price: "It's great to see the Small Basic Community Council come together and divide up a lot of these opportunities to bring Small Basic out into the community and to help it shine! Thanks to all the council members, including Nonki!"
  • Features of Microsoft Small Basic v1.0 by Nonki
    MH: "Nice introduction on the features."
    Ed Price: "This is pretty cool. A great overview of Small Basic 1.0! It might be good to list more of the UI buttons in a way similar to how a user navigates them. Great article with good formatting!"
  • Small Basic Community Council by Ed Price
    Ed Price: "And then this article gives the basics of what the Small Basic Community Council does and who's on it. The "Focus Areas" article breaks down what each person is doing."

 

Thanks again to Nonki!

   - Ninja Ed

Small Basic - Database Extension

$
0
0

Over the years a few people have written simple databases in Small Basic saving data in a text file, then performing sorts or other operations on Small Basic arrays of data.

There were a few recent questions on databases and sorting arrays as well as a challenge question on the Small Basic forum.

Here is an example, import ZTC919-1, by Jibba Jabba contributed for this month's challenges (some auto commented File commands need to be un-commented after importing).

And another demonstrating sorts and searches, import CDC823.

This is a great way to learn, but in the real world people usually use commercial databases, which are controlled by a special language, usually SQL (Structured Query Language). 

SQL statements then perform either COMMANDS to modify a database or QUERIES to do searches in the database, returning results.

Learning how to use SQL is a great skill to learn if you are interested in using databases in your programs.  SQL is used by creating a text variable that is passed to the database to perform a COMMAND or QUERY, so most of the work is learning how to create these text commands to do what you want.

In the LitDev extension I created a simple interface to SQLite.  SQLite is a small implementation of an SQL database, where the database is stored in a single file with no special installation or other pre-requisites.  The LitDev extension object for using SQLite is called LDDataBase and has only 4 methods making it quite simple to use.

LDDataBase
SQLite Database with ListView control (see http://zetcode.com/db/sqlite/ for SQLite commands).

AddDataBase
(fileName)

Create or open a database.
This must be called before any SQL methods.
When a table is created it must have first column as "Id INTEGER PRIMARY KEY".

fileNameThe full path to the database file (usually with extension db).
returnsA label to identify the database.

AddListView(width,height)
Add a ListView to view database.
widthThe width of the ListView.
heightThe height of the ListView.
returnsThe ListView control.

Command(database,command)
Perform an SQLite command (not a query) on a database.
databaseThe existing database label (see AddDataBase).
commandThe SQLite Command.
returnsThe number of rows updated.

Query(database,query,listview,getRecords)
Perform an SQLite Query (not a command) on a database.
databaseThe existing database label (see AddDataBase).
queryThe SQLite Query.
Example "SELECT * FROM myTable;".

listviewA ListView to populate with the query result or "" for none.
getRecordsOptionally return an array of results ("True" or "False").
Remember large multi-dimensional arrays in Small Basic are slow.

returnsOptional array of results or "".

A simple example comes with the LitDev extension, located in folder other-samples/LDDataBase.sb in the zip download and is based on the samples on the SQLite website.  This is an excellent website and is a great place to start using SQL databases; there are many other good SQL resources and tutorials, for example techonthenet.

The following is a exert from this example.

'Set a database file - it is created if it doesn't exist yet
datFile = Program.Directory+"\database.db"
database = LDDataBase.AddDataBase(datFile)
 
'Create a listview control to view the table data
GraphicsWindow.Show()
listView = LDDataBase.AddListView(GraphicsWindow.Width,GraphicsWindow.Height)
 
'Create a Cars table
command = "BEGIN TRANSACTION;"
command = command + "DROP TABLE IF EXISTS Cars;"
command = command + "CREATE TABLE Cars(Id INTEGER PRIMARY KEY, Name TEXT, Cost NUM);"
command = command + "INSERT INTO Cars(Name,Cost)VALUES('Audi','52642');"
command = command + "INSERT INTO Cars(Name,Cost)VALUES('Mercedes','57127');"
command = command + "INSERT INTO Cars(Name,Cost)VALUES('Skoda','9000');"
command = command + "INSERT INTO Cars(Name,Cost)VALUES('Volvo','29000');"
command = command + "INSERT INTO Cars(Name,Cost)VALUES('Bentley','350000');"
command = command + "INSERT INTO Cars(Name,Cost)VALUES('Citroen','21000');"
command = command + "INSERT INTO Cars(Name,Cost)VALUES('Hummer','41400');"
command = command + "INSERT INTO Cars(Name,Cost)VALUES('Volkswagen','21600');"
command = command + "COMMIT;"
LDDataBase.Command(database,command)
 
'Some SQL commands on this databse
LDDataBase.Query(database, "SELECT * FROM Cars;", listView, "False")

A ListView is a special control used to display QUERY results like below from the sample.

Using the extension is easy, but mastering SQL is a big challenge.  It is however well worth getting some experience with SQL databases if you are interested in practical computing. 

It is not necessary to learn much SQL to use a database to store and manipulate your data efficiently in Small Basic; the sample contains everything for quite advanced use.  The storage, sorting and querying of the data is then much easier and faster compared to using Small Basic arrays, leaving you free to concentrate on the other features of your program logic.

How do you get an image for your program?

$
0
0

To create your program, you sometimes need appropriate images for example game characters.  You may find copyright free image from internet.

But you can create images with some tools.  Today, I'd like to introduce these tools for creating images.

1. Paint

This program is included in Windows and can create .png, .jpg, .bmp, and .gif format image files. I recommend you to use .png format. Because .png file is compact and can explain transparent.  But Paint program doesn't have ability to use transparent color.

2. GIMP

GIMP (GNU Image Manipulation Program) is a free program and manipulates many kind of image format.  I always use this program for adding transparent color to the image made with Paint.  Usage is listed below.

  1. Start GIMP.
  2. [File] [Open] your image file to manipulate.
  3. [Layer] [Transparency] [Add Alpha Channel].
  4. Select [Fuzzy Select Tool] in Toolbox.
  5. Click the color to be transparent in your image.
  6. Push [Delete] key.
  7. [File] [Export As] such as .png file.

3. PowerPoint

Today's third tool is a Microsoft Office program which has Drawing tool.  I like PowerPoint best.  With following steps you can create an image with transparent color.

  1. Start PowerPoint.
  2. Click mouse right button on thumbnail of title slide.
  3. Select [Delete Slide].
  4. [HOME] [New Slide] [Blank] [Add Slide].
  5. Draw image with [Drawing] tools.
  6. Select shapes you'd like to save.
  7. Click mouse right button on the selected shapes.
  8. Select [Save As Picture] as .png file.
  9. Also [File] [Save As] .ppt file.

[*] The PowerPoint screen shot above is a just sample.  Actually, PowerPoint Online version doesn't have an ability to [Save As Picture].  So please use desktop version.


History of Microsoft Small Basic - Featured Article

$
0
0

Congratulations to  for winning the Small Basic Technical Guru Gold Medal for April!

Nonki's cartoony self-portrait was made from a Paint-like program that he wrote himself, from Small Basic:

Nonki Takahashi's avatar 

Here is his winning article:

History of Microsoft Small Basic

This is an interesting section from that article:

Books Published

2010-07-01Beginning Microsoft Small Basic
2010-07-01Computer Bible Games for Small Basic 
2010-09-01Developer's Reference Guide to Small Basic 
2010-09Basic Computer Games - Small Basic Edition 
2011-06-15はじめての Small Basic   (Japanese)
2011-08-02Small Basic fur Kids   (German)
2011-12-10Small Basic で let's プログラミング   (Japanese)
2011-12-31David Ahl's Small Basic Computer Adv. 
2013-02-18Programming Home Projects with Small Basic 
2013-02-18Programming Games with Small Basic 
2013-08-11Computer Bible Games for Small Basic (Color Edition) 
2013-11-20Principles of Programming (using Small Basic) 
2013-11-24Teaching Kids to Program with Small Basic 

  

And here are all the April winning articles for Small Basic again...

 

Guru Award Small Basic Technical Guru - April 2014  

Gold Award Winner

 

NonkiHistory of Microsoft Small BasicRZ: "This is very impressive. Though not technical in nature, those are invaluable information!"
Ed Price: "I'll jump in and comment but not vote (we had enough voting but not comments). This is a nice jump into the history of Small Basic! I sweetened it up a bit by adding the Blogs and Books sections. After we get all the major blog posts in there with the links, it will act as a really fun trip into the history of Small Basic! A great idea that would be fun for any product!" 

Silver Award Winner

 

NonkiSmall Basic: Default ValueMH: "Great overview on the default values of the Smallbasic IDE. Good point for awareness too, since those values impact the way you work with the IDE."
RZ: "Very useful info. This is true for any programming language, not just SB."
Ed Price: "This lists the default values for all the methods with associated parameters! A great reference that people will want to return to!"

Bronze Award Winner

 

NonkiSmall Basic: ObjectEd Price: "Objects are key for Small Basic. This article does a great job visually showing some UI-related details. And then I helped sweeten it a bit by linking each object in the Object List to its reference page (also on TechNet Wiki). So it's a nice overview. Great article!"
MH: "Good basic explanation of the concept of Objects in Smallbasic and a handy overview of which we have. Hopefully we can add more."

 

   

Nonki won all three medals for April! He's been a valuable contributor to the Small Basic community!

   - Ninja Ed

Small Basic - Dudeson's Smoke

$
0
0

Thinking back over some of the most innovative Small Basic contributors of the past brings to mind Dudeson.

He came up with this very simple, but incredibly effective code for modelling smoke.  Here is a link to his first forum post for his Smoke Editor.

Import PBH865 for the example below - there are several other variants.

Basically, it just takes an image of smoke and moves, zooms, fades (transparency) and rotates it.  To create smoke, you click and move the mouse while it is held down.

The simplest methods are sometimes the best.

Quite often you see effects that look amazing in 3D games or even films and actually they are quite simple techniques that are just fantastically effective.

Here is another inspired by Dudeson, a bit more maths in it but still effective, creating dynamic moving shadows from this thread Dynamic Shadows! WOO!!, import CXM437.

Conditon in Small Basic

$
0
0

Introduction

Today, I'd like to write about condition in Small Basic.  I hope this information make you understand Small Basic deeply.

What is Conditon?

In Small Basic, there are two pattern to use conditon as follows.

If condition Then

  statements

EndIf

While condition

  statements

EndWhile

Types of Condition

There are following three types of condition in Small Basic.

  • comparison expression (ex. a < b)
  • logical expression (ex. clicked And moved)
  • logical value (ex. "True")

Comparison Expression

There are follwing six comparison operators in Small Basic.

  • = equal to
  • < less than
  • <= less than or equal to
  • > greater than
  • >= greater than or equal to
  • <> not equal to

Equal to and not equal to are used for text also.  But other operators are for numbers.  If you compare two texts with operators including less or greater, the texts are converted to number zeroes before comparison.  So you can't compare such like "ant">"apple".  To compare order for texts, you should create a subroutine.

Logical Expression 

There are following two logical operators in Small Basic.

  • And
  • Or

Small Basic doesn't have Not operator.  Following code is my alternate solution.

Not ="True=False;False=True;"

While Not[keydown]

  Program.Delay(200)

EndWhile

Logical Value

There are following two logical values in Small Basic.

  • "True"
  • "False"

 These texts are not case-sensitive.  So you can write "TRUE" or "false" for the same purpose.  Actually, Small Basic checks whether the logical value is "True" or not.

Small Basic Challenges of the Month - June 2014

$
0
0

These monthly challenges come from our Small Basic Community Council member, litdev.

These challenges are intended for people who are learning to program for the first time or for those returning to programming who want to start using Small Basic.  Some will be easy, some will be hard - but they will all make you think, and more importantly be GREAT FUN!

Please post your solutions / partial solutions / questions / feedback etc. into this Small Basic Forum thread that will remain 'sticky' for the month.  The only rule is that your solution must use standard Small Basic methods (no extensions).

It would be good if people could post their problems with these challenges so that a discussion can start so that everyone can learn from each other.

Also post feedback on the kind of challenges that you want to see more of in the future.

Small Challenges

  1. Write a program to input 5 numbers and then output them in ascending and descending order (sorted small to big and big to small).
  2. Write a program to replace all occurrences of vowels in a sentence with '*'.
  3. Write a program to draw a picture of a soccer stadium (think world cup in Brasil).  Then have a go at Game Challenge 2.
  4. Write a GraphicsWindow program with buttons to change the background colour of the window.  Perhaps add some texboxes to enter a colour by name or even values for red, green and blue.

 

Math Challenges

  1. Write a program to draw a pie chart
  2. Write a program to calculate the first 1000 prime numbers

 

 

We have had some great game challenge entries recently, so here are 3 more...

Game Challenge 1

Write a 'frustration' board game.

Game Challenge 2

Write a soccer penalty shootout game for 2 players, the striker and the goalkeeper.  The graphics can be quite simple - the challenge is all about gameplay.

 

Game Challenge 3

Write a FPS (First Person Shooter).  A 3D version is unrealistic, but a simple 2D one is quite possible.

I am thinking of enemies that come and go and may shoot at you.  The player has to react and aim with the mouse and fire with a button click to kill the enemies.

Hint: Start with basics of game play (mouse events - variable arrays for enemies and game loop) before adding fancy sound or visual effects.

Community Suggestions (by ProfessionalOfSmallBasic)

  1. Make a Escape Game and it have 3 rooms.
  2. Make a Adjustable Hourglass.
  3. Make a Screen keyboard.

 

Community Suggestions (by Nonki)

  1. Create your program database.
  2. Create a ticker tape animation.
  3. Create a piano recorder using piano sound of Sound.PlayMusic().

 

Community Suggestions (by Jibba Jabba)

  1. Write some code that works out how to center a Window between the top and bottom of the screen.
  2. Make a "flash screen" with or without using an extension.  Center it in the screen. (You can search the forum for how to do this).

 

Community Suggestions (by Athasak)

  1. Click and drag an image.  A little sample here: Import ID: JXW401.

 

Do you have an idea for a future challenge? Please post it in this Small Basic forum thread!

 

 Thanks to litdev for providing us with these fun challenges!

   - Ninja Ed

Small Basic Gurus: Your community needs heroes like you!

$
0
0

A little tongue-in-cheek, but here it goes...

TechNet Gurus... we salute you!

You're awesome, and we know it!

Your knowledge uploads and nifty info nuggets are our life blood at TechNet Wiki.

Every awesome article that gets an award is just the start. We are building up the most sensational collection of gifts of knowledge from eminent community heavy weights and young guns alike. And we plan to promote you and your work wherever we can.

Reputations are being forged.

History is being made.

Generations will know your name.

Your children, grandchildren and great-grandchildren will marvel at your technical prowess.

And now, my mighty code warriors, cool consultants and platform specialists, now your chance is here again.

A new month of possibilities. Another chance to prove YOU are the ONE!

The mighty TechNet Guru medal winner for June!

Take up your mouse and keyboard!

Unleash your mighty words of wisdom and bask in the glory that we bestow upon you!

 

GO GO Gurus! Give, give, give!

 

All you have to do is add an article to TechNet Wiki from your own specialist field. Something that fits into one of the categories listed on the submissions page. Copy in your own blog posts, a forum solution, a white paper, or just something you had to solve for your own day's work today.

 

Drop us some nifty knowledge, or superb snippets, and become MICROSOFT TECHNOLOGY GURU OF THE MONTH!

 

This is an official Microsoft TechNet recognition, where people such as yourselves can truly get noticed!

 

HOW TO WIN

 

1) Please copy over your Microsoft technical solutions and revelations to TechNet Wiki.

2) Add a link to it on THIS WIKI COMPETITION PAGE (so we know you've contributed)

3) Every month, we will highlight your contributions, and select a "Guru of the Month" in each technology.

 

If you win, we will sing your praises in blogs and forums, similar to the weekly contributor awards. Once "on our radar" and making your mark, you will probably be interviewed for your greatness, and maybe eventually even invited into other inner TechNet/MSDN circles!

 

Winning this award in your favoured technology will help us learn the active members in each community.

 

Feel free to ask any questions below.

 

More about TechNet Guru Awards

Submit now : http://social.technet.microsoft.com/wiki/contents/articles/24692.technet-guru-contributions-for-june-2014.aspx

 

We've already got some great contributions in! So join us!

   - Ninja Ed

The Small Basic category on TechNet Gallery

$
0
0

The Small Basic category/tag on TechNet Gallery is growing!

You can see the items that have the most downloads here:

http://gallery.technet.microsoft.com/site/search?f%5B0%5D.Type=Tag&f%5B0%5D.Value=Small%20Basic&f%5B0%5D.Text=Small%20Basic&sortBy=Downloads

 

 

Why Use TechNet Gallery?

So you have stuff to upload, right? You know... Small Basic games, extensions, and even whitepapers, decks, spreadsheets, or images (or at least, I do).

So that means you need a host. You can upload it onto OneDrive or another cloud-based host.

But if you put it on TechNet Gallery, then...

  1. It's instantly part of the Small Basic category of items.
  2. It's going to be found more easily by search engines (you're likely going to get more downloads and views).
  3. People can rate it so you can get a sense of how well it's doing.
  4. People can ask questions in the "Q and A" tab.
  5. You have lots of ways to categorize it and explain it before they download it.
  6. You can easily and clearly replace it with an updated version.
  7. People will go from it to your other Gallery items and to your Profile (to see what you've been doing on the Forums and Wiki as well, and where they'll find a link to your website, Facebook, Twitter, LinkedIn, and/blog.
  8. You'll earn Recognition Points and Achievement Medals, which adds to your reputation.

 

What Can You Put on the TechNet Gallery?

1. Games & Programs

Smaller games work for the Publish button (sharing the URL and Import Code), but for larger games, especially games built with extensions, you'll need to share the entire executable. Examples:

Behnam Azizi    
Avatar of Behnam Azizi              
582 Points                               
View contributions                                View Profile           
                             
Here is another game that I made using Small Basic. I named it Tancraft. It is a 2-player game you can play with one of you friends.I am so thankful to Litdev for his awesome extensions. I used his extension to use an animated image (the explosion of the tanks) in my game. 
            Updated 7/10/2013        
            Released 12/17/2012        
                702 Downloads           

 

Ed Price - MSFT    
Avatar of Ed Price - MSFT                     
288,856 Points       
                      
Tankinator Made by:  Zock77, Cobra355. Tankinator is a fun Tower Defense game, made in the TeamChallenge Small Basic competition.
               Updated 6/5/2014        
            Released 12/21/2012        
                664 Downloads

 

2. Extensions

Why put your extensions up in a place that's separate from all the other extensions? Instead, you can upload them into a library of extensions.

  

3. White Papers

Got a long Wiki article or want to turn all your Wiki articles into a small e-book? Well you can, and then upload your white paper as a PDF to the Gallery.

 
Avatar of Ed Price - MSFT       
288,856 Points                          
 
Small Basic is a programming language that is designed to make programming extremely easy, approachable, and fun for beginners.  Small Basic’s intention is to bring down the barrier and serve as a stepping stone to the amazing world of computer programming.        
       
            Updated 8/9/2013        
            Released 11/11/2012        
                277 Downloads

   

4. PowerPoint Decks

If you taught Small Basic or presented on it, you can share that with the community!

 
Avatar of Ed Price - MSFT                                   
288,856 Points                            
                                 
 This includes all the Lesson 1 decks in a zipped file, so that you don't have to download the decks separately.See Download the Small Basic Curriculum for individual downloads. See Small Basic Curriculum: Online for the written curriculum.
 
            Updated 8/9/2013        
            Released 5/18/2013        
                575 Downloads
 
Avatar of Ed Price - MSFT                           
289,172 Points           
This is the PowerPoint deck for Lesson 2.1 of the Small Basic Curriculum.See Download the Small Basic Curriculum for all the download options. See Small Basic Curriculum: Online for the written curriculum.
            Updated 8/9/2013        
            Released 5/21/2013        
                487

 

5. Spreadsheets

You can also share about Small Basic!

 
Avatar of Jibba Jabba                           
2,492 Points               
     
These statistics are produced and updated by the Small Basic Community, for the Community. They report and graph the Replies, Votes and Views for all the Small Basic Monthly Challenges as at June 4, 2014.      
            Updated 6/5/2014        
            Released 6/4/2014        
              
 
 
 
Avatar of Nonki Takahashi                                                   

3,747 Points            

View contributions                                View Profile           

This is an Excel workbook which contaiins a table of all past Small Basic Challenge of the Month.  Challenge of the Month is started in 2011 to present challenges for Small Basic programmers.  Microsoft Small Basic is a simple progamming language for people who learn programming.             
           Updated 6/6/2014        
            Released 6/5/2014
               

    

6. Small Basic Promotions

These are all the promotional items, including images, logos, posters, flyers, etc. Anything you'd use to promote Small Basic, whether on a website or at an event.

 

 

What TechNet Gallery Tags Should We Use?

We categorize in the Gallery with tags. Here are the tags to use for Small Basic:

  1. Small Basic - All items relating to Small Basic
  2. Small Basic Games
  3. Small Basic Programs
  4. Small Basic Extensions
  5. Small Basic Whitepapers
  6. Small Basic Decks
  7. Small Basic Spreadsheets
  8. Small Basic Promotions - Any promotional items, like posters, logos, or flyers

 

 

Here are all the Gallery items, listed by Release Date:

http://gallery.technet.microsoft.com/site/search?f%5B0%5D.Type=Tag&f%5B0%5D.Value=Small%20Basic&f%5B0%5D.Text=Small%20Basic&sortBy=Date

 

 Thank you to all the contributors!

    - Ninja Ed

 

 
 

Small Basic - Box2D Physics Extension

$
0
0

The LitDev extension includes the LDPhysics object.  This is an interface to the excellent Box2D engine originally written by Erin Catto.  Box2D is an open source library that is used in professional games like Angry Birds and many others.

The Box2D engine allows shapes to realistically interact, bouncing off each other.  Complex compound shapes like cars with moving wheels, inter-meshing cogs, objects connected with ropes and chains and many others can be created.  LDPhysics integrates the Box2D physics engine with shapes and images within a Small Basic GraphicsWIndow.  Not every feature of Box2D is included in LDPhysics, but it is quite extensive and most capabilities are catered for.  The decision to do this means that there are a lot of methods in LDPhysics.

Despite the apparent complexity, the basic ideas are fairly simple and most methods are only their for advanced control of the engine.

  1. Create some shapes or images, set their positions.
  2. Add them to the physics engine 'LDPhysics.Add...', setting their properties.
  3. Repeatedly call an update 'LDPhysics.DoTimestep()' in an infinite game loop to do the physics interaction including move or rotate the shapes.
  4. User interaction is by applying forces to shapes; the engine itself updates their positions.  Interactions are made before the update is made in the game loop.

In summary, the engine uses the laws of physics to update the positions of shapes as they interact with each other, leaving you free to concentrate on fancy visuals engaging game-play.

The documentation for Box2D is a good source for background understanding of the simulation engine.  In addition, there is a detailed LDPhysics guide with plenty of examples included in the LitDev download.  The following is an extract from this getting-started guide for the first and simplest example - just a ball that falls and bounces in a GraphicsWindow.

Example 1 – A falling ball

Create the objects in Small Basic

ball = Shapes.AddEllipse(50,50)

Attach to the physics engine

Give the ball friction=0 and restitution=1 (a bouncy ball).

LDPhysics.AddMovingShape(ball,0,1,1)

Set its initial position near the top of the window with zero rotation (irrelevant for a circle) – if we don’t set its position in the engine it will take the current position of the shape.

LDPhysics.SetPosition(ball,200,100,0)

Create a game loop
This is the repeating loop, where time-steps are performed to show the motion. The physics engine will update the position and rotation of the bodies and redraw them. We put a short delay to keep it smooth.

While ("True")
  LDPhysics.DoTimestep()
  Program.Delay(20)
EndWhile

The whole thing

ball = Shapes.AddEllipse(50,50)
LDPhysics.AddMovingShape(ball,0,1,1)
LDPhysics.SetPosition(ball,200,100,0)
While ("True")
  LDPhysics.DoTimestep()
  Program.Delay(20)
EndWhile

Below is a 'pool game' program that comes with the LitDev extension download.

Here is a screen shot from Zock77's excellent dirt-bike game using LDPhysics.



In addition to developing your Small Basic games to a new level, it will improve your understanding of the physics describing the way forces, impulses and torques affect the movement of objects.  Perhaps you may even want to try the Box2D engine in other languages; for example Java for Android games.  The LitDev extension can be downloaded from http://litdev.hostoi.com.


SBJump - Small Basic Featured Program

$
0
0

A platform game SBJump has been produced by Coding Cat through Challenge of the Month - May 2014.

Coding Cat said "Lots of time spent polishing the look and feel of the game, and organizing the code so it is as easy to follow as possible".

The import ID of the program is BCL208-4.  To enable to leader board system the file commands at the bottom of the program will need to be uncommented.

My high score was 316 (level 2).  Have fun!

Opening screen shot

 

Screen shot at entering initial for the leader board

WhTurner33's Small Basic Hourglass - Featured Program

$
0
0

In our June Community Challenges:

http://social.msdn.microsoft.com/Forums/en-US/bda60a7e-e9f5-4be3-bcac-e81d160b1fc7/challenge-of-the-month-june-2014?forum=smallbasic

 

This was one of our challenges:

 

Solution for Community Suggestions (by ProfessionalOfSmallBasic).

2.  Make an Adjustable Hourglass.

 

Here is WhTurner33's submission:

 

The program is published as MNL048

 

A screenshot is given below:

 

Great hourglass by WhTurner33!

http://smallbasic.com/program/?MNL048

Be sure to check in on the June Challenges here:

http://social.msdn.microsoft.com/Forums/en-US/bda60a7e-e9f5-4be3-bcac-e81d160b1fc7/challenge-of-the-month-june-2014?forum=smallbasic

 

Have a great day!

   - Ninja Ed

Small Basic Getting Started Guide - Featured Article

$
0
0

New to Small Basic?

Check out this Wiki article:

 Small Basic Getting Started Guide

 

Get up-to-speed quickly and learn the basics of how to program using Small Basic by using the Getting Started Guide.

Use the Getting Started Guide online: 01. Introduction 02. First Program | 03. Variables | 04. Conditions | 05. Loops 06. Graphics07. Shapes08. Turtle | 09. Subroutines | 10. Arrays | 11. Events Samples | Colors
  
 

Download the Getting Started Guide in .pdf or .docx format
 
 

Find the international Getting Started Guides

 

 

Let us know if anything isn't clear so that we can improve our resources!

Thanks!

   - Ninja Ed

 

 

Small Basic - About Monthly Challenges

$
0
0

This is a few thoughts from writing Small Basic forum monthly challenges for 3 years. 

Initially they started as weekly challenges, here is the first, which was in response to a discussion topic posted by Kirkkaf.  However, the weekly setup was just too fast a turn-over.  It was difficult to create them every week, and only one week did not provide enough time to let contributors work through longer challenges, so it was changed to a monthly event.  There have been a couple 'guest' writers of the challenges over the years (most notably rubbikWizard) and usually there are some great suggestions for the following month from contributors which I always incorporate.  These are especially welcome as they breathe new life and perspective into it.

Nonki wrote a wiki article listing the previous challenges, and Jibba Jabba collated some statistics.



The nature of Small Basic is that most new programmers use Small Basic for between a few months and a year, then move onto greater things or otherwise fade from the forum.  So the challenges have to cover basics and I also try to add some quite tricky ones along the way.  The main idea is that contributions will show different ways to do things.  Some will be 'better' than others, but the variety will help new programmers by seeing how others tackle things.  Basically the community can help each other with a continually evolving set of programmers at different stages of experience at any point in time.

Here are some of my observations:

  • Answers mostly seem to be either to the smaller text based challenges or graphical challenges.
  • A few regular 'experts' come up with great solutions for the 'harder' games type questions.
  • The maths and physics challenges generally seem to have less appeal, but I like them so I continue do drop them in.
  • The simpler questions obviously tend to get complete answers pretty quickly with less community interaction.
  • The bigger graphical questions tend to get more discussion.

I look at and run them all, even if I make no reply, and enjoy seeing progress as people 'get-it'. 

From my point of view it is hard to gauge the level to post questions at - the more replies to a certain type of question tends to lead to me creating more of this type, but this doesn't mean these are the most helpful.  Another issue is continually trying to create new and original ideas, especially for the smaller simpler questions.

So, here's some questions:

  • I want the challenges to engage as much community interaction helping each other as possible - so what kind of questions are best for this?
  • My gut feeling is that the challenges are too advanced in most cases, but feedback isn't clear on this?
  • Perhaps repetition of simpler questions after a few months wouldn't be a bad thing, since the community is continually changing?
  • More feedback in terms of the sort of questions that are most helpful would help to guide how to set the challenges.
  • Guest challenge setters are most welcome.

Tap into Small Basic Forum

$
0
0

When you are learning Small Basic programming, you may stack on your debugging.  I recommend to utilize lots of resources about Small Basic as following steps.

  1. Search in TechNet Wiki.  Small Basic Portal may help you.
  2. Search in Small Basic Forum.
  3. Ask question in Small Basic Forum.
To search in Small Basic Forum, (1) use search box with keywords.  If other category posts are appeared, (2) select Small Basic Forum.
When you ask in Small Basic Forum, please read PLEASE READ BEFORE POSTING.

 You will get the best help if you provide enough information for someone to understand what it is you want help with and reproduce the problem easily - if they have to guess it can be frustrating from both sides.  This often involves you working on a problem for a little bit first, then narrowing down the problem you are having to a small example (if possible).  Then post the example code you are working on (or PUBLISH the ID) along with a clear description of what you expect to happen and what doesn't work.

source: "Asking a good question" section in PLEASE READ BEFORE POSTING 

Viewing all 669 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>