首页编程c++简单编程代码(简单编程代码)

c++简单编程代码(简单编程代码)

编程之家2026-05-221160次浏览

各位老铁们好,相信很多人对c++简单编程代码都不是特别的了解,因此呢,今天就来为大家分享下关于c++简单编程代码以及简单编程代码的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

c++简单编程代码(简单编程代码)

如何用C++编写一个小游戏

一个用C++编程的小游戏,可以实现的功能如下:

1、随机生成数字;

2、数字消除合并;

3、判定游戏结束;

一、游戏主体:

因为用C++写的,所以用了类,棋盘用了一个二维数组,m是棋盘规格,取了4。

c++简单编程代码(简单编程代码)

class game

{

public:

int i, j;

game(){

count1= 0;

c++简单编程代码(简单编程代码)

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

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

chessboard[i][j]= 0;

srand((unsigned)time(NULL));

x= rand()% m;

y= rand()% m;

if(count1== 1|| count1== 0)

chessboard[x][y]= 2;

else

chessboard[x][y]= 4;

showchessboard();

}//构造初始棋盘

void add(int count1);//新增数字

void showchessboard();//显示棋盘

void up();

void down();

void left();

void right();

bool gameover();//游戏失败

private:

int chessboard[m][m];

int x, y, count1, count2, temp1, temp2, k;//c1-连消,c2-空位标记,t1-判连消,t2,k-临时变量

bool flag;//判消

};

二、随机生成数字

void game::add(int count1)

{

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

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

{

if(chessboard[i][j]== 0)

goto loop;

}

showchessboard();

return;

loop:srand((unsigned)time(NULL));

do{

x= rand()% m;

y= rand()% m;

} while(chessboard[x][y]!= 0);

if(count1< 2)

chessboard[x][y]= 2;

else

chessboard[x][y]= 4;

showchessboard();

}

三、数字消除合并

void game::up()

{

temp1= count1;

flag= false;

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

for(i= 0; i< m;)

{

for(; i< 4&& chessboard[i][j]== 0; i++);//找非零值

if(i== 4)

break;

else

{

for(k= i+ 1; k< 4&& chessboard[k][j]== 0; k++);//找下一个非零值

if(k== 4)

break;

else if(chessboard[i][j]== chessboard[k][j])//匹配

{

chessboard[i][j]*= 2;

chessboard[k][j]= 0;

i= k+ 1;

flag= true;

}

else if(chessboard[i][j]!= chessboard[k][j]&& k< 4)//不匹配

{

i= k;

}

}

}

for(j= 0; j< m; j++)//排列棋盘

for(i= 0, count2= 0; i< m; i++)

{

if(chessboard[i][j]!= 0)

{

temp2= chessboard[i][j];

chessboard[i][j]= 0;

chessboard[count2][j]= temp2;

count2++;

}

}

}

四、判断游戏结束

bool game::gameover()

{

if(flag)

count1++;//判连消

if(temp1== count1)

count1= 0;//未消除,连消归零

add(count1);

for(i= m- 1, j= 0; j< m; j++)//最后一行

{

if(j== m- 1)//右下角

{

if(chessboard[i][j]== 0)

return false;

else if(chessboard[i][j]== 2048)

{

cout<<"You Win~

";

return true;

}

}

else

{

if(chessboard[i][j]== 0|| chessboard[i][j]== chessboard[i][j+ 1])

return false;

else if(chessboard[i][j]== 2048)

{

cout<<"You Win~

";

return true;

}

}

}

for(i= 0, j= m- 1; i< m; i++)//最后一列

{

if(i== m- 1)//右下角

{

if(chessboard[i][j]== 0)

return false;

else if(chessboard[i][j]== 2048)

{

cout<<"You Win~

";

return true;

}

}

else

{

if(chessboard[i][j]== 0|| chessboard[i][j]== chessboard[i+ 1][j])

return false;

else if(chessboard[i][j]== 2048)

{

cout<<"You Win~

";

return true;

}

}

}

for(i= 0; i< m- 1; i++)

for(j= 0; j< m- 1; j++)

{

if(chessboard[i][j]== 2048)

{

cout<<"You Win!

";

return true;

}

else if(chessboard[i][j]== chessboard[i][j+ 1]|| chessboard[i][j]== chessboard[i+ 1][j]|| chessboard[i][j]== 0)

return false;

}

cout<<"Game over.

";

return true;

}

扩展资料:

C++语言的程序因为要体现高性能,所以都是编译型的。但其开发环境,为了方便测试,将调试环境做成解释型的。

生成程序是指将源码(C++语句)转换成一个可以运行的应用程序的过程。如果程序的编写是正确的,那么通常只需按一个功能键,即可搞定这个过程。但是该过程实际上分成两个步骤。

第一步是对程序进行编译,这需要用到编译器(compiler)。编译器将C++语句转换成机器码(也称为目标码);

第二步就是对程序进行链接,这需要用到链接器(linker)。链接器将编译获得机器码与C++库中的代码进行合并。C++库包含了执行某些常见任务的函数(“函数”是子程序的另一种称呼)。

参考资料来源:

百度百科-C++

菜鸟求c++编程思路

首先,需要有一个判断颜色区别的算法,是否以RGB配色表的下标就可以确定?这个需要根据配色表的特点来决定;也就是说,题目中如何判断延时区别尽量大的算法要设计好,怎么计算;

数据结构:这个应该是二维数组,第一维表示组别,下标取值0~m-1,第二维是颜色,可以用配色表的下标值来表示

算法:要根据具体要求来确定,选取颜色的策略是什么,什么叫每个组的颜色与其他的区别?是否是与临近组的颜色区别?颜色是否可重复?具体计算时可以用辅助数组来表明某个颜色是否已经被选用,利用计算机的穷尽算法找出各种方案的评估取值,最后选用取值最满足要求的方案。

c++游戏编程,写一个游戏编程,简单点

#include<iostream>

#include<iomanip>

usingnamespacestd;

constintX=21;//棋盘行数

constintY=21;//棋盘列数

charp[X][Y];//定义棋盘

intm=0;//定义临时点,保存输入坐标

intn=0;

voiddisplay()//输出棋盘

{

for(inti=0;i<X;i++)

cout<<setw(3)<<setfill('')<<i;

cout<<endl;

for(inti=1;i<Y;i++)

{

cout<<setw(3)<<setfill('')<<i;

for(intj=1;j<X;j++)

cout<<setw(3)<<setfill('')<<p[i][j];

cout<<endl;

}

}

voidblack()//黑方落子

{

cout<<"请黑方输入落子位置:

"

<<"请输入落子的行数:";

cin>>m;

cout<<"请输入落子的列数:";

cin>>n;

if(m<=0||m>=X||n>=Y||n<=0)

{

cout<<"超出棋盘范围,请重新输入正确坐标!

";

black();

}

elseif((p[m][n]==1)||p[m][n]==2)

{

cout<<"该点已有棋子,请重新选取落子点!

";

black();

}

else

p[m][n]=1;//黑方用1来表示

system("cls");

display();

}

voidred()//红方落子

{

cout<<"请红方输入落子位置:

"

<<"请输入落子的行数:";

cin>>m;

cout<<"请输入落子的列数:";

cin>>n;

if(m>=X||m<=0||n<=0||n>=Y)

{

cout<<"超出棋盘范围,请重新输入正确坐标!

";

red();

}

elseif((p[m][n]==1)||p[m][n]==2)

{

cout<<"该点已有棋子,请重新选取落子点!

";

red();

}

else

p[m][n]=2;//红方用2来表示

system("cls");

display();

}

intevalue()//只需要判断落子点为中心的九点“米”字是否连续即可

{

intk=0,r=0;

/*斜线判断*/

for(k=3;k<X-2;k++)//两条,其中的p[k][r]!='-'是排除空子的情况

{

for(r=3;r<Y-2;r++)

{

if(p[k][r]!='-'&&p[k-2][r-2]==p[k][r]&&p[k-1][r-1]==p[k][r]&&p[k+1][r+1]==p[k][r]&&p[k+2][r+2]==p[k][r])

return1;

elseif(p[k][r]!='-'&&p[k+2][r-2]==p[k][r]&&p[k+1][r-1]==p[k][r]&&p[k-1][r+1]==p[k][r]&&p[k-2][r+2]==p[k][r])

return1;

}

}

/*横线判断*/

for(k=1;k<X;k++)//p[k][r]!='-'是排除空子的情况

for(r=3;r<Y-2;r++)

if(p[k][r]!='-'&&p[k][r-2]==p[k][r]&&p[k][r-1]==p[k][r]&&p[k][r+1]==p[k][r]&&p[k][r+2]==p[k][r])

return1;

/*竖线判断*/

for(k=3;k<X-2;k++)//p[k][r]!='-'是排除空子的情况

for(r=1;r<Y;r++)

if(p[k][r]!='-'&&p[k-2][r]==p[k][r]&&p[k-1][r]==p[k][r]&&p[k+1][r]==p[k][r]&&p[k+2][r]==p[k][r])

return1;

return0;

}

intmain()

{

memset(p,'-',441);//初始化为‘-’

cout<<"欢迎使用简易双人对战五子棋游戏

"

<<"五子棋棋谱如下:

";

display();

while(1)

{

red();

if(evalue())

{

cout<<"红方赢!

";

break;

}

black();

if(evalue())

{

cout<<"黑方赢!

";

break;

}

}

return0;

}人人对战五子棋

关于本次c++简单编程代码和简单编程代码的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

count函数的功能(count函数的4个妙用)js强制刷新当前页面,js刷新指定页面