Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7647493
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T10:28:33+00:00 2026-05-31T10:28:33+00:00

In a game project I was working on, I was seriously slowed down —

  • 0

In a game project I was working on, I was seriously slowed down — to the point of giving up — by how there don’t seem to be any libraries that can simplify the process of displaying a menu in text mode (i.e., 80×25 textbox, command.com/cmd.exe’s native interface).

I need something that can give a list of choices, ideally including multiple pages, and including values to be entered to choose one of these; prompt the user; gently chide the user (perhaps ringing a bell and redrawing the “choose one:” prompt) when said user fails to enter something valid; and returning something that can be used to determine which option was passed.

This turns out to be a lot more work than it sounds like; and now, the exact same question that slowed me down so badly at home has come up (or is about to come up) at work. Does anyone know of any non-copyleft libraries with a function that can be passed a storage container of options, display them on screen, and get the user’s choice?

Answer: Ncurses is very suitable for this purpose, including explicitly providing a menu driver. It has an MIT-style license, making it compatible with commercial use. However, it’s not available for MS-DOS or Windows. (I’d referenced command.com above, but hadn’t thought to explicitly spell out that this was a question regarding Microsoft architectures.)

However, it looks like it’s been compiled successfully on DOS and Windows in the past, and I’m confident that I’ll be able to get it, or at least the parts of it that I need, to work, especially given that it’s the menu logic rather than line-drawing and the like that I’m after. The question Good resources for writing console style applications for Windows? should also be useful in this regard.

Later, additional answer: Windows provides a fair amount of display functionality out of the box, as depicted here — although this does not include a menu-display system, in contrast to ncurses. An unholy hybrid of ncurses menu logic and Windows APIs? It might be as viable a choice as cygwin…

Much later additional answer: Both ncurses and pdcurses work very smoothly with Windows, even without using the Windows API for anything more than creating and sizing the display. I settled on using pdcurses, and learned to build my own menus — allowing for callbacks, an easily expanded on-screen message queue, use of the C++ string class, and other such functionality.

Further update: Curses’ menu libraries are written in C, and so work in terms of char* sequences. I gave up on trying to use them, and wrote my own menus instead, using low-level curses functions for screen display.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T10:28:34+00:00Added an answer on May 31, 2026 at 10:28 am

    Try ncurses, it is on MIT license, which is much more permissive than GPL. It is very easy to use: menus, dialog boxes, checkboxes – it is all there. It is event-driven like most GUI libraries.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm working on a project for a game I play, and I can't seem
Greetings, I'm working on a game project that uses a 3D variant of hexagonal
I'm working on a C project that consists of a simple game using the
I'm currently working on my 2D game project (Java), but so far any kind
I am working on a game project. I need to know that how can
Working on a game project that involves a scripting language that I want to
I'm working on a game project and I've written some basic code that allows
So i am currently working on a simple game project that most people start
I'm working on a project that shows a menu in a game. But to
I'm working on a text-based adventure game project. It involves rooms with items in

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.