溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何用C語(yǔ)言寫(xiě)一個(gè)控制臺(tái)版的2048

發(fā)布時(shí)間:2021-10-27 15:53:53 來(lái)源:億速云 閱讀:150 作者:柒染 欄目:大數(shù)據(jù)

如何用C語(yǔ)言寫(xiě)一個(gè)控制臺(tái)版的2048,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。


先說(shuō)說(shuō)所需要用到的頭文件:

#include <stdio.h>(不必多說(shuō))

#include <stdlib.h>(system等)

#include <string.h>(memset函數(shù),非常有用)

#include <conio.h>(要使用到_getch(void);)
程序內(nèi)經(jīng)常用到bool,但是C語(yǔ)言中沒(méi)有bool,因此需要定義一個(gè)類型bool:
typedef int bool;

#define true 1

#define false 0 
定義圖像大小:
#define ROW 5

#define COL ROW 
定義各類數(shù)據(jù):
空數(shù):int BOX_NONE = 0;
用于判斷某個(gè)位置是否有數(shù)字 : int g_iBox[ROW][COL];
保存游戲狀態(tài) :int game_state = 0;

應(yīng)注意事項(xiàng):

產(chǎn)生隨機(jī)位置的數(shù)字: 

*p_i[rand() % count] = (1 + rand() % 2) * 2;

//產(chǎn)生隨機(jī)數(shù),rand() % count指的是隨機(jī)數(shù)/0數(shù)后的余數(shù),最終范圍變成【0到count-1】

//后者同理 范圍為 (1+[0,1])*2 = 2或4

//p_i已經(jīng)有那些0值的位置了

位置交換:

//交換兩個(gè)位置的值,一般是和0進(jìn)行交換

兩數(shù)字做加法:

//結(jié)合兩個(gè)數(shù),res是移動(dòng)的那個(gè)

顯示該游戲界面:

    如何用C語(yǔ)言寫(xiě)一個(gè)控制臺(tái)版的2048

產(chǎn)生隨機(jī)位置的數(shù)字:

如何用C語(yǔ)言寫(xiě)一個(gè)控制臺(tái)版的2048

位置交換:

如何用C語(yǔ)言寫(xiě)一個(gè)控制臺(tái)版的2048

兩數(shù)字做加法:

如何用C語(yǔ)言寫(xiě)一個(gè)控制臺(tái)版的2048

    最重要的是移動(dòng)函數(shù),移動(dòng)函數(shù)中應(yīng)該要注意每個(gè)位置的數(shù)字都要被操作,有數(shù)字的位置要和最邊際的為零的位置進(jìn)行交換。
    詳見(jiàn)下面的整體代碼:

如何用C語(yǔ)言寫(xiě)一個(gè)控制臺(tái)版的2048如何用C語(yǔ)言寫(xiě)一個(gè)控制臺(tái)版的2048

如何用C語(yǔ)言寫(xiě)一個(gè)控制臺(tái)版的2048

如何用C語(yǔ)言寫(xiě)一個(gè)控制臺(tái)版的2048

如何用C語(yǔ)言寫(xiě)一個(gè)控制臺(tái)版的2048

如何用C語(yǔ)言寫(xiě)一個(gè)控制臺(tái)版的2048

如何用C語(yǔ)言寫(xiě)一個(gè)控制臺(tái)版的2048

如何用C語(yǔ)言寫(xiě)一個(gè)控制臺(tái)版的2048

關(guān)于如何用C語(yǔ)言寫(xiě)一個(gè)控制臺(tái)版的2048問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI