linuxC學習第十八天

2021-09-02 02:45:18 字數 2531 閱讀 1665

int main()

; int count = 0;

int length = 0;

int i,t = 0;

while(1)

break;

case 3: //刪除資訊

printf("刪除第幾個\n");

scanf("%d",&t);

for(i = t ; i < length ; i++)

length--;

break;

default: //無效的按鍵

printf("無效選擇\n");

break;

} }}

由於一些小的問題卡住了,聽了通學的解釋後明天的問題在哪,並且解決了問題.

程式比較長,分幾個小部分

1、一些初始化和定義

#include #include #include #include #include #include #include #include #include #include #include #define keycode_u 0x41   // 向上按鍵

#define keycode_d 0x42 // 向下按鍵

#define keycode_l 0x44 // 向左按鍵

#define keycode_r 0x43 // 向右按鍵

#define size 17 //地圖大小

int kfd = 0;

struct termios cooked, raw;

char dir = keycode_u; // 當前蛇的移動方向

// 獲取鍵盤響應:上、下、左、右鍵

void* get_dir(void *a)

tcsetattr(kfd, tcsanow, &cooked);//在程式結束時在恢復原來的配置

dir = c; }}

unsigned char map[size][size] = ; // 遊戲地圖

unsigned char snake[50] = ; // 初始化蛇座標,遊戲開始的時候蛇在(8,5)這個位置

unsigned char food = 67; // 食物的座標,遊戲開始的時候在(4,3)這個位置

int len = 1; // 儲存蛇的當前長度

2、將 數字 轉化為座標系

// 將 數字 轉化為座標系

void num_to_xy(unsigned char num, unsigned char *x, unsigned char *y)

3、更新地圖資料

// 更新地圖資料

void update_map()

} for(k = 0; k < len ; k++) //蛇的資料

}} }

}

4、列印地圖

// 列印地圖

void print_map()

printf("\n");

}}

5、生成食物

// 生成食物

void generate_food()

for(i = 0;i < len;i++) //生成乙個新的食物並且判斷食物生成的位置是否是蛇的位置 }

}

6、移動蛇

// 移動蛇

void move_snake()

int end = snake[len-1]; //記錄移動前的蛇的最後一位資料

for(i = len-1;i > 0;i--) //移動蛇是將陣列從最後第二位開始往後覆蓋

snake[0] = 16 * x + y; //蛇頭的位置

if(food == snake[0]) //判斷蛇頭有沒有吃到食物

}

7、判斷蛇是否應該存活,如果返回值是0代表應該存活,1代表不應該存活

// 判斷蛇是否應該存活,如果返回值是0代表應該存活,1代表不應該存活

int isalive()

return x == 0 || y == 0 || x == size-1 || y == size-1 || eat_self ?1:0; //判斷有沒有碰到邊框

}

8.主函式

int main()		}

tcsetattr(kfd, tcsanow, &cooked);//在程式結束時在恢復原來的配置

printf ("game over!\n");

return 0;

}

注意:這個程式當蛇超過3節就不能逆向跑了。

學習python 第十八天

併發程式設計 python中實現併發程式設計的三種方案 多執行緒 多程序和非同步i o。併發程式設計的好處在於可以提公升程式的執行效率以及改善使用者體驗 程序和執行緒的區別和聯絡 程序 作業系統分配記憶體的基本單位 乙個程序可以包含乙個或多個執行緒 執行緒 作業系統分配cpu的基本單位 併發程式設計...

JAVA學習第十八天

今天學習的主要內容是正規表示式 一 使用場景 1 網頁上使用者輸入資料的時候,用於格式校驗,例如 身份證,郵箱,號碼,手機號碼,使用者名稱 登入名,密碼 2 用於與第3方系統進行資料格式校驗,因為第3方的系統不一定給你的資料,就是符合你要求的資料 3 用於從資料庫中匹配符合格式的資料 二 正規表示式...

第十八天部落格

首先是複習 複習昨天學習的19個選擇器 加上清除是20個選擇器 基本選擇器5個 id選擇器 id 類選擇器 樣式名稱 選擇器 元素選擇器 標籤名稱 組選擇器 id,class,標籤名稱 層次選擇器4個 選擇父元素中的某些元素 父元素 子元素 選擇父元素中所有的子元素,不包括後代元 父元素 子元素 選...