文档视界 最新最全的文档下载
当前位置:文档视界 › c语言小游戏代码

c语言小游戏代码

c语言小游戏代码

#include

#include

#include

// 定义元素类型

#define ELEMENT char

// 游戏行数

#define ROW 10

// 游戏显示延迟

#define SLEEPTIME 100

int main(int argc, char *argv[])

{

// 定义游戏的棋盘,用数组存放

ELEMENT array[ROW][ROW];

// 定义获胜条件

int winCondition = 5;

// 初始化,把棋盘清空

system("cls");

int i,j;

for(i = 0; i < ROW; i++)

{

for(j = 0; j < ROW; j++)

{

array[i][j] = ' ';

}

}

// 循环游戏,当有一方满足胜利条件时终止

int tmp;

int count = 0; // 存放棋子数

while(1)

{

// 依次取出玩家记录的棋子

int x, y;

// 如果已经有子落下,则计算是第几步

if(count > 0)

{

printf("第%d步:\n", count);

}

// 显示游戏棋盘

for(i = 0; i < ROW; i++)

{

printf(" ");

for(j = 0; j < ROW; j++)

{

printf("---");

}

printf("\n|");

for(j = 0; j < ROW; j++)

{

printf("%c |", array[i][j]);

}

printf("\n");

}

printf(" ");

for(j = 0; j < ROW; j++)

{

printf("---");

}

printf("\n");

// 要求玩家输入放下棋子的位置

printf("请玩家输入要放弃棋子的位置(1-%d)\n", ROW); printf("横坐标:");

scanf("%d", &x);

printf("纵坐标:");

scanf("%d", &y);

// 判断棋子位置是否有效

if(x < 1 || x > ROW || y < 1 || y > ROW || array[x-1][y-1] != ' ')

{

printf("输入错误!\n");

system("pause");

system("cls");

continue;

}

// 把棋子记录,并计数

if(count % 2 == 0)

{

array[x-1][y-1] = 'X';

}

else

{

array[x-1][y-1] = 'O';

}

count++;

// 判断是否有获胜者

int i, j, k;

int tempx, tempy;

for(i = 0; i < ROW; i++)

{

for(j = 0; j < ROW; j++)

{

if(array[i][j] == 'X' || array[i][j] == 'O') {

// 判断横向是否有获胜者

tmp = 1;

for(k = 1; k < winCondition; k++)

{

// 注意边界,必须验证范围有效

if(j + k > ROW - 1) break;

// 如果和前一个位置的棋子相同,则计数加1,否则跳出

if(array[i][j+k] == array[i][j])

tmp++;

else break;

}

// 如果计数满足获胜条件,则显示获胜者

if(tmp >= winCondition)

{

printf("玩家 %c 获胜!\n", array[i][j]);

system("pause");

return 0;

}

// 判断纵向是否有获胜者

tmp = 1;

for(k

纸牌记忆小游戏C语言源代码

#include #include #include intoutputacard(inta,int b) //输出一张扑克 { if(b==11) { printf("[%c",a); //J printf("%c]",b+63); } else if(b==12) { printf("[%c",a); //Q printf("%c]",b+69); } else if(b==13) { printf("[%c",a); //K printf("%c]",b+62); } else if(b==1) { printf("[%c",a); //A printf("%c]",b+64); } else if(b==88) printf("[%c%c]",a,b); //XX else { printf("[%c",a); //随机输出8张扑克 printf("%d]",b); } } int main() { int puke[8][2]; inti,j,k; srand((unsigned int)time(NULL)); printf("记住下面牌的顺序\n准备好了按<回车>,我会提问你的^-^\n"); for(i=0; i<8; i++) for(j=0; j<2; j++) { if(j==0) puke[i][j]=3+rand()%3; /*红心是003 方块004 梅花005 黑桃

006*/ else puke[i][j]=1+rand()%12; //A……K } for(k=0; k<8; k++) outputacard(puke[k][0],puke[k][1]); //随机输出8张扑克 printf("\n"); int puke2[8][2]; int puke0[2]; intt,rh; for(t=0; t<8; t++) { puke2[t][0]=puke[t][0]; puke2[t][1]=puke[t][1]; } for(t=0; t<8; t++) /*把上面的8张扑克打乱顺序存入另一个数组*/ { rh=rand()%7; if(rh!=t) { puke0[0]=puke2[t][0]; puke0[1]=puke2[t][1]; puke2[t][0]=puke2[rh][0]; puke2[t][1]=puke2[rh][1]; puke2[rh][0]=puke0[0]; puke2[rh][1]=puke0[1]; } } for(k=0; k<8; k++) outputacard(puke2[k][0],puke2[k][1]); /*打乱顺序后重新输出8张扑克*/ printf("\n"); int puke3[8][2],puke4[8][2]; for(i=0; i<8; i++) /*为把上面代表两组扑克的数组puke,puke2复制到另外*/ for(j=0; j<2; j++) /*两个数组puke3、puke4中,以方便后面输出*/ for(j=0; j<2; j++) { puke3[i][j]=88; puke4[i][j]=88; } system("pause"); system("CLS");

c语言编写的小游戏代码

用vc6.0新建一个Win32 Application工程,把附件代码拷贝进去即可。上下左右键控制蛇的方向,空格键用于启动或者停止游戏。 上下左右空格键 #include #include #include #define C_W 516 #define C_H 548 //#define C_W 1024 //#define C_H 1024 #define GO_RIGHT 0x01 #define GO_DOWN 0x02 #define GO_LEFT 0x03 #define GO_UP 0x04 #define SNAKE_NUMBER 30 typedef struct node_struct { unsigned char direction; unsigned char cnt; }s_node,*s_node_handle; s_node s_count[SNAKE_NUMBER ]; typedef struct SNAKE { unsigned char Head_X; unsigned char Head_Y; unsigned char Tail_X; unsigned char Tail_Y; unsigned char h_index; unsigned char t_index;

unsigned char food_state; unsigned char score; unsigned char snake_state; } Snake_Data,*Snake_Data_handle; Snake_Data snk_1; #define MAP_X 64 #define MAP_Y 64 unsigned char game_map[MAP_Y][MAP_X]; LRESULT CALLBACK Win_tetris_Proc( HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ); int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpCmdLine, // command line int nCmdShow // show state ) { snk_1.Head_X = 0x01;//head x snk_1.Head_Y = 0x00;//head y snk_1.Tail_X = 0x00;//tail x snk_1.Tail_Y = 0x00;//tail y snk_1.h_index=0; snk_1.t_index=0; snk_1.food_state=0; snk_1.score=0; snk_1.snake_state = 1; s_count[snk_1.h_index].cnt=2; s_count[snk_1.h_index].direction=GO_RIGHT; s_count[snk_1.t_index].cnt=2; s_count[snk_1.t_index].direction=GO_RIGHT; WNDCLASS wndcls; wndcls.cbClsExtra=0;

C打砖块源代码

1.课程设计的具体工作内容: 1) 弹球区域下方为横板接球,上方为砖块。 2) 通过键盘的左、右光标键控制接球横版的移动。 3) 小球落到横板水平线,横板未接注小球,本局结束。 4) 小球弹起碰到的砖块自动打碎、消失。 5) 每隔一定时间(例如5s,可适当调整),砖块上方增加一行,原有砖块下移,砖块增加到横板水平线本局结束结束。 6) 小球与横板为完全弹性碰撞,不考虑能量损耗。 7) 每次游戏开始后有三局(或更多,可适当调整),三局都结束游戏重新开始。 2. 打砖块小游戏C语言源代码: #include #include #include #include #define R 4 /*球半径*/ struct box { int x; int y; int color; }a[6][14];

int Keystate; int MouseExist; int MouseButton; int MouseX; int MouseY=400; int dx=1,dy=1; /*计算球的反弹*/ int sizex=18,sizey=10; /*box的宽度和长度*/ void draw(int x,int y) /* x, y为左上角坐标sizex,sizey 为长和宽*/ { int sizx=sizex-1; int sizy=sizey-1; setcolor(15);/*这里最好用白色*/ line(x,y,x+sizx-1,y); line(x,y+1,x+sizx-2,y+1); line(x,y,x,y+sizy-1); line(x+1,y,x+1,y+sizy-2); setcolor(8);/*这里最好用深灰色*/ line(x+1,y+sizy,x+sizx,y+sizy); line(x+2,y+sizy-1,x+sizx,y+sizy-1); line(x+sizx-1,y+1,x+sizx-1,y+sizy); line(x+sizx,y+2,x+sizx,y+sizy);

C语言走出迷宫小游戏

// // main.c // day10 // // Created by uiste on 16/5/8. // Copyright ? 2016年uiste. All rights reserved. // #include #include "stdlib.h" #define RAWS 5 #define COLS 5 /** * 定义地图 */ char map[RAWS][COLS]={ {'#','#','#',' ','#'}, {'#','0','#',' ','#'}, {'#',' ','#',' ','#'}, {'#',' ',' ',' ','#'}, {'#','#','#','#','#'} }; /** * 声明行变量和列变量 * * @return <#return value description#> */ intnewRaws = 1; intnewCols = 1; /** * 显示地图 */ void showMap(); /** * 输入的方向 */ char getDirection(); /** * 小人向上移动 */ void moveToUp(); /**

* 小人向下移动 */ void moveToDown(); /** * 小人向左移动 */ void moveToLeft(); /** * 小人向右移动 */ void moveToRight(); intmain(intargc, const char * argv[]) { // insert code here... // printf("Hello, World!\n"); //显示地图 while (1) { system("clear"); showMap(); if (map[0][3]=='0') { printf("您的智商真高,已经快接近uiste的境界了\n"); return 0; break; } //获取输入的方向 printf("输入移动的方向w.上s.下a.左d.右\n"); char dir = getDirection(); //操作移动的方向 switch (dir) { case 'w': case 'W': moveToUp(); break; case 'a': case 'A': moveToLeft(); break; case 's': case 'S': moveToDown(); break; case 'd':

c语言代码小游源代码

c语言代码小游源代码 C语言代码小游 - 用代码玩转游戏世界 在计算机编程领域中,C语言是一门广泛应用于系统开发和游戏开发的编程语言。它的特点是简洁高效,同时也因为其强大的功能而受到广大开发者的喜爱。本文将以C语言代码小游为主题,介绍一些有趣的小游戏,并通过代码实例展示它们的实现过程。 1. 猜数字游戏 猜数字游戏是一款简单而又经典的小游戏。在游戏开始时,程序会生成一个随机数,玩家需要通过输入来猜测这个数是多少。程序会根据玩家的猜测给出相应的提示,直到玩家猜中为止。 以下是一个简单的猜数字游戏的C语言代码实现: ```c #include #include #include int main() { int number, guess, count = 0; srand(time(0)); number = rand() % 100 + 1;

printf("猜数字游戏开始!\n"); do { printf("请输入一个数:"); scanf("%d", &guess); count++; if (guess > number) { printf("太大了!\n"); } else if (guess < number) { printf("太小了!\n"); } else { printf("恭喜你,猜对了!你用了%d次猜中了答案%d。\n", count, number); } } while (guess != number); return 0; } ``` 2. 井字棋游戏 井字棋游戏是一款经典的二人对战游戏。在游戏开始时,程序会绘

简单的迷宫小游戏C语言程序源代码

简单的迷宫小游戏C语言程序源代码 #include #include #include #include #define Height 31 //迷宫的高度,必须为奇数 #define Width 25 //迷宫的 宽度,必须为奇数 #define Wall 1 #define Road 0 #define Start 2 #define End 3 #define Esc 5 #define Up 1 #define Down 2 #define Left 3 #define Right 4 int map[Height+2][Width+2]; void gotoxy(int x,int y) //移动坐标 { COORD coord; coord.X=x; coord.Y=y; SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), coord ); } void hidden()//隐藏光标 {

HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_CURSOR_INFO cci; GetConsoleCursorInfo(hOut,&cci); cci.bVisible=0;//赋1为显示,赋0为隐藏SetConsoleCursorInfo(hOut,&cci); } void create(int x,int y) //随机生成迷宫 { int c[4][2]={0,1,1,0,0,-1,-1,0}; //四个方向 int i,j,t; //将方向打乱 for(i=0;i<4;i++) { j=rand()%4; t=c[i][0];c[i][0]=c[j][0];c[j][0]=t; t=c[i][1];c[i][1]=c[j][1];c[j][1]=t; } map[x][y]=Road; for(i=0;i<4;i++) if(map[x+2*c[i][0]][y+2*c[i][1]]==Wall) { map[x+c[i][0]][y+c[i][1]]=Road; create(x+2*c[i][0],y+2*c[i][1]); } } int get_key() //接收按键 {

c语言小游戏

2 3 4 5 6 7 8 #include main() { int a=0,b=0,c=0; if(a++>0&&b++>0)//此处先判断a>0为假,执行a+1,与运算,第一个判断为假,其值肯定为假,后面的都不执行了,而且跳出if 语句体,也就是b++没有 执行,++c 也没有执行 ++c; printf("\na=%d,b=%d,c=%d",a,b,c); C 语言实现的猜拳游戏(剪子锤子布),让你与电脑对决 这是一个简单的猜拳游戏(剪子包子锤),让你与电脑对决。你出的拳头由你自己决定,电脑则随机出拳,最后判断胜负。 下面的代码会实现一个猜拳游戏,让你与电脑对决。你出的拳头由你自己决定,电脑则随机出拳,最后判断胜负。 启动程序后,让用户出拳,截图: 用户出拳,显示对决结果:截图:

代码实现: #include #include #include int main() { char gamer; // 玩家出拳 int computer; // 电脑出拳 int result; // 比赛结果 // 为了避免玩一次游戏就退出程序,可以将代码放在循环中 while (1){ printf("这是一个猜拳的小游戏,请输入你要出的拳头:\n"); printf("A:剪刀\nB:石头\nC:布\nD:不玩了\n"); scanf("%c%*c",&gamer); switch (gamer){ case 65 | 97: // A | a gamer=4; break; case 66 | 98: // B | b gamer=7; break; case 67 | 99: // C | c gamer=10; break; case 68 | 100: // D | d return 0; default: printf("你的选择为 %c 选择错误,退出...\n",gamer);

用C和SFML编程实现打字小游戏

用C和SFML编程实现打字小游戏 打字小游戏是一种能够提高打字速度和准确性的娱乐方式。本文将介绍如何使用C语言和SFML库编程实现一个简单的打字小游戏,并提供一份基本的代码框架供参考。 1. 准备工作 在正式开始编程之前,需要确保你已经安装了C语言的开发环境和SFML库。如果没有安装,可以自行搜索并按照官方指引进行安装。 2. 创建窗口 使用SFML库中的函数,我们可以轻松地创建一个窗口来运行我们的小游戏。以下是一个简单的代码示例: ```c #include int main() { sfRenderWindow* window; sfVideoMode mode = {800, 600, 32}; sfEvent event; window = sfRenderWindow_create(mode, "Typing Game", sfDefaultStyle, NULL); sfRenderWindow_setFramerateLimit(window, 60);

while (sfRenderWindow_isOpen(window)) { while (sfRenderWindow_pollEvent(window, &event)) { if (event.type == sfEvtClosed) sfRenderWindow_close(window); } sfRenderWindow_clear(window, sfBlack); // 在这里添加游戏逻辑 sfRenderWindow_display(window); } sfRenderWindow_destroy(window); return 0; } ``` 上述代码创建了一个800x600的窗口,并在每秒钟刷新60次。其中的`// 在这里添加游戏逻辑`注释表示我们可以在此处编写游戏逻辑。 3. 绘制文本 为了显示打字游戏中的文本,我们首先需要创建一个文本对象,并设置其字体、大小和位置。 ```c

爱心跳动代码编程c语言

爱心跳动代码编程c语言 《爱心跳动代码编程C语言》 一、小程序介绍: 该程序是用C语言编程实现的一款小游戏,游戏的目的是让游戏玩家尽可能地把特殊的“爱心”尽可能快速的跳至最下方。游戏的背景是一个空间坐标系,由X轴、Y轴组成。X轴固定,Y轴可以移动,游戏中的特殊“爱心”会每隔指定的时间间隔向下移动一个单位,游戏玩家可以在空间中按下键盘左右箭头来控制特殊“爱心”的水平方向移动,让特殊“爱心”尽可能地跳至最下方。 二、程序实现: 1.首先定义一些环境变量: int nRow = 20; //定义空间坐标范围,从0开始 int nColumn = 40; 2.定义“特殊爱心”的初始位置: int xpos = nRow/2; //特殊爱心的横坐标 int ypos = 0; //特殊爱心的纵坐标 3. 定义一个函数用于显示特殊爱心: void DisplayLove(int xpos, int ypos) { //根据xpos和ypos计算特殊爱心的位置 for (int i = 0; i < nRow; i++) {

if (i == xpos) { for (int j = 0; j < nColumn; j++) { if (j == ypos) printf('love'); else printf(' '); } printf(' '); } else printf(' '); } } 4.定义一个函数用于检测游戏是否结束: bool IsEnd() { //检测游戏是否结束 if (ypos >= nColumn - 1)

return true; else return false; } 5.定义一个函数用于游戏玩家的操作: void PlayerControl() { //游戏玩家操作 char c = getchar(); if (c == 'a') xpos--; else if (c == 'd') xpos++; } 6.定义一个函数用于更新游戏状态: void Update() { ypos++; if (ypos > nColumn - 1) ypos = 0; } 7.定义一个主函数:

c语言编写的小游戏

C语言编写的小游戏 介绍 C语言是一种广泛使用的编程语言,它的语法简洁且功能强大。我们可以使用C语言编写各种应用程序,包括小游戏。本文将介绍如何使用C语言编写一个简单的小游戏,并提供一些编码技巧。 游戏规则 在我们的小游戏中,玩家需要通过键盘控制一个角色,使其躲避障碍物并尽可能多地获得分数。角色可以在屏幕的一个区域内移动,障碍物将从屏幕的上方不断下落。如果角色与障碍物发生碰撞,游戏结束。玩家可以通过按下空格键开始游戏和重新开始。 游戏设计 我们将使用C语言的图形库来实现游戏界面。这里推荐使用ncurses库,它提供了一套简单易用的API来控制终端窗口。在开始编写游戏逻辑之前,我们需要先安装ncurses库,具体安装方法请参考相关文档。 游戏逻辑 游戏逻辑的实现主要包括以下几个方面: 初始化 在游戏开始时,我们需要初始化终端窗口并设置相应的参数。可以通过initscr()函数初始化窗口,并使用noecho()函数关闭字符回显功能。然后使用curs_set(0)函数将光标设为不可见。最后,使用refresh()函数刷新终端窗口。 绘制角色和障碍物 在游戏中,我们需要绘制角色和障碍物。我们可以使用mvprintw()函数在指定的位置打印字符来绘制角色和障碍物。另外,我们可以使用attron()函数设置字符的颜色,以增加游戏的可视化效果。 按键控制 玩家通过键盘控制角色的移动。我们可以使用getch()函数获取键盘输入,并根据不同的按键来改变角色的位置。例如,可以使用KEY_LEFT和KEY_RIGHT来控制角色左右移动。需要注意的是,在获取键盘输入之前,我们需要使用nodelay()函数设置输入为非阻塞模式,以避免游戏的卡顿。

用C和SFML编程实现贪吃蛇小游戏

用C和SFML编程实现贪吃蛇小游戏 贪吃蛇是一款经典的小游戏,它的目标是控制一条蛇,通过吃食物不断壮大身体长度,避免碰到自己的身体或者墙壁。在本文中,我们将使用C语言和SFML库来实现这个有趣的小游戏。 1. 准备工作 在开始编程之前,我们需要确保已经安装了C编译器和SFML库。如果你还没有安装,可以通过官方网站下载并按照指导安装。 2. 创建游戏窗口 首先,我们需要创建一个窗口来显示游戏界面。我们可以使用SFML库提供的函数来实现。 ```c #include int main() { int width = 800; int height = 600; sfVideoMode mode = {width, height, 32}; sfRenderWindow* window = sfRenderWindow_create(mode, "Snake Game", sfClose, NULL); // 游戏主循环

sfRenderWindow_destroy(window); return 0; } ``` 在上述代码中,我们定义了窗口的宽度和高度,并通过 `sfVideoMode`结构体创建了一个窗口。然后,我们可以在游戏主循环中添加游戏逻辑。 3. 处理用户输入 在游戏中,蛇的移动由玩家通过键盘控制。我们需要检测玩家按下的键来确定蛇的移动方向。 ```c sfEvent event; while (sfRenderWindow_pollEvent(window, &event)) { if (event.type == sfEvtClosed) { sfRenderWindow_close(window); } if (event.type == sfEvtKeyPressed) { // 处理玩家输入 }

c语言弹跳小球代码

c语言弹跳小球代码 C语言是一门广泛应用于编程领域的编程语言,具有高效、灵活、易学易用等特点。在很多编程领域中,C语言都具有很重要的应用价值。比如在游戏编程领域中,我们可以通过C语言代码实现很多有趣的游 戏特效,比如让一个小球跳动起来,给人们带来很有趣的视觉效果。 下面我们就来一起看看如何通过C语言实现一个弹跳小球的代码。 第一步,先定义游戏中需要用到的参数,比如窗口的高度和宽度等。这里我们假设窗口的高度为600,宽度为800。 ``` #define WIDTH 800 #define HEIGHT 600 ``` 第二步,定义窗口的风格。这里我们使用win32api,并定义窗口的风格为WS_POPUP ``` HWND hwnd; WNDCLASSEX wc; HINSTANCE hInstance; wc.cbSize = sizeof(WNDCLASSEX); wc.style = CS_VREDRAW | CS_HREDRAW; wc.lpfnWndProc = WndProc; wc.hInstance = hInstance; wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszClassName = L"MainWndClass"; RegisterClassEx(&wc); hwnd = CreateWindowEx( 0,

L"MainWndClass", L"弹跳小球", WS_POPUP, 0, 0, WIDTH, HEIGHT, NULL, NULL, hInstance, NULL); ``` 第三步,创建一个圆形小球,将其位置定于窗口的正中央,并且设定小球的初始速度为10(设置初始速度非常重要,因为它决定了小球弹跳的高度)。 ``` int x = WIDTH / 2; int y = HEIGHT / 2; int r = 20; int speed = 10; ``` 第四步,利用C语言的时间函数,使得小球能够沿着窗口边缘弹跳,给人以真实的感觉。 ``` while (true) { // 计算小球每次移动的距离 x += speed; // 边检测,小球碰到了窗口的左边缘或右边缘,速度反向 if (x < r || x > WIDTH - r) { speed = -speed; }

c语言入门猜数字游戏(解释每行代码)

c语言入门猜数字游戏(解释每行代码)这是一个“猜数字”的小游戏,玩家需要猜出随机生成的数字。 #include // 1. 引入标准输入输出库 #include // 2. 引入标准库 #include // 3. 引入时间相关库 int main() { // 4. 主函数开始 int num,guess; // 5. 定义两个整型变量: num和guess srand(time(NULL)); // 6. 初始化随机数种子 num = rand() % 100 + 1; // 7. 生成1到100之间的随机整数 printf("请猜一个1~100之间的整数:\n"); // 8. 提示玩家输入 do { // 9. 进入循环体 scanf("%d", &guess); // 10. 接收玩家的输入 if (guess > num) { // 11. 判断玩家猜的数是否太大 printf("你猜的数字太大了!\n继续猜:\n"); } else if (guess < num) { // 12. 判断玩家猜的数是否太小 printf("你猜的数字太小了!\n继续猜:\n"); } } while (guess != num); // 13. 如果猜错了就继续循环 printf("恭喜你,猜对了!\n"); // 14. 玩家猜对了,输出结果 return 0; // 15. 返回0表示程序结束 } 各行代码解释如下: 1. 引入`stdio.h`库,提供了输入和输出的函数和符号常量。 2. 引入`stdlib.h`库,提供一些标准函数功能,如内存分配等。 3. 引入`time.h`库,提供了处理时间的函数。 4. `int main()`是程序的起点,主函数开始执行。 5. 定义两个整型变量num和guess,分别是随机数和玩家猜的数。 6. `srand(time(NULL))`用当前时间初始化随机数种子,确保每次生成的随机数不同。 7. `num=rand()%100+1`生成1到100之间的随机整数,并赋值给num。 8. `printf`函数输出提示信息,提示玩家输入。 9. 进入do-while循环体,一直循环直到猜对为止。 10. `scanf("%d",&guess)`接收玩家从键盘输入的数字。 11. 判断玩家猜的数是否太大,如果是则输出太大的提示,继续循环。 12. 判断玩家猜的数是否太小,如果是则输出太小的提示,继续循环。 13. 如果猜错了就继续循环,直到猜对为止。 14. 玩家猜对了,输出结果,程序结束。 15. 返回0表示程序正常结束。

C语言小游戏代码

#include #include #include void pass (int*charge)); void road (char*s,int*step,char count); void ouch (char*t,int a1,int a2); int wins (int count1,int count2); main () {char line [72]; int hare[11]={0,0,0,9,9,-12,1,1,1,-2,-2}; int tie[11]={0,3,3,3,3,3,-6,-6,1,1,1}; int i,b,c1=1,c2=1; printf("bang!!!!!\n""andthay're off!!!!!\n"); while (! wins(c1 c2)){ srand (time (null)); for (b=0;b<=70;b++) line[b]=' '; line[71]='\0'; i=1+rand()%10; c1+=hare[i]; c2+=tie[i]; road (line,&c1,'h');

road (line,&c2,'t'); ouch(line,c1,c2); sleep(1); } getch(); return 0; } void pass (int*charge) {if (*charge>70) *charge=70; else if (*charge<1) *charge=1; } void rode (char*s,int*step,char count) { pass (step); s[*step]=count; } int wins(int count1,int count2) {if (count1==70){

c语言大鱼吃小鱼代码

c语言大鱼吃小鱼代码 1. 前言 “大鱼吃小鱼”游戏是一款经典的益智小游戏,游戏规则简单, 但却充满了挑战。在游戏中,大鱼需要不断吃小鱼,变得更加庞大、 强壮,同时也要逃避更大的鱼类的追击。本文将带领大家用C语言来 实现这个游戏,并讨论其中的一些技术问题。 2. 界面设计 我们要先设计游戏的界面。由于“大鱼吃小鱼”属于2D游戏,所 以我们可以考虑使用简单的字符界面来实现。比如,我们可以使用“#”来表示大鱼,用“*”来表示小鱼,用“&”来表示更大的鱼类。 当游戏开始时,我们可以让玩家输入自己的名字,然后显示当前 游戏的得分以及游戏时间等信息。在游戏过程中,我们还可以加入一 些音效,让游戏更加生动有趣。 3. 游戏逻辑 “大鱼吃小鱼”游戏的规则比较简单,主要包括: - 大鱼需要不断吃掉小鱼,从而变得更加庞大强壮。 - 大鱼需要逃避比自己更大的鱼类的追击。 - 游戏结束的条件有两个:1)大鱼被更大的鱼类吃掉;2)游戏 时间结束。

接下来,让我们分别讨论一下这些规则的实现。 3.1. 大鱼吃小鱼 当大鱼和小鱼碰到的时候,我们需要让大鱼将小鱼吃掉,并增加得分。当然,吃掉小鱼之后,大鱼的大小和速度都会发生变化。具体而言,我们可以定义一个结构体来表示大鱼的属性,包括:- 名字 - 当前坐标 - 当前速度 - 当前大小 - 当前得分 - 生命值 对于小鱼,我们可以用一个一维结构体数组来表示,每条小鱼都有自己的坐标和大小等属性。当大鱼和小鱼的坐标重合时,我们需要将小鱼从数组中删除,然后增加得分和大小,同时修改当前速度和大小等属性。代码如下: ``` struct fish{ char name[20]; int x, y;//当前坐标

C语言小游戏源代码《打砖块》

C 语言小游戏源代码《打砖块》 #include "graphics.h" #include "stdio.h" #include "conio.h" /* 所需的头文件*/ int on; /* 声明具有开关作用的全局变量*/ static int score; /* 声明静态的记分器变量*/ /* 定义开始界面函数*/ int open() { setviewport(100,100,500,380,1); /* 设置图形窗口区域*/ setcolor(4); /* 设置作图色*/ rectangle(0,0,399,279); /* 以矩形填充所设的图形窗口区域*/ setfillstyle(SOLID_FILL,7); /* 设置填充方式*/ floodfill(50,50,4); /* 设置填充范围*/ setcolor(8); settextstyle(0,0,9); /* 文本字体设置*/ outtextxy(90,80,"BALL"); /* 输出文本内容*/ settextstyle(0,0,1); outtextxy(110,180,"version 1.0"); outtextxy(110,190,"made by ddt");

setcolor(128); settextstyle(0,0,1); outtextxy(120,240,"Press any key to continue "); } /* 定义退出界面函数*/ int quitwindow() { char s[100]; /* 声明用于存放字符串的数组*/ setviewport(100,150,540,420,1); setcolor(YELLOW); rectangle(0,0,439,279); setfillstyle(SOLID_FILL,7); floodfill(50,50,14); setcolor(12); settextstyle(0,0,8); outtextxy(120,80,"End"); settextstyle(0,0,2); outtextxy(120,200,"quit? Y/N"); sprintf(s,"Your score is:%d",score);/* 格式化输出记分器的值 */ outtextxy(120,180,s); on=1; /* 初始化开关变量*/ } /* 主函数*/

C语言经典小程序和C语言编写的小游戏,带注释 (自动保存的)

C语言经典小程序和C语言编写的小游 戏,带注释

1、写一个定时关机的小程序,可以立即关闭计算机,也可以一段时间后关闭计算机。 #include #include #include #include int main() { char cmd[20] = "shutdown -s -t ";//远程关机,系统在一定时间之后关机 char t[5] = "0";//将输入的时间初始化为0 int c; system("title C语言关机程序"); //设置cmd窗口标题 system("mode con cols=48 lines=25"); //窗口宽度高度 system("color f0"); //可以写成 red 调出颜色组,这里f0是调亮白色 system("date /T");//输出系统当前日期 system("TIME /T");//输出系统当前时间 printf("----------- C语言关机程序 -----------\n"); printf("1.实现10分钟内的定时关闭计算机\n"); printf("2.立即关闭计算机\n"); printf("3.注销计算机\n"); printf("0.退出系统\n"); printf("-------------------------------------\n"); scanf("%d", &c); //对输入的数值进行判断循环 switch (c) { case 1: printf("您想在多少秒后自动关闭计算机?(0~600)\n"); scanf("%s", t); system(strcat(cmd, t)); //将输入的时间连接上已经调用的命令 break; case 2: system("shutdown -p");//立即关闭计算机 break; case 3: system("shutdown -l");//注销计算机 break; case 0:

C语言五子棋代码

//五子棋小游戏纯C语言代码 #include #define N 14 char state[N][N]; void init(void); void printState(void); bool isWin(bool isBlack,int x,int y); bool isLevelWin(bool isBlack,int x,int y); bool isVerticalWin(bool isBlack,int x,int y); bool isLeftInclinedWin(bool isBlack,int x,int y); bool isRightObliqueWin(bool isBlack,int x,int y); bool isWin(bool isBlack,int x,int y)//是否有获胜 { return isLevelWin(isBlack,x,y) ||isVerticalWin(isBlack,x,y) ||isLeftInclinedWin(isBlack,x,y) ||isRightObliqueWin(isBlack,x,y); } bool isLevelWin(bool isBlack,int x,int y)//确定水平直线上是否有五子连珠{ char c = isBlack ? '@':'O'; int count; while(y>0 && state[x][y] == c) { y--; } count =0; if(state[x][y] == c) count = 1; y++; while(y < N && state[x][y] == c) { count++; if(count == 5) { return true; } y++; } return false;

相关文档
相关文档 最新文档