Ⅰ 我的世界別踩白塊怎麼製作
在一條直線上放上黑色的羊毛,在個別羊毛上放上石制壓力板,下面放一個kill的命令方塊,在每條線上放拌線鉤下面放TNT。如果停下來就會被炸,如果踩到命令方塊(白塊)。
Ⅱ 有人會用lua語言在cocos2d上編寫一個簡單的別踩白塊游戲嘛求源代碼
lua和python是最常見的兩種游戲內使用的腳本語言,lua程序設計只會講lua語言的一些內容,具體不會講怎麼使用在游戲里,或者跟其他語言怎麼結合。 具體游戲中的例子可以查查lua在游戲內用法的一些例子,網上有很多的,或者你可以去某個游戲公司上...
Ⅲ 別踩白塊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();
Ⅳ 別踩白塊兒怎麼玩別踩白塊兒刷高分技巧攻略
別踩白塊兒是一款休閑類的游戲,玩法簡單的很,只要不停的點擊屏幕上的黑格子即可,點到白塊兒就死了。游戲形式雖然簡單,但是特別能吸引玩家,根本停不下來有木有!下面系統之家小編就為大家介紹一下別踩白塊兒刷高分技巧攻略。
別踩白塊兒高分技巧一:開局手指找准位置,放在第二行
如圖所示,開局以後點擊第一塊黑塊兒,然後游戲就正式開始了。這時候玩家應該保持手指在第一個黑塊兒的這一行,迎接第二個黑塊兒。
別踩白塊兒高分技巧二:最佳位置在第二行,能有足夠的時間思考
如圖所示,玩家手指放在紅色圓圈標記的這一行。這樣可以給上面的方塊留下大的空間,這樣下落的距離能給玩家足夠的反應時間,比較不容易亂中點錯。
別踩白塊兒高分技巧三:只需點擊第二行的方塊,等待勝利到來
在經典模式下,綠色的色塊移動過來游戲就順利結束了,玩家只要保證在這個位置還是能輕松點到綠色的色塊的。所以即使不離開紅色圓圈標記的這一行,也能順利完成一局游戲,玩家多多練習就不必慌亂地在鍵盤上亂點了。
別踩白塊兒高分技巧四:不被方塊欺騙,繼續保持位置
有時候,會來一連串的黑塊兒,如圖所示。玩家不要因此掉以輕心,不要一激動讓手指從下點到上面了。因為手指離開最佳位置之後,在上層點擊方塊是沒有足夠的時間給玩家思考的。這樣非常容易點錯,所以玩家還是應該以靜制動,無論遇到什麼樣的情況都應該保持在最佳的位置上,在思考過後再點擊才能得高分。
綜上所述,別踩白塊兒是一款考驗玩家反應速度的游戲哦,雖然游戲操作起來非常簡單,但是想要做到零失誤還是有些難度的,特別是一些玩家想試探這款游戲的高分極限,那可以要費一陣功夫才行啦~
本文來自於【系統之家】
www.xp85.com