C語言實現打字通遊戲
打字母遊戲
通過控制檯和一些簡單的C語言函式完成一個簡單的打字母遊戲,練習C語言基本語法和一些簡單的邏輯。
注意規範
- 程式碼中注意不要出現魔數,用巨集定義代替,儘量防止魔數的出現。
- .每個函式實現自己的功能,C語言每個函式程式碼儘量保持在20行以下 。
- 儘量減少全域性變數的使用。(我偷懶使用了(๑•ᴗ•๑))。
#include <stdio.h> #include <stdlib.h> #include <windows.h> #include <stdbool.h> #include <time.h> #include <conio.h> #define MIND_LINE 15 //文字居中列印的行數 #define MIND_SPACE 40 //文字居中列印的列數 #define MAX_LINE 30 //介面的最大顯示行數 #define MAX_SCORE 5 //最大分數 #define MAX_LEVEL 10 //最大等級 int SCORE = 0; //起始分數 int LEVEL = 1; //起始等級 int SLEEPTIME = 500; //起始等待時間 //列印換行 void PrintEnter(int Line); //列印空格 void PrintSpace(int Space); //列印開始歡迎介面 void WelcomeMenu(char *Str); //設定遊戲介面標題 void GameTitle(); //遊戲開始 void GameStart(); //遊戲結束 void GameOver(bool Ret); //遊戲暫停 void GamePause(); //顯示字母 void ShowaLphabet(); //遊戲控制 bool isCheckTrue(char iLphabet); //判斷是否超過最大行數 bool isOverStep(int Index); //判斷是否最大分數 bool isMaxScore(int Score); //判斷是否最大等級 bool isMaxLevel(int Level); void PrintEnter(int Line) { for (int i = 0; i < Line; i++) { printf("\n"); } } void PrintSpace(int Space) { for (int i = 0; i < Space; i++) { printf(" "); } } void WelcomeMenu(char *Str) { PrintEnter(MIND_LINE); PrintSpace(MIND_SPACE); printf("%s\n", Str); getchar(); } void GameStart() { GameTitle(); ShowaLphabet(); } void GamePause() { system("cls"); PrintEnter(MIND_LINE); PrintSpace(MIND_SPACE); printf("Game Pause, Press 1 to Continue!"); while (_getch() != '1'); system("cls"); } void GameTitle() { system("cls"); PrintSpace(12); printf("Leves[%d]", LEVEL); PrintSpace(50); printf("Score[%d]\n", SCORE); PrintSpace(12); printf("Press 1 to Prase"); PrintSpace(40); printf("Press 2 to Exit\n"); for (int i = 0; i < 90; i++) { printf("_"); } printf("\n"); } void GameOver(bool Ret) { system("cls"); if (Ret) { PrintEnter(MIND_LINE); PrintSpace(MIND_SPACE); printf("Congratulations,You are across the game!!!"); } else { PrintEnter(MIND_LINE); PrintSpace(MIND_SPACE); printf("You are failed ths game!!!"); } getchar(); exit(0); } void ShowaLphabet() { srand((unsigned)time(NULL)); char iLphabet = 'A' + rand() % 26; int iSpace = rand() % 70; int LineIndex = 0; while (true) { LineIndex++; PrintSpace(iSpace); printf("%c",iLphabet); Sleep(SLEEPTIME); printf("\b \n"); /*通過退格和空格消除字母*/ if (isOverStep(LineIndex)) { LineIndex = 0; SCORE--; break; } if(isCheckTrue(iLphabet)) { SCORE++; if (isMaxScore(SCORE)) { SCORE = 0; SLEEPTIME -= 10; LEVEL++; if (isMaxLevel(LEVEL)) { GameOver(true); } } break; } if (SCORE < -10) { GameOver(false); } } } bool isOverStep(int Index) { bool Ret = false; if (Index > MAX_LINE) { Ret = true; } return Ret; } bool isCheckTrue(char iLphabet) { bool Ret = false; if (_kbhit()) { char ch = _getch(); if (ch == iLphabet) { Ret = true; } else if(ch == '1') { GamePause(); } else if (ch == '2') { GameOver(false); } else { SCORE--; } } return Ret; } bool isMaxScore(int Score) { bool Ret = false; if (Score > MAX_SCORE) { Ret = true; } return Ret; } bool isMaxLevel(int Level) { bool Ret = false; if (Level > MAX_LEVEL) { Ret = true; } return Ret; } int main(void) { WelcomeMenu("Press AnyKey to Start the Game!\n"); while (true) { GameStart(); } getchar(); return 0; }
相關推薦
C語言實現打字通遊戲
打字母遊戲 通過控制檯和一些簡單的C語言函式完成一個簡單的打字母遊戲,練習C語言基本語法和一些簡單的邏輯。 注意規範 程式碼中注意不要出現魔數,用巨集定義代替,儘量防止魔數的出現。 .每個函式實現自己的功能,C語言每個函式程式碼儘量保持在20行以下 。 儘量減
C語言實現經典小遊戲貪吃蛇
純c語言寫的小遊戲,本人才疏學淺,程式碼有很多不足,僅供給初學者參考。 實現功能: ↑ ↓ ← →分別用來控制上下左右四個方向 空格暫停 esc退出遊戲 f1加速, f2 減速 蛇的長度越長,速度越快(速度有上限) 食物顏色隨機
基於C語言實現的掃雷遊戲
函式實現的功能: 1.佈置雷:用rand函式生成隨機座標再雷陣裡隨機佈雷 2.排雷:踩到雷炸死,不是雷,統計周圍一圈有⼏個雷,並記錄資訊放到另一個數組 實現原理: 1.雷的資訊儲存到一個二維陣列mine裡 2.排出來的雷存到另一個二維陣列show裡
C語言實現一條龍小遊戲
一條龍小遊戲 一、程式碼構思 全部程式碼分為三個檔案:game.h, game.c, text.c(game.h用來申明所有用到的函式,game.c用來寫實現遊戲的程式碼,text.c用來除錯程式碼) 第一步將棋盤初始化為空格;第二步列印棋盤;第三步設計由玩家先走(在棋盤中放入X),然後電腦
用C語言實現三子棋遊戲
game.h #ifndef __GAME_H__ #define __GAME_H__ #define _CRT_SECURE_NO_WARNINGS #include <string.h> #include <s
使用C語言實現隨機小遊戲原始碼
#include"stdio.h" #include"stdlib.h" #include"windows.h" int print() { printf("\n\n+++++++++++++你會看見的數字和運算子+++++++++++++\n"); &
C語言實現掃雷小遊戲
本文將從一行行程式碼中詳解掃雷小遊戲,對每一個模組都使用詳細的註釋,使這個掃雷小遊戲簡單易懂。 首先,簡單分析掃雷的玩法,掃雷就是在一個棋盤中佈置適當數量的雷數玩家通過對雷陣的排查,來找出雷的位置。如果玩家選擇的座標周圍無雷將自動展開這片區域,若有雷會顯示雷數。
C語言實現猜數字遊戲 全乾貨!
知識點:隨機數的生成: srand((unsigned)time(NULL)): srand函式是隨機數發生器的初始化函式。原型:void srand(unsigned seed); 用法:它初始化隨機種子,會提供一個種子,這個種子會對應一個隨機數,如果使用相同的種子後面的ran
用C++語言實現貪吃蛇遊戲
寫在前面 用C++語言寫遊戲再適合不過了,當然不是因為用它寫起來簡單,(相反那並不簡單),但是其效能絕對是其他語言沒法比的。所以這裡我會用C++實現一個貪吃蛇的遊戲。當然我可能有意隱瞞了你,因為我們不僅僅是用C++純語言來幹這件事,那會很彆扭,因為我們需要影象
C語言實現三子棋遊戲
先直接上程式碼: #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> //2.實現三子棋遊戲。 #include<Windows.h> //Sleep
純C語言實現貪吃蛇遊戲(VC6.0)
轉自C語言網 今天筆者為大家展示C語言寫的貪吃蛇遊戲,讓大家玩一玩自己寫的遊戲~ 是純C語言哦~VC6.0開發 無問題 首先,開始介面: 遊戲介面如下: 程式碼如下: 筆者VC6.0下編寫,測試無問題,可複製程式碼直接到VC6原始檔下,字尾為.c檔案
C語言實現三子棋遊戲(意義版)
我還會再遇到ta。所以,這並不算是真正意義上得離別。雖然從近幾個月幾乎每天都跟ta走的頗近。每次得相遇都會讓我恍惚。我想躲著ta的一些,但是每次提起思緒卻總會跟ta不期而遇。遇時苦惱,別時著迷。昨日又與ta相遇,這一聚,就是六個多時辰。從正午窗外得鳴笛到回頭時到卷閘門刺耳的伸
分享我寫的2D格鬥遊戲,C語言實現
fpm cal srm i2c cga wsb rpi blank iii Json、FastJson、Gson 數據結構對單鏈表進行數據排序 請教各位幾個小問題,有點暈了不太理解 StringUtil對字符串類型參數進行校驗的工具類 11r玖橇粱http://p.baid
C語言實現簡易2048小遊戲
blog 而在 而是 null 移動 是我 我們 空指針 主體 一直很喜歡玩這個小遊戲,簡單的遊戲中包含運氣與思考與策略,喜歡這種簡約又不失內涵的遊戲風格。於是萌生了用C語言實現一下的想法。 具體代碼是模仿這個:https://www.cnblogs.com/judgeyo
C語言實現的三子棋遊戲
oid operation endif while oar ini line 重新 被占用 頭文件 #ifndef __game_h__ #define __game_h__ #include <stdio.h> #include <stdlib.h>
C語言實現Socket簡單通信
簡單 置0 tin led AS accep sin ive receive 服務端 #include<stdio.h> #include<stdlib.h> #include<errno.h> #include<string.h
[日常練習] 3. 基於井字棋遊戲的C語言實現!
井字棋算是童年課堂上的與同桌默契配合的一大樂趣...躲避著老師“關切”的目光,在眼皮底下“頂風作案”,將“燈下黑”體現的淋漓盡致!在C語言中,也算是一個小的專案,今天,我們就用C語言來實現它!!!追逐童年的一份小樂趣! 遊戲介紹: “井字棋”也稱“三子棋”,需要一個3*3的棋盤。假設
[日常練習] 5. 基於掃雷遊戲的C語言實現!
#include "game.h" void InitBoard(char arr[ROWS][COLS], int rows, int cols, char set) { int i = 0; int j = 0; for(i=0; i<rows; i++) { for(j=0
C語言實現打飛機簡易遊戲(半完成版)
打飛機簡易遊戲(半完成版),如圖。 感謝 童晶 老師的教程,連結地址:http://study.163.com/forum/detail/1003961010.htm 未完成內容:①邊框繪製 ②多個敵機 ③敵機子彈 ④戰機生命 等等。 以下是程式碼。(在帶c99標準的codeblock
C語言實現簡單的三子棋小遊戲
函式實現的基本功能: 1.初始化棋盤:用空字元初始化 2.列印棋盤:控制列印九宮格來表示棋盤 3.玩家下棋:用P表示玩家的棋子 4.電腦隨機下棋:隨機生成座標,用0表示玩家的棋子 5.判斷輸贏:玩家贏,電腦贏,平局,繼續遊戲四種情況 多檔案實現: 測試部分test.