LoginLogin

Asking Good Questions; or, Using the Forum for Information

Root / Programming Questions / [.]

📌🔒
snail_Created:
Hello, Undercover Moderator snail_ here. I've noticed lately that the forum has been a bit... messy, and hard to navigate for information, especially Activity. This isn't about forum etiquette though, I shouldn't have to explain that. I wanted to explain how asking programming questions should work on our forum, so the information is clear and available for our Future Patrons. I was really spurred on by this exchange I saw today: Obviously, you should not make many new question threads per day, but I also want to say that making a super-thread for all your questions is the wrong thing to do as well. For information of this nature, having separate threads for good, clear questions makes it easier for future readers to discover. Our forum is set up for this with the Programming Questions thread. The most important thing is that you do not ask the same question twice. The first thing to do is to search the site for what you need to know. You should first look in the FAQs category of the forum. This category contains good question threads selected by the staff because we think they're very useful information. (The threads here also serve as good models for questions you may want to ask.) Second, you should check the Programming Questions category for information. Finally, you should search the site with the search bar, or try exploring our Resource pages. Only if you do not find what you need to know should you go ahead and make a new question thread. If you need to ask a question on the forum, first consider what you're asking and why. Follow this handy guide.
  • Is it clear? The question you're asking should be clear and specific. There's nothing more frustrating than trying to answer a question with limited information.
  • Do you understand it? You should also assure you at least somewhat understand what you're asking. Not knowing things is okay, but at least know what you're asking.
  • Is it on topic? This is Programming Questions, so the question should be related to programming. It doesn't need to be explicitly related to writing code; sometimes, design questions are okay.
Now you're ready to make a post. Choose a title that clearly relates to the question. Searchability is probably the most important thing about online information; if your thread has a vague title like "help me" or "question", nobody will be able to find it if they're looking for it. Explain your question specifically in your post. Be thorough, and describe precisely what it is you want. Use clear language. If there is an issue with your code, post the relevant portion of your code. Is your KILL_ENEMY routine not working? Show us what you're doing. Asking multiple, related questions on the same thread is okay. You should avoid making multiple threads for related information, and following up on the topic of your previous question is fine. Post in Programming Questions, NOT FAQs. The threads in the FAQs category are selected by admins after they are completed and moved there for safe-keeping. It is not for general posting. If you've followed these guidelines well, some friendly users will probably come along and answer you, or direct you to useful information. Be cooperative with the people trying to help you. You're on your way to an answer! Here are some DON'Ts related to asking a question.
  • Don't ask questions like "How do I make a platformer?" or "How do I make my player jump?" unless you really know what you're doing. These questions are extremely vague and often have many, many different answers. You're better off looking online for game design books or similar. If you have something basic designed but it isn't working, you may consider asking.
  • Don't ask really short or simple questions if you can avoid it. There are many resources available to you for understanding the absolute basics of SmileBASIC. If you need to, use the chat.
If you need to have a less-formal conversation with someone or just need a short rapid-fire question answered, the chat is available and someone will probably be there to answer you (it might be me!) If this is your first time using chat, read the terms of use carefully and say /accept if you agree. Thank you for your time.

oh cool

You should also check resources if you can't find answers to your question in the forums. The tutorials and code snippets are very useful for some specific programming questions.

For example
@HOME
ACLS
INPUT "WHAT IS YOUR NAME" NME$
IF NME$ !=" " THEN GOTO @MAIN; ELSE GOTO @NOT

@NOT
ACLS
PRINT "THAT IS NOT A NAME."
WAIT 60 THEN GOTO {Want this to change}
The bit in the { }, I want that to take you back to the previous screen. What command would I use to change that one specific aspect of the string? And what would the syntax be?

Why can't it be
WAIT 60 GOTO @HOME
? Do you want the program to go back to the INPUT to get a valid name? (Also, I don't think this is the right uh post for this lol. Might want to create a programming question post.)

Why can't it be
WAIT 60 GOTO @HOME
? Do you want the program to go back to the INPUT to get a valid name? (Also, I don't think this is the right uh post for this lol. Might want to create a programming question post.)
Somewhat. I want to change to the previous screen. Like if I went into a building, and wanted to go back out to the overworld perse. I wouldn't have to restart. A back option would have been a much better way to word it lol

I don't think this is the right thread

Dose Anybody know if there is a way to count current Characters on the console screen?

Dose Anybody know if there is a way to count current Characters on the console screen?
You can do this in a nested FOR loop that takes width and height specifications, check for characters and increase a variable.
FOR H=0 TO 20 'set 20 to the height area to check
 FOR W=0 TO 10 'set 10 to the width area to check
  CH$=CHKCHR$(4,W,H) '4 is the screen you’re checking
  IF CH$!=0 THEN INC N 'variable N = character number
 NEXT
NEXT
I feel like there’s another way to do this like copying the text screen to an array and checking the length but I’m not sure how it’d work off the top of my head.

If you're checking it all the time, it might be cheaper to write a pseudo print function that keeps track of it for you, instead of looping through 50*40 chars per check. Also, I don't think there's any other way besides CHKCHR to get the states of the text screen, at least on SB3.

can people stop using this thread for programming questions when that's not what it's for at all?

can people stop using this thread for programming questions when that's not what it's for at all?
This thread is hardly used at all. There’s activity about every 4 months or 3 years. Sure, the clutter isn’t helpful for those looking for information, but the only post of true value here is the initial one. A directive post like this should have been closed after it was created. As long as it’s open, people will post.