C語言練手遊戲 控制台輸出乙個會移動的坦克

2022-01-24 10:54:58 字數 1653 閱讀 6622

把c語言的知識融合起來做乙個練手的小遊戲專案,將自己掌握到的資料結構、陣列、函式、巨集定義等知識綜合利用,增加對語法的熟練程度。

作業系統: windows 10 x64

編譯ide : vs2015

// 實現乙個能在螢幕上自由移動的坦克.cpp : 定義控制台應用程式的入口點。

#include "stdafx.h"

#include #include //方向巨集定義

#define up 0

#define down 1

#define left 2

#define right 3

//全域性陣列,畫地圖用

int g_map[40][40] = ;

//坦克資料結構

typedef struct _tankinfo

tankinfo,*ptankinfo;

tankinfo tank;

//坦克樣式結構,上下左右方向

int tankstyle[4][3][3] =

, ,

},//方向向下的坦克

, ,

},//方向向左的坦克

, ,

},//方向向右的坦克

, ,

}};//血量繪畫

char *m_blood[10] = ;

//按鍵接收

char keyboardmonitor()

else

return ch;

}//畫圖函式

void writechar(int high, int wide, char * pszchar, word warr)

//清除坦克

void clstank() }}

//繪畫坦克

void drawtank() }}

//坦克撞牆檢測

bool allowmove()

return true;

}//移動坦克

void movetank()

if (tank.ndirection != tank.ngodirection)

else

case down:

case left:

case right:}}

drawtank();

}//畫出地圖

void drawmap()

else

}} //輸出所有的地圖

for (int row = 0; row < 40; row++)

else

}printf("\n"); }}

int main()

if (ch == vk_escape)

switch (ch)

break;

case 's':

break;

case 'a':

break;

case 'd':

break;

} movetank();

} return 0;

}

執行效果

C語言 請實現乙個控制台的2048小遊戲

include include include include 列印函式,列印出遊戲介面 如果是0的話就為空,否則列印出數值 void print int a 4 4 int count for int i 0 i 4 i printf 列印的是第一行的橫線 printf n for int i 0...

C語言 輸出到控制台和檔案

編寫乙個程式,用隨機數產生若干個隨機數存入檔案,然後從檔案中讀出整數。接著讀出數字到控制台輸出,並統計一共產生多少個隨機數,輸出最大最小值。include includeint max int a,int b int min int a,int b int main 輸出到顯示屏 freopen c...

C語言實現控制台「掃雷」小遊戲

根據以往的遊戲經驗,我們能首先可以確定掃雷遊戲勝利的規則是 翻開所有不是雷的區域才能算是勝利。接下來我們需要確定整個程式的設計思路 1.首先,我們定義兩個9 9的二維數還是未翻開的狀態組。第乙個陣列用來表示雷區地圖的展開情況,即每個素組元素的位置的狀態是處於展開狀態還是未展開狀態,我們命名為show...