導航:首頁 > 編程語言 > 別踩白塊兒免費開源代碼

別踩白塊兒免費開源代碼

發布時間:2023-09-21 10:25:05

① 別踩白塊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();

② 什麼是開源代碼

開放來源代碼軟體源於自自由軟體開源運動,簡稱開源軟體。是指那些源代碼公開,可以被自由使用、復制、修改和再發布的一系列軟體的集合。開源軟體許可證,是對開源軟體進行規范的授權合同,也可以稱為授權協議書。其類別繁多,在選擇適用上,了解彼此的權利讓渡程度是其關鍵因素。

開放源代碼軟體就是在開放源代碼許可證下發布的軟體,以保障軟體用戶自由使用及接觸源代碼的權利。這同時也保障了用戶自行修改、復制以及再分發的權利。

簡而言之,所有公布軟體源代碼的程序都可以稱為開放源代碼軟體。 開放源代碼有時不僅僅指開放源代碼軟體,它同時也是一種軟體開放模式的名稱。

(2)別踩白塊兒免費開源代碼擴展閱讀:

源代碼好處:

1、它們能降低企業部署網路和各種服務的成本,如果採用開源方案,你只需要一台伺服器,其他的都可以免費,而用windows,你必須花錢購買操作系統(假設沒有盜版)。

2、可以在源代碼的基礎上進行二次開發,完善或豐富現有系統功能。

3、參考學習。通過分析源代碼,可以學習開發、了解開發者的思路,學習開發者如何通過巧妙的方式、演算法解決業務問題,閱讀源代碼是提高開發水平的快捷方式。

閱讀全文

與別踩白塊兒免費開源代碼相關的資料

熱點內容
打完新冠疫苗下載什麼app可以查到 瀏覽:879
海信電視用哪個app看網路電視 瀏覽:96
編程什麼時候流行的 瀏覽:683
自學編程新手看什麼書 瀏覽:180
linux全盤tar 瀏覽:454
ps文件命名自動輸入怎麼辦 瀏覽:467
iphone6plus切圖 瀏覽:822
iphone6沒有提示更新 瀏覽:41
cc網路圖教程 瀏覽:650
u盤無法剪切文件到電腦里 瀏覽:497
中海達靜態數據大概多少內存 瀏覽:599
蘋果6s手機文件管理器 瀏覽:107
qq頭像非主流女生捂臉 瀏覽:736
java判斷string編碼 瀏覽:941
excel工資簿如何匹配相同數據 瀏覽:159
視頻課程學習有哪些app 瀏覽:375
鐵模編程怎麼學 瀏覽:298
數學網路研修研究問題有哪些 瀏覽:677
stl文件怎麼列印 瀏覽:427
json格式變數寫法 瀏覽:68

友情鏈接