「游戏」c++贪吃蛇1.1

这什么也不是

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=
N4Ig5iBcoKZaAXKBtUBLKIBGIA0IAHTAJgAYAOcgZnIHZSqBWAOluLoE4PyQBfXdJgAiARjyFMI8sVojaANkYAWJc0ZUOVMf0GQQGfET1layraqWN58jVx74AjiT4D9mAM4BaAErinekSoXXRAAEx8/SSCdNz0YCMco4NiQADEEkH8QQOSMPQBZSL0OXMwAJyLskpi8kABhAHlK2j4AXXwcSFQUgFFSvQBlOv6QAHUImswAGwyskVIRtFnMatdagmXikbBNkFWQgENd7TXMAd39lO8LtvwAYxQQh8SAkZhCl+yRu4/MyRGALa/OYjAAewP+kz07ghryhIAAGmJPicQqNkX84ac9AAzSqolJCfEjULE3jtEDuKA4g5TdwwfggPHQSmPFILT5acRIV74AB2mEAJUaAa2VAAxB4gBbMlelJ+CpkGI+CmUGIxBi0rS4nlIiVKrVrg1VLlUB1IGVCrVFIA7pgufCMTyQMRxAK9IBW1QlUswcGNkCUuot6o8WpNAdVQb0qRDkFN5vDFKyZHENuMC3hzvwjqC/MwgCsbT1dUAa2WsmNh/VF73R/1mvURzW+xW1wMG4O+2N1hOSEr4FNVW5MqAIMoAVxg+AqkGHY8ZKdA5qo/IA9jyaXTxyBQUPRwyJ/AQJPurVJfgR9ux59yKQlKR5JpmBwKIxaLQVOIykZGKR4c8QGepzunwcCIjAiPIzBKDYlCkPQGYHp+37YiABziP+04bomSjAeQX4PtI5DcAR74IfCPp/ueG4oYWKQADIjGUMB4uSnxfhy8FQF+8J4qeFETiRSEAhiaGAchbK1AAQpUSg8PCdGfEoA5ZF+BaVl0rSMh+HGIU8Qm8aJ1ESVJ8gjHJmIgApzFmcp+DSqpyDqXxWmkbpAEXvpR6YJJLHREhplZMZ8IMUxXZ6PQKkgNK9kafxhwueh+BUR5eheWZYWyc09GMYpmBXuFkUOexMakNpKQ4nFImJSEKVZI+JmVIwmXBZ8MgtDZ+75dFTlIQAFka5GuRhmDKLQEHEFIpjEV1IQAiWwluXMjDqMwdANY5kCcUhdyzXpC1LStk3rSVtQDOVbmVSk1WSGmvmNdlARsbZEUoAVmmHfCAwAAqoXpr0bSESLfQNCViZ5lTEJctR+bat2WVkN55c9nVvUhCJfTxQOFX9KTooD8XuVV9UyTdLEwyFIDyA97WI2tWO1ES6N4+dkNg6TnykMwVDSbIFDFbzfMKTTR2YFGDMVSDyVkkhQV3V8+BLlAiiC/CAqi25v1CzKuMif5vMHbTmBAlrZ3iyAl16BZUtZbDmAC5jGsgD8RuUSbZvmazZm2+rpG/HNzsGaD8nu3Dev2zCTvA/7EuBVbFJe0h4Lh/jF0ZdHTWpSH8IGP1jMm3RqcDnHIRoKdftJab7tewV8rAIyRiIBxvpl7bwfwhoZIFaSLKdyEoQoarg16AR8xsV7jJUaATMGyIRBtZAFM/tPBbz0hMCL7Py8hGVM9PXP9sHGvO8bykJ3b9KR+1Oip8K/bSJX7v8KCb46/23cIhP4f9ur+/Z/22V3/X/Cfe/975IROsA8+mB0TgJvm/Je9tBK/B/gvRBACV4iBQSAze6C4GAOwc/d6eCP7wnRBgiBegkSkPtqkaBD98g0M2nQnBK9GH4PjiwohSEYT0KLrA1hIRuoiDABiJBPVBFwREfwwR2YOGSJEAAfWEag2RcjxFKJSAI+R0iJHqOIFgRRmCdFYFUQY2o3VdFaLUbUHEUw+4yOPgATwAIJMJCD0RxlCbLmjxiOc0poDjMjXPSeEQgeiUPeqMZxfCUgIBgNwlI7g7hxNqO4dwSTMBYFSS49RjA9FZNMTk4xZCQDdRyRY++FJzSMF4IyeWLJfY5mhAgA4fJe5lBLPKPGnc8bdX+LPU0eRAkbiMIM3selVy0npHuDGVE8b+Dxp0PGEA9CrRAAAa2pBMjcDxIAjJAAANw2eufAATNn4DgDs05IB7GYAAJpLjPIyXxjBuAUDICoO8VSgA==

1.0
已修复已知BUG

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<climits>
#include<cstdlib>
#include<sstream>
#include<windows.h>
#include<stack>
#include<conio.h>
#include<string>
#include <ctime>
using namespace std;

#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)

int p, q, score;
bool ppppp;
int nandu;

struct block{
    bool wall;
    bool snake;
    int fangxiang;
}a[50][50];

int main();

void put(char *p, int t);

void retur();

void run(){
    srand(unsigned(time(0)));
    int w1 = 9, w2 = 10;
    int x = 10, y = 10, f = 8;
    score = 0;
    p = rand() % 17 + 2;
    q = rand() % 17 + 2;
    memset(a, 0, sizeof a);
    for(int i = 1; i <= 20; i ++) {
        a[i][1].wall = true;
        a[i][20].wall = true;
        a[1][i].wall = true;
        a[20][i].wall = true;   
        a[i][1].snake = false;
        a[i][20].snake = false;
        a[1][i].snake = false;
        a[20][i].snake = false;
    }
    for(int i = 2; i <= 19; i ++) {
        for(int j = 2; j <= 19; j ++) {
            a[i][j].snake = false;
            a[i][j].wall = false;
            a[i][j].fangxiang = 0;
        }
    }
    system("cls");
    printf("3");
    Sleep(1000);
    printf("%c2", char(8));
    Sleep(1000);
    printf("%c1", char(8));
    system("cls");
    while(a[x][y].wall == false) {
        for(int i = 1; i <= 20; i ++) {
            for(int j = 1; j <= 20; j ++) {
                if(i == x && j == y) printf("□");
                else if(i == p && j == q) printf("☆");
                else if(a[i][j].snake == true) printf("◇");
                else if(a[i][j].wall == true) printf("■");
                else printf(" ");
            }
            puts("");
        }
        printf("分数:%d", score);
        if(kbhit()) {
            char c = getch();
            if(c == -32) {
                c = getch();
                if(c == 72 && a[x - 1][y].fangxiang != 2) {
                    f = 8;
                }
                if(c == 75 && a[x][y - 1].fangxiang != 6) {
                    f = 4;
                }
                if(c == 77 && a[x][y + 1].fangxiang != 4) {
                    f = 6;
                }
                if(c == 80 && a[x + 1][y].fangxiang != 8) {
                    f = 2;
                }
            }
        }
        a[w1][w2].snake = false;
        a[x][y].fangxiang = f;
        if(f == 8) {
            x --;
        }
        else if(f == 2) {
            x ++;
        }
        else if(f == 4) {
            y --;
        }
        else if(f == 6) {
            y ++;
        }
        if(a[x][y].snake == true || a[x][y].wall == true) retur();
        a[x][y].snake = true;
        if(x == p && y == q) {
            score += rand() % 10;
            p = rand() % 17 + 2;
            q = rand() % 17 + 2;
            system("cls");
            continue;
        }
        if(a[w1][w2].fangxiang == 8) {
            -- w1;
        }
        else if(a[w1][w2].fangxiang == 2) {
            ++ w1;
        }
        else if(a[w1][w2].fangxiang == 4) {
            -- w2;
        }
        else if(a[w1][w2].fangxiang == 6) {
            ++ w2;
        }
        Sleep(nandu * 50);
        system("cls");
    }
}

void put(char *p) {
    while(1) {
        if(*p != 0)
            printf("%c", *p ++);
        else
            break;
        Sleep(80);
    }
}

void retur() {
    put("\n您的分数是");
    printf("%d", score);
    put("分\n");
    printf("┏━━━━━━┓ ┏━━━━━━┓\n");
    printf("┃a.重生┃ ┃b.退出┃\n");
    printf("┗━━━━━━┛ ┗━━━━━━┛\n");
    POINT a;
    char temp;
    Sleep(200);
    while(true) {
//        printf("%d", KEY_DOWN(VK_RBUTTON));
        GetCursorPos(&a);
        if(kbhit()) {
        	temp = getch();
        	if(temp == 'a') {
        		run();
			}
			if (temp == 'b') {
				while(true) system("pause");
			}
		}
    }
}

void jieshao() {
    put("c++小游戏:贪吃蛇\n");
    Sleep(1000);
    system("cls");
    put("游戏开始...");
    Sleep(100);
    system("cls");
}

int main() {
    if(ppppp == false) {
        jieshao();
        ppppp = true;
    }
    put("请输入难度1~5");
    scanf("%d", &nandu);
    run();
    return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值