新人求教,C语言打地鼠

新人求教,C语言打地鼠,第1张

在一个二维数组中,存放标记。

设置难度:分:

一次只显示一个

一次只显示二个

一次只显示三个

对应产生2*N个随机数,对应改腊(x,y),设置为1,其它空的设置为0.

大概的游戏流程循环:

结束条件: 打到M个停止。

1,产生随机数,且不相同

2,在对应的扒歼举坐标中,画出地鼠

在N秒内,没有击中,地鼠春碧消失;击中,加分。

(击中的坐标,要与用户点的坐标想比较即可,在这个范围就得分)

刚写好的,打地鼠小游戏。

功能:每三秒,会在游戏区域随机位置刷出地鼠,鼠标点击地鼠,无论点中与否,地鼠都会立即刷新。

点中地鼠按你要求计分,点不中记录失败次数,3次失败,游戏结束,显示GAME OVER!

#include <stdio.h>

#include <stdlib.h>

#include <windows.h>

#include <conio.h>

#include <time.h>

#include <string.h>

#include <malloc.h>

#define gSizek 30//区域大小宽度

#define gSizeg 20//区域大小高度

#define gBegin 3//活动区域起始行

int main()

{

    int t=0,s0,s1,i,j,count=0,fen=0,row=0,clo=0

    char gameA[gSizeg][gSizek+1],fSave[10]={0}

    SetConsoleTitle("打地鼠")

    HANDLE hInput = GetStdHandle(STD_INPUT_HANDLE) // 获取标准输入设备句柄

    INPUT_RECORD inRec

    DWORD res

    COORD p0

    p0.X=0

    p0.Y=0

    srand(time(0))

    s0= time(NULL)

    strcpy(gameA[0]," 渗凳州           GAME")

    strcpy(gameA[1],"未命中次数:0,计分:000000")

    for(i=gBegin-1i<gSizegi++)

    {

        for(j=0j<gSizek+1j++)

        {

            if(i>gBegin-1 && i<gSizeg-1 && j>0 && j<gSizek-1)

                gameA[i][j]=' '

            else

                gameA[i][j]=4

            if(j==gSizek)

                gameA[i][j]=0

        }

    }

    for(i=0i<gSizegi++)

        printf("%s\n",gameA[i])

    while (1)

    {

        if(t>=3)

        {

            if(row>0 && clo>0)

                gameA[row][clo]=' '

            row=rand()%(gSizeg-1)

            clo=rand()%(gSizek-1)

            s0= time(NULL)

            SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),p0)

            if(row<3)

                row=4

            if(clo<1)

                clo=1

            gameA[row][clo]=2

            for(i=0i<gSizegi++)

            {

                //gameA[i][gSizeg+1]=0

                printf("%s\n",gameA[i])

            }

        }

        if(count==3)

        {

            p0.X=10

            p0.Y=8

            SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),p0)

            printf("GAME OVER!")

            break

        }

        s1= time(NULL)

        t=s1-s0

        ReadConsoleInput(hInput, &inRec, 1, &res)

        if (inRec.EventType == MOUSE_EVENT && inRec.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED) //鼠标左键

        {

            if(inRec.Event.MouseEvent.dwMousePosition.X==clo && inRec.Event.MouseEvent.dwMousePosition.Y==row)

            {

        丛蔽        if(fen==0)

                    fen=1

                if(fen>999999)

                    fen=999999

                else

                    fen=fen*2

                sprintf(fSave,"%06d",fen)

                gameA[1][18]=0

                strcat(gameA[1],fSave)

            }

            else

            {

                count++

                fen=0

                gameA[1][11]=count+'0'

            }

 粗碧           t=4

        }

    }

    while(1)

    return 0

}

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

#include<time.h>

#define MS(x) t==x?'@':'O'

int main()

{

int i,j,t,s=0

char c

while( 1 )

{

        int t_begin = clock()

        

        t = rand()%9+1

        i = 0 j = 0

        printf("Press Numpad 1~9 to Hit the Shrewmouse '@'\nCurrent Score:%d\n\n" , s )

        

        printf("| %c | %c | %c | \n" , MS(7) , MS(8) , MS(9) )

 族歼渣       printf("| %c | %c | %c | \n" , MS(4) , MS(5) , MS(6) )

        printf("| %c | %c | %c | \n" , MS(1) , MS(2) , MS(3) )

            

        c= getch()

        if( c == 27 ) return 0

        

        if( c-'0' 兆悄!= t )

        {

            printf( "\n\n Hit Error! You failed!\n" )

            getch()

        }

        else if( clock() - t_begin < 1000 )

        {

            printf( "\n\n Time Out! You failed!\n" )

       改慧     getch()

        }

        else

        {

            s+=10

        }

        

        system("cls")

    }

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12219532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存