只是實現基礎功能,後面會優化**以及建立框架,當然有更好實現方法請告知,言謝(gbk編碼)
#
include
#include
#include
#include
using
namespace std;
void
outputwindows()
;//輸出介面外框
void
outputdownwindows()
;//輸出底部介面外框
void
whilestring
( string,
int)
;//迴圈輸出字串
void
wordmain()
;//輸出主介面文字
void
wordroleslect()
;//輸出角色選擇文字
void
wordrolecontent
(int);
//輸出角色介紹文字
void
wordaltar
(int);
//輸出祭壇介面文字
void
movemainoption()
;//移動主介面方框
void
moveroleoption()
;//移動角色選擇介面方框
void
moverole()
;//移動角色
handle hand =
getstdhandle
( std_output_handle )
;//建立螢幕輸入輸出的控制代碼
coord coord;
//建立座標的結構體
string global_role;
//遊戲角色
//對本函式傳值可以設定游標的位置
void
setposition
(int x,
int y )
//建立乙個有xy的座標結構體
struct
structxy
struct_xy, struct_xy2;
//抹除初始座標內容,相當於更新後將之前的位置設為空格
void
erase
( structxy erase_xy,
int select )
setposition
( erase_xy.x, erase_xy.y )
; cout <<
setw(1
)<<
"\0";}
//迴圈輸出文字,傳入xy結構體,輸出文字,輸出文字個數
void
wordoutput
( structxy word_xy, string *st,
int number )
}//移動角色2,傳入xy結構體,方向id
void
moverole2
( structxy role_xy,
int select )
setposition
( role_xy.x, role_xy.y )
; cout << global_role;
//輸出遊戲角色
}//移動方框,傳入xy結構體,介面id
void
moveoption
( structxy move_xy,
int select )
setposition
( move_xy.x, move_xy.y )
; cout <<
']';
}//輸出介面外框
void
outputwindows()
//輸出底部介面外框
void
outputdownwindos()
//迴圈輸出字串,傳入字串,數量
void
whilestring
( string st,
int number )
}//輸出主介面文字
void
wordmain()
; struct_xy =
;wordoutput
( struct_xy, words_main,8)
;movemainoption()
;}//輸出角色選擇文字
void
wordroleselect()
; struct_xy =
;wordoutput
( struct_xy, words_main,7)
;moveroleoption()
;}//輸出角色介紹文字
void
wordrolecontent
(int select )
; string master=
; string assassin=
; struct_xy2 =
;switch
( select )
}//輸出祭壇介面文字
void
wordaltar
(int select )
; string words_altar=
;wordoutput
( struct_xy, words_altar,12)
;outputdownwindos()
;setposition(2
,3);
whilestring
("━",42
);setposition(2
,9);
whilestring
("━",42
);setposition(12
,6);
switch
( select )
moverole()
;}//移動主介面方框
void
movemainoption()
;moveoption
( struct_xy,0)
;bool bool_0;
while
(!bool_0 )
break
;case
's':
if( struct_xy.y <8)
break
;case
'\x0d'
:bool_0 =
true;if
( struct_xy.y ==5)
wordroleselect()
;break
;default
:break;}
}}//移動角色選擇介面方框
void
moveroleoption()
;moveoption
( struct_xy,1)
;bool bool_0;
while
(!bool_0 )
break
;case
'd':
if( struct_xy.x <31)
break
;case
'\x0d'
:bool_0 =
true
;wordaltar
( struct_xy.x )
;break
;default
:break;}
}}//移動角色
void
moverole()
;bool bool_0;
while
(!bool_0 )
break
;case
's':
if( struct_xy.y <8)
break
;case
'a':
if( struct_xy.x >8)
break
;case
'd':
if( struct_xy.x <44)
break
;default
:break;}
}}//主函式
intmain()
;//建立乙個游標屬性的結構體並賦值,1代表透明度,0代表不顯示
setconsolecursorinfo
( hand,
&info )
;//設定游標的屬性,調入游標的控制代碼和引用游標屬性結構體
setconsoletitle
(text
("冒險者之旅"))
;//設定cmd標題
system
("mode con cols=47 lines=16");
//設定cmd視窗大小
system
("color 0f");
//設定cmd背景顏色
wordmain()
;//執行遊戲主介面函式
setposition(0
,16);
return0;
}
C語言練習之掃雷小遊戲
1.掃雷的基本功能 2.第一次掃,不被炸死 3.當周圍沒有雷的時候可以向外延伸擴充套件。1 首先建立乙個標頭檔案 ifndef game h define game h define row 10 define col 10 define rows row 2 define cols col 2 初...
c語言學習之小遊戲2048
2048是乙個很經典的遊戲,記得當時我身邊有個小夥伴很沉迷這個,也覺得這個遊戲很厲害,於是今天就編寫了下乙個無圖形介面的。2048遊戲在我看來需要有以下幾點 隨機數 對於計算機發生隨機數函式rand 是並不是乙個真正的隨機數,它是由計算機產生的一系列偽隨機數,就是當我們執行這個函式的時候需要每次獲得...
C語言小遊戲之俄羅斯方塊
include include include sleep 函式的標頭檔案 include include define mod 28 define size n 19 控制邊框的高度 define size m 12 控制邊框的寬度 int a 100 定義排行榜 int cur x,cur y,...