您好,登錄后才能下訂單哦!
如何用C語言寫一個控制臺版的2048,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
先說說所需要用到的頭文件:
#include <stdio.h>(不必多說)
#include <stdlib.h>(system等)
#include <string.h>(memset函數,非常有用)
#include <conio.h>(要使用到_getch(void);)
程序內經常用到bool,但是C語言中沒有bool,因此需要定義一個類型bool:
typedef int bool;
#define true 1
#define false 0
定義圖像大小:
#define ROW 5
#define COL ROW
定義各類數據:
空數:int BOX_NONE = 0;
用于判斷某個位置是否有數字 : int g_iBox[ROW][COL];
保存游戲狀態 :int game_state = 0;
應注意事項:
產生隨機位置的數字:
*p_i[rand() % count] = (1 + rand() % 2) * 2;
//產生隨機數,rand() % count指的是隨機數/0數后的余數,最終范圍變成【0到count-1】
//后者同理 范圍為 (1+[0,1])*2 = 2或4
//p_i已經有那些0值的位置了
位置交換:
//交換兩個位置的值,一般是和0進行交換
兩數字做加法:
//結合兩個數,res是移動的那個
顯示該游戲界面:
產生隨機位置的數字:
位置交換:
兩數字做加法:
最重要的是移動函數,移動函數中應該要注意每個位置的數字都要被操作,有數字的位置要和最邊際的為零的位置進行交換。
詳見下面的整體代碼:
關于如何用C語言寫一個控制臺版的2048問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。