自己做的一个小游戏(1)--吃金币(基础版)

来源:互联网 发布:知乎 户外保暖帽子 编辑:程序博客网 时间:2024/04/30 13:46

  • 效果图
  • 代码


效果图

这里写图片描述

代码

#include<stdio.h>#include<conio.h>#include<Windows.h>#include<time.h>//计时器#include<math.h>#include<stdlib.h>//跳转函数void turnto(int x,int y){    COORD loc;    loc.X = x;    loc.Y = y;    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), loc);}//打印+清除void clean(int x,int y){    printf("I");    turnto(x, y);    printf(" ");}//随机数int unknow(int x, int y){    int i;    i = (rand() * (y - x) / RAND_MAX + x);    return i;}//o-(-.-)-I开始int main(void){    clock_t start, end;    int t;    int x, y, i, a, b;    int score=0;    char name[10];    long coin[10];    //输入名字    printf("本游戏需要英文输入法");    Sleep(1500);    turnto(0, 0);    printf("请输入你的英文名字:_______\b\b\b\b\b\b\b");    scanf("%s", &name);    printf("w向上,s向下,a向左,d向右,q to quit");    //初始化    x = 20;    y = 13;    turnto(x, y);    printf("I");    //coin创建    srand((unsigned int)time(0));//不要把srand与rand放一个循环    for (i = 0; i <= 9; i++)    {        a = unknow(2, 117);        b = unknow(3, 27);        turnto(a, b);        printf("$");        coin[i] = a * 100 + b;    }    //计时开始    start = clock();    //移动    while((i=_getch())!=0)//getch也行?    {        if (i == (int)'w')        {            turnto(x, y - 1);            clean(x, y);            turnto(x, y - 1);            y = y - 1;        }        else if(i==(int)'s')        {            turnto(x, y + 1);            clean(x, y);            turnto(x, y + 1);            y = y +1;        }        else if (i == (int)'a')        {            turnto(x-1, y );            clean(x, y);            turnto(x-1, y );            x = x - 1;        }        else if (i == (int)'d')        {            turnto(x + 1, y);            clean(x, y);            turnto(x + 1, y);            x = x + 1;        }        else if (i == (int)'q')        {            printf("你选择退出");            Sleep(1000);            return 0;        }        //遍历        for (i = 0; i <= sizeof(coin) / sizeof(long); i++)        {            if (x * 100 + y == coin[i])            {                coin[i] = 100000;                score++;                turnto(0, 1);                printf("得分:%d                    ",score);                turnto(x, y);            }        }        if (score == 10)        {            break;        }    }    //计时结束    end = clock();    t = (end - start) / CLOCKS_PER_SEC;    turnto(26, 1);    printf("  用时: %d 秒     \n ", t);    Sleep(1000);    printf("%s,你的综合得分为%d",name,110-t);    Sleep(1000);    return 0;}

ps:这是我上大学前几天看了printf()与scanf()之后做出来的游戏;其中随机数与位置跳转函数都是上网查的。所以说编程很有意思,它让你创造而不是让你接受。

1 0
原创粉丝点击