色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語(yǔ)言零基礎(chǔ)項(xiàng)目:迷宮游戲!詳細(xì)思路+源碼分享

C語(yǔ)言編程學(xué)習(xí)基地 ? 來(lái)源:C語(yǔ)言編程學(xué)習(xí)基地 ? 作者:C語(yǔ)言編程學(xué)習(xí)基地 ? 2022-12-21 10:08 ? 次閱讀

每天一個(gè)C語(yǔ)言小項(xiàng)目,提升你的編程能力!

迷宮游戲其實(shí)有很多種類型,比如說(shuō)營(yíng)救公主的一款,又比如說(shuō)闖關(guān)的一款,其他的一些種類這里就不一一列舉了。但是不管哪一款迷宮游戲,唯一不變的就是迷宮的實(shí)現(xiàn)這一核心功能,每一款迷宮游戲無(wú)非就是根據(jù)自己的游戲性質(zhì)在迷宮之中添加一些必要的元素罷了。

我們今天的主要目標(biāo)就是用C語(yǔ)言來(lái)實(shí)現(xiàn)迷宮的原本功能,純天然無(wú)污染,沒(méi)有添加任何防腐劑(因?yàn)闆](méi)有其他的花里胡哨的功能)

f86d38d8-803c-11ed-8abf-dac502259ad0.png

上面就是咱們的效果圖預(yù)覽,以圖形庫(kù)easyX來(lái)搭配C語(yǔ)言語(yǔ)法實(shí)現(xiàn)的迷宮界面,然后也實(shí)現(xiàn)了例如一些按鍵操作,邊界檢測(cè)這樣的功能,整體來(lái)說(shuō)還是比較完善的。

本項(xiàng)目編譯環(huán)境:Visual Studio 2019/2022,EasyX插件

代碼展示:

#include 
#include 
#include 






//////////////////////////////////////////////////////
// 定義全局變量
//
BYTE**  g_aryMap = NULL;      // 迷宮地圖
SIZE  g_szMap;          // 迷宮地圖的尺寸
IMAGE  g_imgSight(360, 280);    // 游戲的視野
RECT  g_rtSight;          // 游戲的視野的范圍
IMAGE  g_imgItem(180, 20);      // 地圖元素
IMAGE  g_imgGPS;          // 迷你地圖,用于顯示游戲者在地圖中的位置
POINT  g_ptGPS;          // 迷你地圖的顯示位置
SIZE  g_szGPS;          // 迷你地圖的尺寸
POINT  g_ptPlayer;          // 游戲者的位置


// 枚舉地圖元素,兼做元素位置的 x 坐標(biāo)
enum MAPITEM { MAP_WALL = 0, MAP_PLAYER = 20, MAP_GROUND = 40, MAP_MARKRED = 60, MAP_MARKGREEN = 80, MAP_MARKYELLOW = 100, MAP_ENTRANCE = 120, MAP_EXIT = 140, MAP_OUTSIDE = 160 };
// 枚舉用戶的控制命令
enum CMD { CMD_QUIT = 1, CMD_UP = 2, CMD_DOWN = 4, CMD_LEFT = 8, CMD_RIGHT = 16, CMD_MARKRED = 32, CMD_MARKGREEN = 64, CMD_MARKYELLOW = 128, CMD_CLEARMARK = 256 };






//////////////////////////////////////////////////////
// 函數(shù)聲明
//
void  Welcome();              // 繪制游戲界面
void  InitImage();            // 初始化游戲圖片
void  InitGame();              // 初始化游戲數(shù)據(jù)
void  GetMazeSize();            // 提示用戶輸入迷宮大小
void  MakeMaze(int width, int height);  // 生成迷宮:初始化(注:寬高必須是奇數(shù))
void  TravelMaze(int x, int y);      // 生成迷宮:遍歷 (x, y) 四周
MAPITEM  GetMazeItem(int x, int y);      // 獲取指定坐標(biāo)的迷宮元素
void  Paint();              // 繪制視野范圍內(nèi)的迷宮
int    GetCmd();              // 獲取用戶輸入的命令
void  DispatchCmd(int cmd);        // 處理用戶輸入的命令
void  OnUp();                // 向上移動(dòng)
void  OnLeft();              // 向左移動(dòng)
void  OnRight();              // 向右移動(dòng)
void  OnDown();              // 向下移動(dòng)
void  OnMark(MAPITEM value);        // 在地圖中做標(biāo)記
bool  CheckWin();              // 檢查是否到出口
bool  Quit();                // 詢問(wèn)用戶是否退出游戲






//////////////////////////////////////////////////////
// 函數(shù)定義
//




// 主程序
void main()
{
  // 初始化
  initgraph(640, 480);      // 創(chuàng)建繪圖窗口
  srand((unsigned)time(NULL));  // 設(shè)置隨機(jī)種子


  // 顯示主界面
  Welcome();


  // 初始化
  InitImage();
  InitGame();


  // 游戲過(guò)程
  int c;
  while( !(((c = GetCmd()) & CMD_QUIT) && Quit()) )
  {
    DispatchCmd(c);
    Paint();
    if (CheckWin())
      break;


    // 延時(shí)
    Sleep(100);
  }


  // 清理迷宮地圖占用的內(nèi)存
  for(int x = 0; x < g_szMap.cx + 2; x++)
    delete[] g_aryMap[x];
  delete [] g_aryMap;


  // 關(guān)閉圖形模式
  closegraph();
}




// 繪制游戲界面
void Welcome()
{
  // 繪制漸變色外框
  for(int i=0; i<128; i++)
  {
    setlinecolor(RGB(0, 0, (127 - i) << 1));
    rectangle(149 - i, 109 - (i >> 1), 490 + i, 370 + (i >> 1));
  }


  // 設(shè)置字體樣式
  settextcolor(WHITE);
  setbkmode(TRANSPARENT);


  // 繪制標(biāo)題
  settextstyle(36, 0, _T("宋體"));
  outtextxy(248, 40, _T("迷宮"));


  // 繪制操作說(shuō)明
  settextstyle(12, 0, _T("宋體"));
  outtextxy(50, 382, _T("控制說(shuō)明:"));
  outtextxy(74, 400, _T("方向鍵或 A/S/D/W:移動(dòng)"));
  outtextxy(74, 418, _T("空格、Y、G:在地圖上做紅、黃、綠色 M 標(biāo)記"));
  outtextxy(74, 436, _T("C:清除地圖上的標(biāo)記"));
  outtextxy(74, 454, _T("ESC:退出程序"));
}




// 初始化游戲圖片
void InitImage()
{
  // 預(yù)繪制游戲圖片到 IMAGE 緩存(可以修改為加載圖片以獲得更好效果)
  SetWorkingImage(&g_imgItem);
  cleardevice();
  // 繪制 PLAYER
  setorigin(MAP_PLAYER, 0);
  setfillcolor(YELLOW);
  setlinecolor(YELLOW);
  fillellipse(2, 2, 17, 17);
  setlinecolor(BLACK);
  line(7, 7, 7, 8);
  line(12, 7, 12, 8);
  arc(5, 6, 14, 14, 3.34, 6.08);
  // 繪制墻壁
  setorigin(MAP_WALL, 0);
  settextcolor(BROWN);
  setfillstyle((BYTE*)"x20x20x20xffx04x04x04xff");
  setlinecolor(BROWN);
  solidrectangle(1, 1, 18, 18);
  rectangle(0, 0, 19, 19);
  // 繪制紅色標(biāo)記
  setorigin(MAP_MARKRED, 0);
  setlinecolor(RED);
  moveto(5, 15);
  linerel(0, -10);  linerel(5, 5);  linerel(5, -5);    linerel(0, 10);
  // 繪制綠色標(biāo)記
  setorigin(MAP_MARKGREEN, 0);
  setlinecolor(GREEN);
  moveto(5, 15);
  linerel(0, -10);  linerel(5, 5);  linerel(5, -5);    linerel(0, 10);
  // 繪制黃色標(biāo)記
  setorigin(MAP_MARKYELLOW, 0);
  setlinecolor(YELLOW);
  moveto(5, 15);
  linerel(0, -10);  linerel(5, 5);  linerel(5, -5);    linerel(0, 10);
  // 繪制入口
  setorigin(MAP_ENTRANCE, 0);
  setlinecolor(GREEN);
  settextstyle(12, 0, _T("宋體"));
  outtextxy(4, 4, _T("入"));
  // 繪制出口
  setorigin(MAP_EXIT, 0);
  outtextxy(4, 4, _T("出"));
  // 繪制迷宮外面的空地
  setorigin(MAP_OUTSIDE, 0);
  settextcolor(GREEN);
  setfillstyle((BYTE*)"x50x55x22x20x05x55x22x02");
  solidrectangle(0, 0, 19, 19);
  // 恢復(fù)坐標(biāo)系
  setorigin(0, 0);


  // 顯示作者
  SetWorkingImage();
  settextcolor(BLUE);
  TCHAR author[] = _T("Powered by zhaoh1987@qq.com");
  outtextxy(471, 4, author);
  settextcolor(LIGHTBLUE);
  outtextxy(470, 3, author);
}




// 初始化游戲數(shù)據(jù)
void InitGame()
{
  // 提示用戶輸入迷宮大小
  GetMazeSize();


  // 初始化參數(shù)
  if (g_aryMap != NULL)
  {  // 清理迷宮地圖占用的內(nèi)存
    for(int x = 0; x < g_szMap.cx + 2; x++)
      delete[] g_aryMap[x];
    delete [] g_aryMap;
  }
  MakeMaze(g_szMap.cx, g_szMap.cy);    // 創(chuàng)建迷宮
  g_ptPlayer.x  = 2;          // 設(shè)置游戲者的位置
  g_ptPlayer.y  = 2;
  g_rtSight.left  = 0;          // 設(shè)置視野范圍
  g_rtSight.top  = 0;
  g_rtSight.right  = 17;
  g_rtSight.bottom= 13;


  // 設(shè)置 GPS 顯示區(qū)
  setfillcolor(BLUE);
  solidrectangle(522, 368, 637, 471);
  if (g_szMap.cx > g_szMap.cy)  {  g_szGPS.cx = 100; g_szGPS.cy = (int)(100.0 * g_szMap.cy / g_szMap.cx + 0.5);  }
  else              {  g_szGPS.cy = 100; g_szGPS.cx = (int)(100.0 * g_szMap.cx / g_szMap.cy + 0.5);  }
  Resize(&g_imgGPS, g_szGPS.cx, g_szGPS.cy);
  g_ptGPS.x = 530 + 50 - g_szGPS.cx / 2;
  g_ptGPS.y = 370 + 50 - g_szGPS.cy / 2;
  // 畫(huà)迷你地圖外框
  setlinecolor(RED);
  rectangle(g_ptGPS.x - 1, g_ptGPS.y - 1, g_ptGPS.x + g_szGPS.cx, g_ptGPS.y + g_szGPS.cy);
  // 畫(huà)迷你地圖入口和出口
  setlinecolor(YELLOW);
  moveto(g_ptGPS.x - 8, g_ptGPS.y + g_szGPS.cy / g_szMap.cy);
  linerel(7, 0);  linerel(-3, -3);  moverel(3, 3);  linerel(-3, 3);
  moveto(g_ptGPS.x + g_szGPS.cx, g_ptGPS.y + g_szGPS.cy - g_szGPS.cy / g_szMap.cy);
  linerel(7, 0);  linerel(-3, -3);  moverel(3, 3);  linerel(-3, 3);


  // 繪制游戲區(qū)
  Paint();
}




// 提示用戶輸入迷宮大小
void GetMazeSize()
{
  g_szMap.cx = g_szMap.cy = 0;


  // 獲取用戶輸入的寬高
  TCHAR s[4];
  while(g_szMap.cx < 20 || g_szMap.cx > 200)
  {
    InputBox(s, 4, _T("請(qǐng)輸入迷宮的寬度
范圍:20~200"), _T("輸入"), _T("25"));
    g_szMap.cx = _ttoi(s);
  }
  while(g_szMap.cy < 20 || g_szMap.cx > 200)
  {
    InputBox(s, 4, _T("請(qǐng)輸入迷宮的高度
范圍:20~200"), _T("輸入"), _T("25"));
    g_szMap.cy = _ttoi(s);
  }


  // 確保寬高為奇數(shù)
  if (g_szMap.cx % 2 != 1) g_szMap.cx++;
  if (g_szMap.cy % 2 != 1) g_szMap.cy++;
}




// 生成迷宮:初始化(注:寬高必須是奇數(shù))
void MakeMaze(int width, int height)
{
  if (width % 2 != 1 || height % 2 != 1)
    return;


  int x, y;


  // 定義迷宮尺寸,并分配迷宮內(nèi)存
  g_aryMap = new BYTE*[width + 2];
  for(x = 0; x < width + 2; x++)
  {
    g_aryMap[x] = new BYTE[height + 2];
    memset(g_aryMap[x], MAP_WALL, height + 2);
  }


  // 定義邊界
  for (x = 0; x <= width + 1; x++)
    g_aryMap[x][0] = g_aryMap[x][height + 1] = MAP_GROUND;
  
  for (y = 1; y <= height; y++)
    g_aryMap[0][y] = g_aryMap[width + 1][y] = MAP_GROUND;
    
  // 定義入口和出口
  g_aryMap[1][2] = MAP_ENTRANCE;
  g_aryMap[width][height - 1] = MAP_EXIT;


  // 從任意點(diǎn)開(kāi)始遍歷生成迷宮
  TravelMaze(((rand() % (width - 1)) & 0xfffe) + 2, ((rand() % (height - 1)) & 0xfffe) + 2);


  // 將邊界標(biāo)記為迷宮外
  for (x = 0; x <= width + 1; x++)
    g_aryMap[x][0] = g_aryMap[x][height + 1] = MAP_OUTSIDE;
  
  for (y = 1; y <= height; y++)
    g_aryMap[0][y] = g_aryMap[width + 1][y] = MAP_OUTSIDE;
}




// 生成迷宮:遍歷 (x, y) 四周
void TravelMaze(int x, int y)
{
  // 定義遍歷方向
  int d[4][2] = {0, 1, 1, 0, 0, -1, -1, 0};
  
  // 將遍歷方向亂序
  int n, t, i;
  for(i = 0; i < 4; i++)
  {
    n = rand() % 4;
    t = d[i][0], d[i][0] = d[n][0], d[n][0] = t;
    t = d[i][1], d[i][1] = d[n][1], d[n][1] = t;
  }
  
  // 嘗試周圍四個(gè)方向
  g_aryMap[x][y] = MAP_GROUND;
  for(i = 0; i < 4; i++)
    if (g_aryMap[x + 2 * d[i][0]][y + 2 * d[i][1]] == MAP_WALL)
    {
      g_aryMap[x + d[i][0]][y + d[i][1]] = MAP_GROUND;
      TravelMaze(x + d[i][0] * 2, y + d[i][1] * 2);    // 遞歸
    }
}




// 獲取指定坐標(biāo)的迷宮元素
MAPITEM GetMazeItem(int x, int y)
{
  return (MAPITEM)g_aryMap[x][y];
}




// 繪制視野范圍內(nèi)的迷宮
void Paint()
{
  int x1, y1;


  // 繪制視野內(nèi)的迷宮
  SetWorkingImage(&g_imgSight);
  for(int x = g_rtSight.left; x <= g_rtSight.right; x++)
    for(int y = g_rtSight.top; y <= g_rtSight.bottom; y++)
    {
      x1 = (x - g_rtSight.left) * 20;
      y1 = (y - g_rtSight.top) * 20;
      putimage(x1, y1, 20, 20, &g_imgItem, GetMazeItem(x, y), 0);
    }


  // 繪制游戲者
  x1 = (g_ptPlayer.x - g_rtSight.left) * 20;
  y1 = (g_ptPlayer.y - g_rtSight.top) * 20;
  putimage(x1, y1, 20, 20, &g_imgItem, MAP_PLAYER, 0);


  // 繪制迷你地圖
  SetWorkingImage(&g_imgGPS);
  cleardevice();
  int tx = (int)((g_ptPlayer.x - 1) * g_szGPS.cx / (double)(g_szMap.cx - 1) + 0.5);
  int ty = (int)((g_ptPlayer.y - 1) * g_szGPS.cy / (double)(g_szMap.cy - 1) + 0.5);
  setlinecolor(YELLOW);
  circle(tx, ty, 1);


  // 更新到繪圖窗口
  SetWorkingImage();
  putimage(150, 110, 340, 260, &g_imgSight, 10, 10);
  putimage(g_ptGPS.x, g_ptGPS.y, &g_imgGPS);
}




// 獲取用戶輸入的命令
int GetCmd()
{
  int c = 0;


  if (GetAsyncKeyState(VK_LEFT)  & 0x8000)    c |= CMD_LEFT;
  if (GetAsyncKeyState(VK_RIGHT)  & 0x8000)    c |= CMD_RIGHT;
  if (GetAsyncKeyState(VK_UP)    & 0x8000)    c |= CMD_UP;
  if (GetAsyncKeyState(VK_DOWN)  & 0x8000)    c |= CMD_DOWN;
  if (GetAsyncKeyState('A')    & 0x8000)    c |= CMD_LEFT;
  if (GetAsyncKeyState('D')    & 0x8000)    c |= CMD_RIGHT;
  if (GetAsyncKeyState('W')    & 0x8000)    c |= CMD_UP;
  if (GetAsyncKeyState('S')    & 0x8000)    c |= CMD_DOWN;
  if (GetAsyncKeyState(' ')    & 0x8000)    c |= CMD_MARKRED;
  if (GetAsyncKeyState('G')    & 0x8000)    c |= CMD_MARKGREEN;
  if (GetAsyncKeyState('Y')    & 0x8000)    c |= CMD_MARKYELLOW;
  if (GetAsyncKeyState('C')    & 0x8000)    c |= CMD_CLEARMARK;
  if (GetAsyncKeyState(VK_ESCAPE)  & 0x8000)    c |= CMD_QUIT;


  return c;
}




// 處理用戶輸入的命令
void DispatchCmd(int cmd)
{
  if (cmd & CMD_UP)      OnUp();
  if (cmd & CMD_DOWN)      OnDown();
  if (cmd & CMD_LEFT)      OnLeft();
  if (cmd & CMD_RIGHT)    OnRight();
  if (cmd & CMD_MARKRED)    OnMark(MAP_MARKRED);
  if (cmd & CMD_MARKGREEN)  OnMark(MAP_MARKGREEN);
  if (cmd & CMD_MARKYELLOW)  OnMark(MAP_MARKYELLOW);
  if (cmd & CMD_CLEARMARK)  OnMark(MAP_GROUND);
}




// 向上移動(dòng)
void OnUp()
{
  if (g_ptPlayer.y > 1 && GetMazeItem(g_ptPlayer.x, g_ptPlayer.y - 1) != MAP_WALL)
  {
    g_ptPlayer.y--;


    if (g_ptPlayer.y - g_rtSight.top < 4 && g_rtSight.top > 0)
    {
      g_rtSight.top--;
      g_rtSight.bottom--;
    }
  }
}




// 向左移動(dòng)
void OnLeft()
{
  if (g_ptPlayer.x > 1 && GetMazeItem(g_ptPlayer.x - 1, g_ptPlayer.y) != MAP_WALL && GetMazeItem(g_ptPlayer.x - 1, g_ptPlayer.y) != MAP_ENTRANCE)
  {
    g_ptPlayer.x--;


    if (g_ptPlayer.x - g_rtSight.left < 5 && g_rtSight.left > 0)
    {
      g_rtSight.left--;
      g_rtSight.right--;
    }
  }
}




// 向右移動(dòng)
void OnRight()
{
  if (g_ptPlayer.x < g_szMap.cx && GetMazeItem(g_ptPlayer.x + 1, g_ptPlayer.y) != MAP_WALL)
  {
    g_ptPlayer.x++;


    if (g_rtSight.right - g_ptPlayer.x < 5 && g_rtSight.right <= g_szMap.cx)
    {
      g_rtSight.left++;
      g_rtSight.right++;
    }
  }
}




// 向下移動(dòng)
void OnDown()
{
  if (g_ptPlayer.y < g_szMap.cy && GetMazeItem(g_ptPlayer.x, g_ptPlayer.y + 1) != MAP_WALL)
  {
    g_ptPlayer.y++;


    if (g_rtSight.bottom - g_ptPlayer.y < 4 && g_rtSight.bottom <= g_szMap.cy)
    {
      g_rtSight.top++;
      g_rtSight.bottom++;
    }
  }
}




// 在地圖中做標(biāo)記
void OnMark(MAPITEM value)
{
  g_aryMap[g_ptPlayer.x][g_ptPlayer.y] = value;
}




// 檢查是否到出口
bool CheckWin()
{
  if (g_ptPlayer.x == g_szMap.cx && g_ptPlayer.y == g_szMap.cy - 1)
  {
    HWND hwnd = GetHWnd();
    if (MessageBox(hwnd, _T("恭喜你走出來(lái)了!
您想再來(lái)一局嗎?"), _T("恭喜"), MB_YESNO | MB_ICONQUESTION) == IDYES)
    {
      InitGame();
      return false;
    }
    else
      return true;
  }


  return false;
}




// 詢問(wèn)用戶是否退出游戲
bool Quit()
{
  HWND hwnd = GetHWnd();
  return (MessageBox(hwnd, _T("您確定要退出游戲嗎?"), _T("詢問(wèn)"), MB_OKCANCEL | MB_ICONQUESTION) == IDOK);
}

大家趕緊去動(dòng)手試試吧!

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 游戲
    +關(guān)注

    關(guān)注

    2

    文章

    742

    瀏覽量

    26312
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7604

    瀏覽量

    136692
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3614

    瀏覽量

    93686
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    639

    瀏覽量

    29185

原文標(biāo)題:C語(yǔ)言零基礎(chǔ)項(xiàng)目:迷宮游戲!詳細(xì)思路+源碼分享

文章出處:【微信號(hào):cyuyanxuexi,微信公眾號(hào):C語(yǔ)言編程學(xué)習(xí)基地】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語(yǔ)言零基礎(chǔ)項(xiàng)目:涂格子(點(diǎn)燈)游戲詳細(xì)思路+源碼分享

    點(diǎn)燈游戲是一個(gè)十分有趣的智力游戲:有一行N行N列的燈,開(kāi)始時(shí)全部是滅的,當(dāng)你點(diǎn)擊其中一盞燈時(shí)他的上下左右(若存在的話)狀態(tài)全部改變,現(xiàn)在要求你在限定的時(shí)間內(nèi)以最少地步數(shù),將全部的燈點(diǎn)亮。
    發(fā)表于 12-16 09:47 ?872次閱讀

    C語(yǔ)言零基礎(chǔ)項(xiàng)目:貪吃蛇!詳細(xì)思路+源碼分享

    每天一個(gè)C語(yǔ)言項(xiàng)目,提升你的編程能力!
    發(fā)表于 12-19 11:04 ?706次閱讀

    零基礎(chǔ)怎樣學(xué)習(xí)C語(yǔ)言呢?

    零基礎(chǔ)學(xué)c語(yǔ)言如何開(kāi)始
    發(fā)表于 05-15 10:23

    C語(yǔ)言游戲源碼分享

    C語(yǔ)言游戲源碼24點(diǎn)火柴人俄羅斯等等等35個(gè)游戲源碼網(wǎng)盤(pán)分享鏈接:https://pan.ba
    發(fā)表于 04-12 17:11

    C語(yǔ)言零基礎(chǔ)入門(mén)教學(xué)資料匯總下載

    C語(yǔ)言零基礎(chǔ)入門(mén)教學(xué)資料匯總下載
    發(fā)表于 05-29 10:41 ?132次下載

    C語(yǔ)言零基礎(chǔ)項(xiàng)目:打字母游戲詳細(xì)思路+源碼分享

    今天就用C語(yǔ)言寫(xiě)了這么個(gè)打字母的小程序,就是以前學(xué)習(xí)機(jī)上那種字母往下掉,然后按相應(yīng)鍵字母消失的游戲
    發(fā)表于 12-15 15:02 ?638次閱讀

    C語(yǔ)言零基礎(chǔ)項(xiàng)目:俄羅斯方塊游戲詳細(xì)思路+源碼分享

    由小方塊組成的不同形狀的板塊陸續(xù)從屏幕上方落下來(lái),玩家通過(guò)調(diào)整板塊的位置和方向,使它們?cè)谄聊坏撞科闯鐾暾囊粭l或幾條。這些完整的橫條會(huì)隨即消失,給新落下來(lái)的板塊騰出空間,與此同時(shí),玩家得到分?jǐn)?shù)獎(jiǎng)勵(lì)。沒(méi)有被消除掉的方塊不斷堆積起來(lái),一旦堆到屏幕頂端,玩家便告輸,游戲結(jié)束。
    的頭像 發(fā)表于 12-19 14:52 ?1897次閱讀

    C語(yǔ)言零基礎(chǔ)項(xiàng)目:生命游戲詳細(xì)思路+源碼分享

    生命游戲不需要任何玩家,它是一個(gè)二維矩形世界,這個(gè)世界中的每個(gè)方格居住著一個(gè)活細(xì)胞或?yàn)榭铡?/div>
    的頭像 發(fā)表于 12-22 11:17 ?1027次閱讀

    C語(yǔ)言零基礎(chǔ)項(xiàng)目:推箱子游戲詳細(xì)思路+源碼分享

    推箱子是一個(gè)來(lái)自日本的古老游戲,目的是在訓(xùn)練你的邏輯思考能力。在一個(gè)狹小的倉(cāng)庫(kù)中,要求把木箱放到指定的位置,稍不小心就會(huì)出現(xiàn)箱子無(wú)法移動(dòng)或者通道被堵住的情況,所以需要巧妙的利用有限的空間和通道,合理安排移動(dòng)的次序和位置,才能順利的完成任務(wù)。
    的頭像 發(fā)表于 12-27 10:38 ?835次閱讀

    C語(yǔ)言零基礎(chǔ)項(xiàng)目:黑白棋游戲詳細(xì)思路+源碼分享

    《黑白棋》也叫翻轉(zhuǎn)棋或者奧賽羅,其游戲過(guò)程是相互翻轉(zhuǎn)對(duì)方的棋子,最后以棋盤(pán)上誰(shuí)的棋子多來(lái)判斷勝負(fù)。雖然規(guī)則簡(jiǎn)單,但是變化復(fù)雜,是典型的易學(xué)難精,奧妙無(wú)窮,不信您就試試看吧!
    的頭像 發(fā)表于 12-29 11:12 ?995次閱讀

    C語(yǔ)言零基礎(chǔ)項(xiàng)目:自制軍棋游戲詳細(xì)思路+源碼分享

    每天一個(gè)C語(yǔ)言項(xiàng)目,提升你的編程能力!
    的頭像 發(fā)表于 12-29 17:14 ?8468次閱讀

    C語(yǔ)言零基礎(chǔ)項(xiàng)目:對(duì)對(duì)碰(消除類)游戲詳細(xì)思路+源碼分享

    游戲中消除的對(duì)象為各種各樣的頭像,包括樹(shù)、小車、草莓和酒瓶等一些頭像。玩家通關(guān)移動(dòng)這些頭像位置湊夠一定數(shù)量的相同圖標(biāo)即可消除。
    的頭像 發(fā)表于 01-03 11:13 ?779次閱讀

    C語(yǔ)言零基礎(chǔ)項(xiàng)目:吃豆人小游戲詳細(xì)思路+源碼分享

    《吃豆游戲》是一款休閑小游戲,和貪吃蛇,球球大作戰(zhàn)吃食物都是有差不多的游戲邏輯。
    的頭像 發(fā)表于 01-03 11:38 ?1495次閱讀

    C語(yǔ)言項(xiàng)目:礦井逃生游戲(密室)!詳細(xì)思路+源碼分享

    密室逃脫相信大部分都玩過(guò)了吧?本游戲就是一種用C語(yǔ)言寫(xiě)的類似的游戲,因?yàn)橛檬蛛娡舱彰髡衣罚杂悬c(diǎn)像礦工的樣子,還是叫它礦井逃生吧!(以下是游戲
    的頭像 發(fā)表于 01-07 09:41 ?1427次閱讀

    C語(yǔ)言零基礎(chǔ)項(xiàng)目:打飛機(jī)游戲!300行源碼分享+詳細(xì)思路

    游戲中,你操控你的防空車盡可能的多擊落飛機(jī),躲避飛機(jī)扔的炸彈。
    的頭像 發(fā)表于 01-11 09:31 ?1052次閱讀
    主站蜘蛛池模板: jk制服啪啪网站| 久久性综合亚洲精品电影网| 手机毛片在线| 俄罗斯女人Z0Z0极品| 日本又黄又裸一级大黄裸片| jizzxxxx18中国内地| 欧美日韩综合一区| ppypp午夜限制不卡影院私人| 妻子的秘密HD观看| 北条麻妃夫の友人196| 日韩 国产 欧美视频二区| 村妇偷人内射高潮迭起| 色婷婷五月综合中文字幕 | 欧美精品AV精品一区视频| 99国内偷揿国产精品人妻| 欧美日韩无套内射另类| 白丝美女被狂躁免费漫画| 日韩精品 中文字幕 有码 | 暖暖 免费 高清 日本在线| 99视频免视看| 日本一区二区三区在线观看网站| 高h肉文合集| 亚洲高清国产拍精品动图| 好硬好湿好爽再深一点视频 | 国产精品一区二区四区| 亚洲精品乱码久久久久久中文字幕| 韩国伦理片2018在线播放免费观看| 野花日本免费完整版高清版动漫 | 午夜性伦鲁啊鲁免费视频| 狠狠躁日日躁人人爽| 在线视频免费观看| 欧美日韩无套内射另类| 国产99RE在线观看69热| 亚洲国产系列一区二区三区| 久草在线精彩免费视频| 97成人在线视频| 日本xxx护士与黑人| 国产伦精品一区二区三区| 伊人久久艹| 欧美亚洲韩日午夜| 国产精品成人观看视频免费|