吾愛破解 - LCG - LSG |安卓破解|病毒分析|破解軟件|www.mlqcje.live

 找回密碼
 注冊[Register]

QQ登錄

只需一步,快速開始

搜索
查看: 988|回復: 40
上一主題 下一主題

[VC] 分享一個C++自己寫的貪吃蛇

  [復制鏈接]
跳轉到指定樓層
樓主
Bluezzz 發表于 2020-2-18 08:58 回帖獎勵
分享一個自己寫的C++貪吃蛇
之前學C++時寫的,希望大家喜歡!
部分核心代碼:


void initiBoard() {
    for(int i = 1; i<=15; i++) {
        strcpy(Board[i],Boardiniti[i]);    //把Boardiniti復制到Board中
    }
}

void printBoard() {
    system("cls");//清屏 
    for(int i = 1; i <= 15; i++) {
        cout<<Board[i];
    }
}

void changeBoard(int x,int y,int changeFlag) {
    if(changeFlag==1) {
        Board[y][x] = ' ';
    } else if(changeFlag==3) {
        Board[y][x] = 'X'; //■█□  嘿嘿嘿 
    } else if(changeFlag==4) {
        Board[y][x] = '*';
    }
}

void changeiniBoard(int x,int y,int changeFlag) {
    if(changeFlag == 1)
        Boardiniti[y][x] = '*';
    if(changeFlag == 2)
        Boardiniti[y][x] = ' ';
}

void changeSnakeBody() {
    for(int i = 0; i <=1; i++) {
        for(int j = snakeEnd; j >=1; j--) {
            snake[i][j] = snake[i][j-1];
        }
    }
}

void move() {
    if(towards == 2) { //上
        changeSnakeBody();
        snake[1][0]++;
    } else if(towards == 1) { //下
        changeSnakeBody();
        snake[1][0]--;
    } else if(towards == 3) { //左
        changeSnakeBody();
        snake[0][0]--;
    } else if(towards == 4) { //右
        changeSnakeBody();
        snake[0][0]++;
    }
}

void getTowards() {
    int twds=towards;
    timeNow = GetTickCount();
    while(GetTickCount()<timeNow+hard) {
        if(kbhit()) {
            char tows = getch();
            if((tows == 'w'||tows == 'W')&&twds!=2) towards = 1;
            else if((tows == 's'||tows == 'S')&&twds!=1) towards = 2;
            else if((tows == 'a'||tows == 'A')&&twds!=4) towards = 3;
            else if((tows == 'd'||tows == 'D')&&twds!=3) towards = 4;
        }
    }
}

void updataBoard() {
    initiBoard();
    for(int i = snakeEnd; i >=0; i--) {
        changeBoard(snake[0][i],snake[1][i],3);
    }
}


另外,此軟件由 Dev-C++ 編寫,源代碼在壓縮文件中的新建文件夾 project1.dev 文件中打開,沒有Dev的同學也可使用壓縮文件中的 貪吃蛇.cpp 文件編譯(只是沒有圖標),感謝大家的支持!

QQ截圖20200202214230.png (22.79 KB, 下載次數: 2)

啟動界面

啟動界面

QQ截圖20200202214338.png (21.85 KB, 下載次數: 1)

QQ截圖20200202214338.png

QQ截圖20200202214325.png (22.34 KB, 下載次數: 1)

QQ截圖20200202214325.png

C 貪吃蛇.rar

12.13 KB, 下載次數: 31, 下載積分: 吾愛幣 -1 CB

源代碼自行下載

免費評分

參與人數 4吾愛幣 +5 熱心值 +4 收起 理由
xwl + 1 + 1 感謝您的寶貴建議,我們會努力爭取做得更好!
samary1999 + 1 + 1 [email protected]
JuncoJet + 1 只有我按S崩潰嗎,樓下?
huzpsb + 3 + 1 tql%%%orz

查看全部評分

發帖前要善用論壇搜索功能,那里可能會有你要找的答案或者已經有人發布過相同內容了,請勿重復發帖。

推薦
JuncoJet 發表于 2020-2-18 09:42
Bluezzz 發表于 2020-2-18 09:35
感謝大佬的調試,但我在 Win7 電腦上跑的很好呀?

[C++] 純文本查看 復制代碼
void changeiniBoard(int x,int y,int changeFlag) {
        if(changeFlag == 1)
                Boardiniti[y][x] = '*';
        if(changeFlag == 2)
                Boardiniti[y][x] = ' ';
}


Seed數組初始變量-1,執行changeiniBoard不出錯才怪。除非我用的和你用的不是同一個代碼。
我是中文的 貪吃蛇.cpp 編譯的
推薦
JuncoJet 發表于 2020-2-18 09:32
Bluezzz 發表于 2020-2-18 09:27
怎么會崩潰呢???

[C++] 純文本查看 復制代碼
void play() {
	score = 0;
	is_alive = 1;
	towards = 4;    //蛇的朝向    1:向上    2:向下    3:向左    4:向右
	snake[0][0] = 5;    //蛇的xy坐標
	snake[1][0] = 7;
	snakeEnd = 1;
	//changeiniBoard(Seed[0],Seed[1],2); //<==這行注釋掉就不會崩潰,也能玩游戲。有這行就崩潰
	Seed[0] = -1;
	Seed[1] = -1;
	while(is_alive) {
		getTowards();            //獲取朝向
		move();                    //讓大蛇飛
		updataBoard();
		printBoard();            //畫 板 子
		genSeed();                //生成種子
		Judge();                //判斷是否吃豆
	}
	End();
}
沙發
sp21000 發表于 2020-2-18 09:02
3#
phpbird 發表于 2020-2-18 09:04
沒有環境,無法編譯,代碼和界面很贊,能改成個python的么?
4#
 樓主| Bluezzz 發表于 2020-2-18 09:07 <
phpbird 發表于 2020-2-18 09:04
沒有環境,無法編譯,代碼和界面很贊,能改成個python的么?

額。。。我是Python的初學者,能力有限。。。很多語法還不知道,請諒解
5#
圣皇 發表于 2020-2-18 09:10
感謝分享自己作品
6#
LunarSakura 發表于 2020-2-18 09:15
在學C++,學到了
7#
yunxiaoyulin 發表于 2020-2-18 09:15
感謝分享,樓主辛苦了。讓我想起了上學期間的作業。
8#
 樓主| Bluezzz 發表于 2020-2-18 09:19 <
yunxiaoyulin 發表于 2020-2-18 09:15
感謝分享,樓主辛苦了。讓我想起了上學期間的作業。

感謝支持!讓我們共同學習
9#
JuncoJet 發表于 2020-2-18 09:24
按了S就奔潰= =#
10#
52Dave 發表于 2020-2-18 09:26
厲害好評
您需要登錄后才可以回帖 登錄 | 注冊[Register]

本版積分規則 警告:本版塊禁止灌水或回復與主題無關內容,違者重罰!

快速回復 收藏帖子 返回列表 搜索

RSS訂閱|小黑屋|聯系我們|吾愛破解 - LCG - LSG ( 京ICP備16042023號 | 京公網安備 11010502030087號 )

GMT+8, 2020-4-8 07:15

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表
内蒙古11选5开奖查询百度 一定牛四川快乐12 cba上海队赛程 幸运飞艇公式 安徽新11选5 一分十一选五app 29选7图表 安徽快三基本走势图一 全球股市大盘行情 上海十一选五绝杀技巧 河内5分彩走势图官方 黑龙江p62开奖结 贵阳捉鸡麻将技巧口 重庆倒倒胡高手技巧 30选5最新开奖结果 紫幻河南麻将必胜绝技 今日nba排名