您好,登錄后才能下訂單哦!
本篇內容主要講解“如何通過C語言編寫一個簡單的游戲”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何通過C語言編寫一個簡單的游戲”吧!
去取一個隨機數
從寫一個函數來選擇一個隨機數字來開始“猜數字”游戲。在編寫函數時,優秀的程序員會盡量使它們具有靈活性,這樣他們就可以重用它們來解決略有不同的問題。因此,與其硬編碼函數來選擇 1 到 100 之間的一個隨機數,不如編寫函數來選擇 1 到某個整數 maxval 之間的一個隨機數:
#include <stdio.h> #include <sys/random.h> int randnum(int maxval) { /* pick a random number from 1 to maxval */ int randval; getrandom(&randval, sizeof(int), GRND_NONBLOCK); /* could be negative, so ensure it's positive */ if (randval < 0) { return (-1 * randval % maxval + 1); } else { return (randval % maxval + 1); } }
該函數使用 Linux 的系統調用 getrandom 來生成一系列隨機數。你可以在手冊頁中了解關于這個系統調用的更多信息,但請注意,getrandom 將用隨機的 0 和 1 填充變量。這意味著最終值可以是正的,也可以是負的,因此你需要在之后進行測試,以確保 randnum 函數的結果是正值。
編寫程序
你可以用這個函數來寫你的“猜數字”程序:
#include <stdio.h> #include <sys/random.h> int randnum(int maxval) { ... } int main(void) { int number; int guess; number = randnum(100); puts("Guess a number between 1 and 100"); do { scanf("%d", &guess); if (guess < number) { puts("Too low"); } else if (guess > number) { puts("Too high"); } } while (guess != number); puts("That's right!"); return 0; }
程序首先使用 randnum 函數從 1 到 100 之間選擇一個隨機數。在向用戶輸出一個提示后,程序進入一個 do-while 循環,以便用戶可以猜測數字。
在循環的每次迭代中,程序測試用戶的猜測的數值。如果用戶的猜測小于隨機數,程序將輸出“Too low”,如果猜測大于隨機數,程序將輸出“Too high”。循環繼續,直到用戶的猜測與隨機數相同。
當循環退出時,程序輸出 “That's right!”,然后立即結束:
$ gcc -o guess -Wall guess.c $ ./guess Guess a number between 1 and 100 50 Too high 30 Too low 40 Too low 45 Too high 42 Too low 43 Too low 44 That's right!
到此,相信大家對“如何通過C語言編寫一個簡單的游戲”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。