91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 14KB
    文件類型: .gz
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-20
  • 語言: 其他
  • 標簽: linux??五子棋??

資源簡介

完成品,很詭異的電腦,一般人都下不贏。是在linux下面用GCC直接編譯,在終端執行的。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?“curses.h“
#include?“zifu.h“

#define?CURRENT_ATTRIBUTE C_ATTR(g_style?g_fore_colorg_back_color)

#define?WHITE?1 //棋子顏色
#define?BLACK?0

#define?LEFTBORDER?44 //棋盤左邊界
#define?RIGHTBORDER?108 //棋盤右邊界
#define?MIDDLE?(int)(RIGHTBORDER+LEFTBORDER)/2 //棋盤列數的中點

int?div[][2]={{-1-1}{-10}{-11}{01}{11}{10}{1-1}{0-1}}; //方向向量

WINDOW*?g_win?=?NULL;

int?g_style?=?A_BOLD;

/******************************************************************/
/************************功能函數實現******************************/
/******************************************************************/

/*init_graphics***************************************/
/*
函數原型:bool?init_graphics(void)
函數功能:初始化屏幕(配置當前地域、進入curses模式、設置輸入、啟用彩色機制并初始化顏色、隱藏鼠標、初始化背景色并繪制背景)
函數參數:無
函數返回值:false:初始化屏幕失敗
???? ?true:初始化屏幕成功
用到自定義函數:clear_screen
*/
bool?init_graphics(void) //初始化屏幕函數
{
setlocale(LC_ALL?““);

?????g_win=initscr();?????
if(g_win==NULL)
{
printf(“call?initscr()?failed!\n“);
return?false;
}
cbreak(); //cbreak()模式開啟后,除delete或ctrl等仍被視為特殊字元外一切字元立刻被讀取。nocbreak是關閉
noecho(); //用來控制輸入的字元是否顯示在終端上,系統預設是開啟。echo是開啟

//keypad(g_winTRUE); ????? ?//啟用curses庫中對鍵盤特殊鍵的定義

????if(has_colors())??????? ?//has_colors函數檢測你的屏幕的顏色顯示能力
?{
int?ijk;
?????? start_color();?? ? ?//要啟動彩色機制,必須先調用start_color()函數
for(i=0?k=0;?i {
for(j=0;?j {
init_pair(++k?i?j);?????//初始化所有顏色
}
}
?}

????curs_set(0);??????????????????????????????//隱藏鼠標
????clear_screen(0?0?COLS?LINES);??????????//繪制背景
????wrefresh(g_win);??????????????????????????//刷新緩沖區
????return?true;

}
/*init_graphics***************************************/


/*exit_graphics***************************************/
/*
函數原型:void?exit_graphics(void)
函數功能:退出curses圖形界面
函數參數:無
函數返回值:無
用到自定義函數:無
*/
void?exit_graphics(void)
{
endwin();
}
/*exit_graphics***************************************/

/*set_attribute***************************************/
/*
函數原型:void?set_attribute(void)
函數功能:設置字體
函數參數:無
函數返回值:無
用到自定義函數:無
*/
void?set_attribute(void)
{
wattrset(g_win?CURRENT_ATTRIBUTE);
}
/*set_attribute***************************************/

/*clear_screen****************************************/
/*
函數原型:void?clear_screen(void)
函數功能:清屏函數
函數參數:起始位置坐標(xy)清屏區域長度w清屏區域高度h
函數返回值:無
用到自定義函數:無
*/
void?clear_screen(int?x?int?y?int?w?int?h)
{
int?ij;
for(i=x;i for(j=y;j {
wmove(g_winji);
waddch(g_win‘?‘);
}
wrefresh(g_win);
}
/*clear_screen***************************************/

/*read_key*******************************************/
/*
函數原型:int?read_key(void)
函數功能:讀取字符,將鍵盤按鍵轉換為對應ASICII碼
函數參數:無
函數返回值:按鍵所對應的ASICII碼
用到自定義函數:無
*/
int?read_key(void)
{
int?flags;
int?ch;
ch=getc(stdin);
if(ch==27)
{
flags=fcntl(STDIN_FILENO?F_GETFL?0);//?fcntl():stdin_fileno代表要設置的文件。F_GETFL取得文件描述詞狀態旗標,來自open()中的flag。
fcntl(STDIN_FILENO?F_SETFL?flags|O

評論

共有 條評論