文章插圖

文章插圖
使用 ncurses 的靈活性和強大功能在 Linux 上創建一個猜數字游戲 。
如果你想探索一個更高級的程序來演示其中一些有趣的功能,有一個簡單的“猜數字”游戲,我已更新為使用 ncurses 編寫的了 。該程序在一個范圍內選擇一個隨機數,然后要求用戶進行重復猜測,直到他們猜到這個秘密數字 。當用戶進行猜測時,程序會告知他們猜測的數字是太低還是太高 。
請注意,程序限定可能的數字范圍是 0 到 7 。將值保持在有限的個位數數字范圍內,可以更輕松的使用
getch函數從用戶讀取單個數字 。我還使用了getrandom內核系統調用來生成隨機數,設定數字最大值為 7,以從 0 (二進制0000)到 7 (二進制0111)中選擇一個隨機數 。#include 通過使用 ncurses,我們可以增加一些有趣的視覺體驗 。通過添加函數,我們可以在屏幕頂部顯示重要的文本信息,在屏幕底部顯示狀態消息行:voidprint_header(const char *text){move(0, 0);clrtoeol;attron(A_BOLD);mvaddstr(0, (COLS / 2) - (strlen(text) / 2), text);attroff(A_BOLD);refresh;}voidprint_status(const char *text){move(LINES - 1, 0);clrtoeol;attron(A_REVERSE);mvaddstr(LINES - 1, 0, text);attroff(A_REVERSE);refresh;}通過這些函數,我們就可以構建猜數字游戲的主要部分 。首先,程序為 ncurses 設置終端,然后從 0 到 7 中選擇一個隨機數 。顯示數字刻度后,程序啟動一個循環,詢問用戶的猜測 。當用戶進行猜測時,程序會在屏幕上提供反饋 。如果猜測太低,程序會在屏幕上的數字下方打印一個左方括號 。如果猜測太高,程序會在屏幕上的數字下方打印一個右方括號 。這有助于用戶縮小他們的選擇范圍,直到他們猜出正確的數字 。
intmain{int number, guess;initscr;cbreak;noecho;number = random0_7;mvprintw(1, COLS - 1, "%d", number); /* debugging */print_header("Guess the number 0-7");mvaddstr(9, (COLS / 2) - 7, "0 1 2 3 4 5 6 7");print_status("Make a guess...");do {guess = read_guess;move(10, (COLS / 2) - 7 + (guess * 2));if (guessnumber) {addch(']');print_status("Too high");}else {addch('^');}} while (guess != number);print_header("That's right!");print_status("Press any key to quit");getch;endwin;return 0;}復制這個程序,自己嘗試編譯它 。不要忘記你需要告訴 GCC 編譯器鏈接到 ncurses 庫:$ gcc -o guess guess.c -lncurses我留下了一個調試行,所以你可以看到屏幕右上角附近的秘密數字:- ps制作水印教程 手機制作水印教程
- git 怎么安裝 Git安裝教程
- 鼠標連點器使用教程 打開鼠標連點器
- android的wifi編程 wifi android
- md5怎么使用方法 md5使用教程
- dps軟件操作 dps軟件安裝教程
- 聯想筆記本電腦刷機按鍵 聯想z5手機刷機按鍵教程
- 我的世界皮膚制作器下載安裝 我的世界導入皮膚教程手機版
- 自己怎么做游戲軟件 如何制作游戲軟件教程
- win7分區合并教程 win7分區合并 保留數據
