C编写的小游戏,c语言编写的小游戏

2025-06-02 5 0
本篇游戏攻略《C编写的小游戏,c语言编写的小游戏》由下载火整理发布,更多免费游戏下载,安卓手机游戏,绿色中文版游戏下载以及攻略玩法请关注游戏攻略网!

一、仅用c语言能编出哪些小游戏

我是90年开始职业游戏开发,除早期fc游戏外,之后sega,还有a'can(准32位)游戏都是纯c语言编写的。那时游戏基本不会用c++,主要是效能原因。大约在2000年以后,我们开始编写自己3D引擎,这是因为主机性能提升,加之gpu和软件api支持(如早期gamesdk即之后directx和opengl出现),开始用C++和一些脚本语言。然后就是近代游戏设计,从早期as,java...游戏设计语言多样化了。

二、用C++编写的小游戏源代码

五子棋的代码:

#include<iostream>

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

using namespace std;

const int N=15;//15*15的棋盘

const char ChessBoardflag='';//棋盘标志

const char flag1='o';//玩家1或电脑的棋子标志

const char flag2='X';//玩家2的棋子标志

typedef struct Coordinate//坐标类

{

int x;//代表行

int y;//代表列

}Coordinate;

class GoBang//五子棋类

{

public:

GoBang()//初始化

{

InitChessBoard();

}

void Play()//下棋

{

Coordinate Pos1;//玩家1或电脑

Coordinate Pos2;//玩家2

int n= 0;

while(1)

{

int mode= ChoiceMode();

while(1)

{

if(mode== 1)//电脑vs玩家

{

ComputerChess(Pos1,flag1);//电脑下棋

if(GetVictory(Pos1, 0, flag1)== 1)//0表示电脑,真表示获胜

break;

PlayChess(Pos2, 2, flag2);//玩家2下棋

if(GetVictory(Pos2, 2, flag2))//2表示玩家2

break;

}

else//玩家1vs玩家2

{

PlayChess(Pos1, 1, flag1);//玩家1下棋

if(GetVictory(Pos1, 1, flag1))//1表示玩家1

break;

PlayChess(Pos2, 2, flag2);//玩家2下棋

if(GetVictory(Pos2, 2, flag2))//2表示玩家2

break;

}

}

cout<<"***再来一局***"<< endl;

cout<<"y or n:";

char c='y';

cin>> c;

if(c=='n')

break;

}

}

protected:

int ChoiceMode()//选择模式

{

int i= 0;

system("cls");//系统调用,清屏

InitChessBoard();//重新初始化棋盘

cout<<"***0、退出 1、电脑vs玩家 2、玩家vs玩家***"<< endl;

while(1)

{

cout<<"请选择:";

cin>> i;

if(i== 0)//选择0退出

exit(1);

if(i== 1|| i== 2)

return i;

cout<<"输入不合法"<< endl;

}

}

void InitChessBoard()//初始化棋盘

{

for(int i= 0; i< N+ 1;++i)

{

for(int j= 0; j< N+ 1;++j)

{

_ChessBoard[i][j]= ChessBoardflag;

}

}

}

void PrintChessBoard()//打印棋盘,这个函数可以自己调整

{

system("cls");//系统调用,清空屏幕

for(int i= 0; i< N+1;++i)

{

for(int j= 0; j< N+1;++j)

{

if(i== 0)//打印列数字

{

if(j!=0)

printf("%d", j);

else

printf("");

}

else if(j== 0)//打印行数字

printf("%2d", i);

else

{

if(i< N+1)

{

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

}

}

}

cout<< endl;

cout<<"";

for(int m= 0; m< N; m++)

{

printf("--|");

}

cout<< endl;

}

}

void PlayChess(Coordinate& pos, int player, int flag)//玩家下棋

{

PrintChessBoard();//打印棋盘

while(1)

{

printf("玩家%d输入坐标:", player);

cin>> pos.x>> pos.y;

if(JudgeValue(pos)== 1)//坐标合法

break;

cout<<"坐标不合法,重新输入"<< endl;

}

_ChessBoard[pos.x][pos.y]= flag;

}

void ComputerChess(Coordinate& pos, char flag)//电脑下棋

{

PrintChessBoard();//打印棋盘

int x= 0;

int y= 0;

while(1)

{

x=(rand()% N)+ 1;//产生1~N的随机数

srand((unsigned int) time(NULL));

y=(rand()% N)+ 1;//产生1~N的随机数

srand((unsigned int) time(NULL));

if(_ChessBoard[x][y]== ChessBoardflag)//如果这个位置是空的,也就是没有棋子

break;

}

pos.x= x;

pos.y= y;

_ChessBoard[pos.x][pos.y]= flag;

}

int JudgeValue(const Coordinate& pos)//判断输入坐标是不是合法

{

if(pos.x> 0&& pos.x<= N&&pos.y> 0&& pos.y<= N)

{

if(_ChessBoard[pos.x][pos.y]== ChessBoardflag)

{

return 1;//合法

}

}

return 0;//非法

}

int JudgeVictory(Coordinate pos, char flag)//判断有没有人胜负(底层判断)

{

int begin= 0;

int end= 0;

int begin1= 0;

int end1= 0;

//判断行是否满足条件

(pos.y- 4)> 0? begin=(pos.y- 4): begin= 1;

(pos.y+ 4)>N? end= N: end=(pos.y+ 4);

for(int i= pos.x, j= begin; j+ 4<= end; j++)

{

if(_ChessBoard[i][j]== flag&&_ChessBoard[i][j+ 1]== flag&&

_ChessBoard[i][j+ 2]== flag&&_ChessBoard[i][j+ 3]== flag&&

_ChessBoard[i][j+ 4]== flag)

C语言写的小游戏,c语言小游戏编程100例

一、c语言打数字游戏c语言小游戏C语言打数字游戏数字游戏是一款非常经典且有趣的益智游戏。我们可以用C语言编写数字游戏程序,让程序帮助我们完成游戏。下面简单介绍一下如何编写数字

return 1;

}

//判断列是否满足条件

(pos.x- 4)> 0? begin=(pos.x- 4): begin= 1;

(pos.x+ 4)> N? end= N: end=(pos.x+ 4);

for(int j= pos.y, i= begin; i+ 4<= end; i++)

{

if(_ChessBoard[i][j]== flag&&_ChessBoard[i+ 1][j]== flag&&

_ChessBoard[i+ 2][j]== flag&&_ChessBoard[i+ 3][j]== flag&&

_ChessBoard[i+ 4][j]== flag)

return 1;

}

int len= 0;

//判断主对角线是否满足条件

pos.x> pos.y? len= pos.y- 1: len= pos.x- 1;

if(len> 4)

len= 4;

begin= pos.x- len;//横坐标的起始位置

begin1= pos.y- len;//纵坐标的起始位置

pos.x> pos.y? len=(N- pos.x): len=(N- pos.y);

if(len>4)

len= 4;

end= pos.x+ len;//横坐标的结束位置

end1= pos.y+ len;//纵坐标的结束位置

for(int i= begin, j= begin1;(i+ 4<= end)&&(j+ 4<= end1);++i,++j)

{

if(_ChessBoard[i][j]== flag&&_ChessBoard[i+ 1][j+ 1]== flag&&

_ChessBoard[i+ 2][j+ 2]== flag&&_ChessBoard[i+ 3][j+ 3]== flag&&

_ChessBoard[i+ 4][j+ 4]== flag)

return 1;

}

//判断副对角线是否满足条件

(pos.x- 1)>(N- pos.y)? len=(N- pos.y): len= pos.x- 1;

if(len> 4)

len= 4;

begin= pos.x- len;//横坐标的起始位置

begin1= pos.y+ len;//纵坐标的起始位置

(N- pos.x)>(pos.y- 1)? len=(pos.y- 1): len=(N- pos.x);

if(len>4)

len= 4;

end= pos.x+ len;//横坐标的结束位置

end1= pos.y- len;//纵坐标的结束位置

for(int i= begin, j= begin1;(i+ 4<= end)&&(j- 4>= end1);++i,--j)

{

if(_ChessBoard[i][j]== flag&&_ChessBoard[i+ 1][j- 1]== flag&&

_ChessBoard[i+ 2][j- 2]== flag&&_ChessBoard[i+ 3][j- 3]== flag&&

_ChessBoard[i+ 4][j- 4]== flag)

return 1;

}

for(int i= 1; i< N+ 1;++i)//棋盘有没有下满

{

for(int j=1; j< N+ 1;++j)

{

if(_ChessBoard[i][j]== ChessBoardflag)

return 0;//0表示棋盘没满

}

}

return-1;//和棋

}

bool GetVictory(Coordinate& pos, int player, int flag)//对JudgeVictory的一层封装,得到具体那个玩家获胜

{

int n= JudgeVictory(pos, flag);//判断有没有人获胜

if(n!= 0)//有人获胜,0表示没有人获胜

{

PrintChessBoard();

if(n== 1)//有玩家赢棋

{

if(player== 0)//0表示电脑获胜,1表示玩家1,2表示玩家2

printf("***电脑获胜***\n");

else

printf("***恭喜玩家%d获胜***\n", player);

}

else

printf("***双方和棋***\n");

return true;//已经有人获胜

}

return false;//没有人获胜

}

private:

char _ChessBoard[N+1][N+1];

};

扩展资料:

设计思路

1、进行问题分析与设计,计划实现的功能为,开局选择人机或双人对战,确定之后比赛开始。

2、比赛结束后初始化棋盘,询问是否继续比赛或退出,后续可加入复盘、悔棋等功能。

3、整个过程中,涉及到了棋子和棋盘两种对象,同时要加上人机对弈时的AI对象,即涉及到三个对象。

三、c语言打数字游戏c语言小游戏

C语言打数字游戏

数字游戏是一款非常经典且有趣的益智游戏。我们可以用C语言编写数字游戏程序,让程序帮助我们完成游戏。下面简单介绍一下如何编写数字游戏程序。

我们需要知道数字游戏的规则。数字游戏是一个1~100的猜数游戏。程序会随机生成一个1~100的数字,然后玩家需要根据提示来猜测数字,直到猜中为止。程序将会输出“比它小”或“比它大”提示,直到数字被猜中。

我们需要为程序生成随机数。在C语言中,我们可以使用rand()函数来生成随机数。为了使每次生成的随机数不同,我们需要使用srand()函数来设置随机数种子。随机数种子通常设置为当前时间的秒数,如下所示:

srand((unsigned)time(NULL));

我们需要使用rand()函数生成1~100之间的随机数,如下所示:

intnumber=rand()%100+1;

我们需要设置循环,让玩家可以不断猜测数字,直到猜中为止。在循环中,我们需要使用scanf()函数获取玩家输入的数字,并与程序生成的数字进行比较。如果猜测的数字比程序生成的数字小,我们需要输出“比它大”的提示;如果猜测的数字比程序生成的数字大,我们需要输出“比它小”的提示。如果猜测的数字与程序生成的数字相等,我们需要输出“恭喜你,猜中了!”的提示,并退出循环。

最终的代码如下所示:

#include

#include

#include

intmain()

{

intnumber=0;

intguess=0;

srand((unsigned)time(NULL));

number=rand()%100+1;

rintf(\数字游戏开始!\\n\do{

printf(\请输入你猜测的数字:\scanf(\d\

if(guess>number){

printf(\比它小!\\n\}elseif(guessprintf(\比它大!\\n\}else{

printf(\恭喜你,猜中了!\\n\}

}while(guess!=number);

return0;

}

四、用C语言编写的小游戏代码是什么

“猜数字小游戏”,每个数字后按空格,最后按回车确认

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

int a[4],b[4];

int count=0;//计算猜测次数

void csh();//初始化

void start();//开始游戏

int main()

{ csh();

start();

}

void csh()//初始化

{ printf("\n\n猜数字小游戏\n\n");

printf(“猜四个数字,如数字与顺序都正确记为A,数字正确位置不对记为B.\n”);

}

void start()//开始游戏

{int m,n;//m是完全猜对的个数,n是顺序不对的个数

while(1)

{srand((unsigned)time(NULL));//初始化随机数发生器srand()

while(1){ for(int i=0;i<4;i++) a[i]=rand()%10;//rand()函数每次随机产生一个0-9的数

if((a[3]!=a[2]&&a[3]!=a[1]&&a[3]!=a[0])&&

(a[2]!=a[1]&&a[2]!=a[0])&&a[1]!=a[0]) break;}//4个随机数各自不相等

printf("请依次输入4个一位整数:\n\n");

while(1)

{for(int i=0;i<4;i++) scanf(“%d”,&b[i]);

printf("你输入的是:%d%d%d%d",b[0],b[1],b[2],b[3]);

m=0;n=0;

for(int i=0;i<4;i++)

{for(int j=0;j<4;j++)

{ if(b[i]==a[j]&&i==j)m=m+1; if(b[i]==a[j]&&i!=j)n=n+1;}

}

count=count+1;

printf("%dA%dB你试了%d次\n",m,n,count);

if(m==4)break;

if(count==8){ count=0; break;}

}

printf("\n");

if(m==4)printf("你猜对了(^-^)!就是:%d%d%d%d\n",a[0],a[1],a[2],a[3]);

else printf("你输了(T-T)!哈哈!应该是:%d%d%d%d\n",a[0],a[1],a[2],a[3]);

int z;

printf("(要继续吗?1或0)\n");

scanf(“%d”,&z);

if(z==0) break;

}

}

五、如何用c语言编写一个小游戏

一、数学知识:

长方形的面积S=a*b

长方形周长L=2*(a+b)

其中a b分别为长方形的宽和高。

二、算法分析:

长方形面积及周长均依赖于宽和高,所以先要输入宽高值,然后根据公式计算,输出结果即可。

三、参考代码:

#include<stdio.h>

voidmain()

{

doublea,b;

doubleL,S;

scanf("%lf%lf",&a,&b);//输入宽和高。

L=2*(a+b);//计算周长。

S=a*b;//计算面积。

printf("面积=%lf,周长=%lf\n",S,L);//输出结果。

}

四、注意事项:

因为没有限制输入为整型,所以使用浮点型用来存储各项值。输入输出要用%lf。

以上就是最新游戏攻略《C编写的小游戏,c语言编写的小游戏》的全部内容,关注下载火资源网,每日分享最新最全最热门的免费游戏下载,安卓手机游戏,绿色中文版游戏下载以及攻略玩法!

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

C语言小游戏编程,c语言小游戏编程源代码

一、如何用c语言编写一个小游戏一、数学知识:长方形的面积S=a*b长方形周长L=2*(a+b)其中a b分别为长方形的宽和高。二、算法分析:长方形面积及周长均依赖于宽和高,所以先要输入宽高值

本文转载自互联网,如有侵权,联系删除