當前位置:首頁 » 編程軟體 » 白塊c語言編譯

白塊c語言編譯

發布時間: 2022-11-19 19:25:55

① 別踩白塊c語言程序編譯

只是禪模式的,如果是學慣用的,知道一個模式的應該其他也會了,如果是想玩的話下正版吧= =

#include "SDL2/SDL.h"
#include "SDL2/SDL_ttf.h"
#include<string.h>
// 使用的頭文件
int W; // 窗口寬
int H; // 窗口高
int PH; // 游戲區的高
int i, df = 0; // 定義的變數
char sorry[] = "游戲不適合你的手機", win[9] = "You win!", lose[10] =
"You lose", str[19] = "得分:";
Uint32 began = 0;
float time = 0.0; // 定義的計時變數
bool quit = false; // 退出標志
float X = 0, Y = 0; // 用於獲取觸控位置的坐標
SDL_Event event;
// 定義一個事件
SDL_Window *w = NULL; // 創建一個窗口指針
SDL_Renderer *ren = NULL; // 創建一個渲染器指針
SDL_Surface *sur = NULL; // 表面
SDL_Surface *sur1 = NULL; // 得分表面
SDL_Surface *text = NULL; // 標題文本區表面
SDL_Texture *tex = NULL; // 畫刷
SDL_Texture *tex1 = NULL; // 畫刷
SDL_Texture *tex2 = NULL; // 畫刷
TTF_Font *font = NULL; // 定義一個字體
SDL_Color color, fontcolor; // 定義字體顏色
SDL_Rect rect[4]; // 屏幕出現的四個黑塊
SDL_Rect title; // 標題區
SDL_Rect pp, over;
void change(); // 使方塊動起來
void init(); // 啟動sdl及相關
void draw(); // 畫圖
void start(); // 初始化相關數據
void end(); // 游戲結尾
int main(int argc, char **argv)
{ // 主函數
init();
start();
began = SDL_GetTicks(); // 得到開始時間
while (quit == false)
{
draw(); // 畫圖
while (SDL_PollEvent(&event))
{
switch (event.type)
{
case SDL_FINGERDOWN:
X = event.tfinger.x * W;
Y = event.tfinger.y * H;
// 獲取x,y的坐標
if (Y > rect[0].y)
if ((X > rect[0].x) && (X < (W / 4 + rect[0].x))) // 判斷坐標
{
change();
df = df + 1;
}
else // 如果觸屏位置不對
{
quit = true;
if (df < 3)
sur1 = TTF_RenderUTF8_Blended(font, sorry, color);
else
sur1 = TTF_RenderUTF8_Blended(font, lose, color);
}
break;
case SDL_FINGERUP:
break;
default:;
}
if (df > 100) // 如果在30秒內得分超過100
{
quit = true;
sur1 = TTF_RenderUTF8_Blended(font, win, color);
}
}
time = 30 - ((SDL_GetTicks() - began) / 1000); // 計算剩餘時間
if (time == 0.0) // 當時間結束
{
quit = true;
sprintf(str, "時間到,得分:%d", df);
sur1 = TTF_RenderUTF8_Blended(font, str, color);
}
}
tex1 = SDL_CreateTextureFromSurface(ren, sur1); // 把表面轉換成畫刷
SDL_RenderCopy(ren, tex1, NULL, &over);
SDL_RenderPresent(ren);
SDL_Delay(3000); // 暫停3秒
end();
return 0;
}

void change()
{
for (int i = 0; i < 3; i++)
rect[i].x = rect[i + 1].x;
rect[3].x = (random() % 4) * W / 4; // 最上層產生隨機的黑塊
}

void init()
{
SDL_Init(SDL_INIT_EVERYTHING);
w = SDL_CreateWindow("別踩白塊兒", 0, 0, W, H, SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE | SDL_WINDOW_BORDERLESS); // 配置窗口參數並創建
//
//
ren = SDL_CreateRenderer(w, -1, SDL_RENDERER_PRESENTVSYNC); // 為創建的窗口配置渲染器
TTF_Init(); // 啟動font
font = TTF_OpenFont("/system/fonts/DroidSansFallback.ttf", 60); // 打開系統自帶字體並設置大小為60
}

void draw()
{
sur = SDL_CreateRGBSurface(0, W, H, 32, 0, 0, 0, 0); // 先把表面刷白
SDL_FillRect(sur, NULL, 0xffffff);
for (int i = 0; i < 4; i++)
SDL_FillRect(sur, &rect[i], 0x00000); // 再把黑塊逐個貼上表面
tex = SDL_CreateTextureFromSurface(ren, sur); // 把表面轉換成畫刷*/
sprintf(str, "得分:%d", df);
sur1 = TTF_RenderUTF8_Blended(font, str, color);
tex1 = SDL_CreateTextureFromSurface(ren, sur1); // 把表面轉換成畫刷
sprintf(str, "時間:%.2f\"", time);
text = TTF_RenderUTF8_Blended(font, str, fontcolor);
tex2 = SDL_CreateTextureFromSurface(ren, text); // 把表面轉換成畫刷
SDL_RenderCopy(ren, tex, NULL, NULL);
SDL_RenderCopy(ren, tex2, NULL, &title);
SDL_RenderCopy(ren, tex1, NULL, &pp);
SDL_RenderPresent(ren);
SDL_FreeSurface(sur);
SDL_DestroyTexture(tex);
SDL_FreeSurface(sur1);
SDL_FreeSurface(text);
SDL_DestroyTexture(tex1);
SDL_DestroyTexture(tex2);
}

void start()
{
SDL_GetWindowSize(w, &W, &H); // 得到屏幕解析度
PH = H * 7 / 8;
color =
{
255, 215, 0};
fontcolor =
{
0, 0, 0}; // 字體顏色賦值
float a = PH * 3 / 4 + H / 8;
float wight = W / 4;
float hight = PH / 4;
rect[0].x = 0;
rect[0].y = a;
rect[1].x = wight;
rect[1].y = a - hight;
rect[2].x = wight * 2;
rect[2].y = a - 2 * hight;
rect[3].x = 3 * wight;
rect[3].y = a - 3 * hight;
for (int i = 0; i < 4; i++)
{ // 為黑塊的高和寬賦值
rect[i].h = hight;
rect[i].w = wight;
}
title =
{
1.10, 0, W / 2, W / 8};
pp =
{
W / 2, 0, W / 2, W / 8};
over =
{
0, H / 4, W, H / 4};
}

void end()
{
TTF_CloseFont(font);
TTF_Quit();

② 如何編譯C語言源代碼

下載一個VC2005軟體,把代碼復制到裡面,設置好C運行環境,點擊編譯,OK,然後點擊那個感嘆號,直接鏈接運行,就OK了。

③ C語言編寫好代碼後,怎麼編譯,最後生成可執行文件

材料/工具:vc6.0

1、打開c語言編輯工具,在工具中寫入程序的源代碼。

④ 怎樣用vc編譯C語言文件,請詳細說明步驟

如果只是想簡單用VC編譯c語言文件,可以不用那麼復雜,你可以這樣做:
在你想保存的文件夾下,新建一個.txt的文本文件,名字就取你要新建立的c文件的名字,但是注意後綴名改為.c;
讓後右鍵(如果只裝了vc的話,也可以直接雙擊打開)選擇vc方式打開;
在打開的窗口中編寫你的代碼,寫完後保存,點擊!符號(也可以找菜單項中的build下的build all或execute都可以),進行編譯和鏈接,彈出對話框就選擇是,如果沒有錯誤就可以通過編譯,程序就直接運行

如果是按步驟來會稍微麻煩點,如下:
(1)打開vc環境
(2)選擇「File」—「New」
在彈出的對話框中選擇"projects"項,先建立工程文件:
i:對話框的左邊選擇Win32 console Application項
ii:在對話框的右邊可以選擇路徑Location和輸入工程名Project name,下邊的單選一般默認為Create new workspace即可(因為是新建)
iii:以上設置好後,單擊ok,下面的對話框按默認即可,點擊finish,然後在下一個對話框中點擊ok,工程建所在文件夾就建好了。此時如果按你剛才設定的路徑去查看,就可以找到建立的工程文件夾。
(3)建立文件
讓後同樣在「File」—「New」下,本次選擇Files項,在左邊選擇c++source file項,右邊file下可以輸入文件名,上邊的為指定該文件所在的工程,一般默認即可建立在你剛剛建立的工程文件中,下邊的Location為該源文件的路徑,都按要求填寫好後,點擊ok即可進行文件的代碼的編寫了
(4)代碼寫好後,如上一部分簡單操作時所說的進行編譯和鏈接,讓後運行就可以查看結果了。

至於工程是做什麼用的,就好比是一個「單位或者說工廠」一樣,而源文件好比是單位中的「車間」,這樣理解簡單點,具體的過程你按我所說的試試吧

附:如果你的英文好的話,很容易理解和看懂出現的各種提示的意思,如果你裝的是漢化版的vc,那就更好辦了,很容易就看懂的,試試看,祝你成功!

剛開始學習c語言,用的也是vc環境,更本不知道從哪裡進入,哪裡寫代碼,所以想了上面的簡單的辦法,後來看書就慢慢的會用了,相信你很快就會很熟練了,呵呵

⑤ 在Ubuntu上寫C語言通常用什麼編譯器

ubuntu是linux系統的桌面版,自帶了c語言編譯器(gcc),編譯c語言步驟如下:
1、寫好一個c文件
2、打開終端(Ctrl+Alt+T)
3、進入c文件所在目錄
4、輸入:gcc xx.c -o xx
5、編譯成功生成執行文件xx,運行輸入: ./xx 即可看到結果

⑥ C語言文件的編譯與執行的四個階段並分別描述

開發C程序有四個步驟:編輯、編譯、連接和運行。

任何一個體系結構處理器上都可以使用C語言程序,只要該體系結構處理器有相應的C語言編譯器和庫,那麼C源代碼就可以編譯並連接到目標二進制文件上運行。

1、預處理:導入源程序並保存(C文件)。

2、編譯:將源程序轉換為目標文件(Obj文件)。

3、鏈接:將目標文件生成為可執行文件(EXE文件)。

4、運行:執行,獲取運行結果的EXE文件。

(6)白塊c語言編譯擴展閱讀:

將C語言代碼分為程序的幾個階段:

1、首先,源代碼文件測試。以及相關的頭文件,比如stdio。H、由預處理器CPP預處理為.I文件。預編譯的。文件不包含任何宏定義,因為所有宏都已展開,並且包含的文件已插入。我歸檔。

2、編譯過程是對預處理文件進行詞法分析、語法分析、語義分析和優化,生成相應的匯編代碼文件。這個過程往往是整個程序的核心部分,也是最復雜的部分之一。

3、匯編程序不直接輸出可執行文件,而是輸出目標文件。匯編程序可以調用LD來生成可以運行的可執行程序。也就是說,您需要鏈接大量的文件才能獲得「a.out」,即最終的可執行文件。

4、在鏈接過程中,需要重新調整其他目標文件中定義的函數調用指令,而其他目標文件中定義的變數也存在同樣的問題。

⑦ c語言如何編程

C語言編程如何快速實現

在我們初次學習C語言的時候,總想著快速的實現編譯過程。那麼C語言編程究竟是如何實現的呢,當然是要通過自己喜歡的編譯器來編譯完成,那麼今天就為大家介紹C語言編程是如何快速的實現。

1. 首先我們下載一款適合C語言的編譯器,今天為大家講解的C語言編譯器為CodeBlocks,該編譯器沒有太過復雜,很符合初學者,簡單上手快。

⑧ 如何使用CodeBlocks編譯c++和c語言

打開CodeBlocks之後,直接在起始頁選擇:新建工程(create a new project),或者在文件菜單裡面選擇 新建 工程

這時會出現新建對話框,選擇「控制台應用程序」項,按確定(go)

需要選擇「添加到活動工程」,然後點完成即可編碼

寫完編碼後,在 生成(Build) 菜單中選擇 生成 即可開始編譯,或者點擊工具欄上面那個略帶黃色的齒輪,編譯通過後要運行,請選擇 生成 菜單 下的 運行(Run) 菜單項,或者點擊工具欄上那個綠色的三角

這個圖是編譯和運行這兩功能在工具欄上對應的按鈕位置。這兩個圖標後面還有一個把齒輪和三角結合在一起的圖標,這表示一次性完成編譯和運行(如果是用菜單欄的話就是生成菜單中的「生成並運行(Build and run)」項

⑨ c語言程序編譯過程包括哪四個

C語言編譯過程分成四個步驟: 
1,由.c文件到.i文件,這個過程叫預處理 
2,由.i文件到.s文件,這個過程叫編譯 
3,由.s文件到.o文件,這個過程叫匯編 
4,由.o文件到可執行文件,這個過程叫鏈接
用gcc查看預處理過程(假設源文件叫hello.c) 
gcc -o hello.i hello.c -E 
然後用 vi hello.i 即可查看生成的預處理文件
按ESC 輸入:$ 跳到預處理文件 可看到hello.c源碼
宏的本質:預處理階段的單純的字元串替換
預處理階段,不考慮C語法

⑩ ubuntu下如何編譯C語言

1、首先打開ubnutu開發環境,直接輸入組合鍵ctrl+alt+t調出命令行界面。

熱點內容
app什麼情況下找不到伺服器 發布:2025-05-12 15:46:25 瀏覽:714
php跳過if 發布:2025-05-12 15:34:29 瀏覽:467
不定時演算法 發布:2025-05-12 15:30:16 瀏覽:131
c語言延時1ms程序 發布:2025-05-12 15:01:30 瀏覽:166
動物園靈長類動物配置什麼植物 發布:2025-05-12 14:49:59 瀏覽:737
wifi密碼設置什麼好 發布:2025-05-12 14:49:17 瀏覽:149
三位數乘兩位數速演算法 發布:2025-05-12 13:05:48 瀏覽:399
暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:544
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:632
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:366