欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來(lái)到入門(mén)教程網(wǎng)!

C語(yǔ)言

當(dāng)前位置:主頁(yè) > 軟件編程 > C語(yǔ)言 >

C語(yǔ)言實(shí)現(xiàn)推箱子游戲

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語(yǔ)言|點(diǎn)擊: 次

每天學(xué)習(xí)一點(diǎn)點(diǎn),每天容易一點(diǎn)點(diǎn)。一個(gè)簡(jiǎn)單的C語(yǔ)言程序,用來(lái)復(fù)習(xí)c語(yǔ)言,代碼通俗易懂。有什么問(wèn)題望各位不吝賜教。

本文用最簡(jiǎn)單的C語(yǔ)言語(yǔ)句寫(xiě)個(gè)推箱子的程序,分享給大家:

/*******************************************
用最簡(jiǎn)單的C語(yǔ)言語(yǔ)句寫(xiě)個(gè)推箱子的程序。


********************************************/
#include <stdio.h> 
#include <conio.h>
#include<stdlib.h> 

int map[9][11] = {
  {0,1,1,1,1,1,1,1,1,1,0}, //0代表空地
  {0,1,0,0,0,1,0,0,0,1,0}, //1代表墻
  {0,1,0,4,4,4,4,4,0,1,0}, //3代表目的地
  {0,1,0,4,0,4,0,4,0,1,1}, //4代表箱子
  {0,1,0,0,0,0,0,0,4,0,1}, //5代表人 
  {1,1,0,1,1,1,1,0,4,0,1},
  {1,0,8,3,3,3,3,1,0,0,1}, //2 3 4 5 6 7 8 9 1 0
  {1,0,3,3,3,3,3,0,0,1,1},
  {1,1,1,1,1,1,1,1,1,1,0} };

//繪制地圖 //二維數(shù)組+switch()
void DrawMap()
{
  //遍歷二維數(shù)組 //0 打印空格 //1 墻  //3 目的地 //什么結(jié)構(gòu)?
  for (int i = 0; i < 9; i++)
  {
    for (int j = 0; j < 11; j++)
    {
      //if else switch
      switch (map[i][j])
      {
      case 0:
        printf(" ");
        break;
      case 1:
        printf("■");
        break;
      case 3:
        printf("☆");
        break;
      case 4:
        printf("□");
        break;
      case 5:
        printf("♀"); //5人
        break;
      case 7:   //4 + 3 箱子在目的地中
        printf("★");
        break;
      case 8:   // 5 + 3 人在目的地當(dāng)中  人?
        printf("♀");
        break;
      }
    }
    printf("\n");
  }
}


void PlayGame()
{
  int r, c; //人的下標(biāo) //
  for (int i = 0; i < 9; i++)
  {
    for (int j = 0; j < 11; j++)
    {
      if (map[i][j] == 5||map[i][j]==8)  //i j 人的下標(biāo)?
      {
        r = i;
        c = j;
      }
    }
  }

  char ch; //字符變量
  ch = getch(); //鍵盤(pán)的輸入保存到字符中
  // getch()   getchar() 接收鍵盤(pán)字符
  // getch()直接接收 不顯示回文  getchar()顯示回文可以修改 enter鍵結(jié)束

  //根據(jù)不同的按鍵 改變不同的值. 分支.
  switch (ch)
  {
  case 'W': //W A S D方向  72 80 75 77 虛擬鍵值 ascii windowVK_UP VK_TAB VK_RETUNE
  case 'w':
  case 72:
    if (map[r - 1][c] == 0|| map[r - 1][c] == 3) 
    {
      map[r - 1][c] += 5;
      map[r][c] -= 5;
    }
    else if (map[r - 1][c] == 4 || map[r - 1][c] == 7)
    {
      if (map[r - 2][c] == 0 || map[r - 2][c] == 3)
      {
        map[r - 2][c] += 4;
        map[r - 1][c] += 1;
        map[r][c] -= 5;
      }
    }



    break;

  case 'S': //enter按鍵的作用 確認(rèn) 返回
  case 's':
  case 80:
    if (map[r + 1][c] == 0 || map[r + 1][c] == 3)
    {
      map[r + 1][c] += 5;
      map[r][c] -= 5;
    }
    else if (map[r + 1][c] == 4 || map[r+ 1][c] == 7)
    {
      if (map[r + 2][c] == 0 || map[r + 2][c] == 3)
      {
        map[r + 2][c] += 4;
        map[r + 1][c] += 1;
        map[r][c] -= 5;
      }
    }
    break;

  case 'A':
  case 'a':
  case 75:
    if (map[r ][c - 1] == 0 || map[r ][c - 1] == 3)
    {
      map[r ][c - 1] += 5;
      map[r][c] -= 5;
    }
    else if (map[r][c - 1] == 4 || map[r][c - 1] == 7)
    {
      if (map[r ][c - 2] == 0 || map[r ][c - 2] == 3)
      {
        map[r ][c - 2] += 4;
        map[r ][c - 1] += 1;
        map[r][c] -= 5;
      }
    }
    break;

  case 'D':
  case 'd':
  case 77:
    if (map[r][c + 1] == 0 || map[r][c + 1] == 3)
    {
      map[r][c + 1] += 5;
      map[r][c] -= 5;
    }
    else if (map[r][c + 1] == 4 || map[r][c + 1] == 7)
    {
      if (map[r][c + 2] == 0 || map[r][c + 2] == 3)
      {
        map[r][c + 2] += 4;
        map[r][c + 1] += 1;
        map[r][c] -= 5;
      }
    }
    break;
  }
}

//
int main() //主函數(shù)
{
  while (1)
  {
    system("cls");
    DrawMap();
    PlayGame();
  }

  return 0;
}

//通過(guò)按鍵來(lái)實(shí)現(xiàn)游戲 ---> 通過(guò)按鍵來(lái)改變二維數(shù)組的排列順序.
//思考一個(gè)問(wèn)題? 地圖是二維數(shù)組來(lái)決定的. 人在哪里 二維數(shù)組來(lái)決定?

/************************************************
//人推箱子 
可以動(dòng).  怎么辦. 改變?cè)?
    1.人的前面是空地
    2.人的前面是目的地
    3.人的前面是箱子
      3.1 箱子的前面是空地
      3.2 箱子的前面是目的地


      //盤(pán)斷二維數(shù)組中有幾個(gè)7
      //沒(méi)有目的地 不對(duì).. 人站在目的地
      //有沒(méi)有4.
****************************************/

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持我們。

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有