最简单的小游戏代码 最简单的小游戏代码是什么

游戏攻略 2025-01-04 14:57:21

c语言小游戏代码

“贪吃蛇”C代码,在dev C++试验通过(用4个方向键控制)

最简单的小游戏代码 最简单的小游戏代码是什么最简单的小游戏代码 最简单的小游戏代码是什么


最简单的小游戏代码 最简单的小游戏代码是什么


#include

#include

#include

#include

#include

#define W 78 //游戏框的宽,x轴

#define H 26 //游戏框的高,y轴

int dir=3; //方向变量,初值3表示向“左”

int Flag=0; //吃了食物的标志(1是0否)

int score=0; //玩家得分

struct food{ int x; //食物的x坐标

int y; //食物的y坐标

}fod; //结构体fod有2个成员

struct snake{ int len; //蛇身长

int speed; //移动速度

int x[100]; //蛇身某节x坐标

int y[100]; //蛇身某节y坐标

}snk; //结构体snk有4个成员

void gtxy( int x,int y) //控制光标移动的函数

{ COORD coord;

coord.X=x;

coord.Y=y;

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);

}void gtxy( int x,int y); //以下声明要用到的几个自编函数

void csh( ); //初始化界面

void keymove( ); //按键作移动蛇

void putFod( ); //投放食物

int Over( ); //游戏结束(1是0否)

void Color(int a); //设定显示颜色的函数

int main( ) //主函数

{ csh( );

while(1)

{ Sleep(snk.speed);

keymove( );

putFod( );

if(Over( ))

{ (“cls”);

gtxy(W/2+1,H/2); printf(“游戏结束!T__T”);

gtxy(W/2+1,H/2+2); printf(“玩家总分:%d分”,score);

getch( );

break;

}}

return 0;

}void csh( ) //初始化界面

{ int i;

gtxy(0,0);

CONSOLE_CURSOR_INFO cursor_={1,0}; //以下两行是隐藏光标的设置

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_);

for(i=0;i<=W;i=i+2) //横坐标要为偶数,因为这个要打印的字符占2个位置

{Color(2); //设定打印颜色为绿色

gtxy(i,0); printf("■"); //打印上边框

gtxy(i,H); printf("■"); //打印下边框

}for(i=1;i

{ gtxy(0,i); printf("■"); //打印左边框

gtxy(W,i); printf("■"); //打印右边框

}while(1)

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

fod.x=rand()%(W-4)+2; //随机函数rand( )产生一个从0到比”(W-4)”小1的数再加2

fod.y=rand()%(H-2)+1; //随机函数rand( )产生一个从0到比”(H-2)”小1的数再加1

if (fod.x%2==0) break; //fod.x是食物的横坐标,要是2的倍数(为偶数)

}Color(12); //设定打印颜色为淡红

gtxy(fod.x,fod.y); printf("●"); //到食物坐标处打印初试食物

snk.len=3; //蛇身长初值为3节

snk.speed=350; //刷新蛇的时间,即移动速度初值为350毫秒

snk.x[0]=W/2+1; //蛇头横坐标要为偶数(因为W/2=39)

snk.y[0]=H/2; //蛇头纵坐标

Color(9); //设定打印颜色为淡蓝

gtxy(snk.x[0], snk.y[0]); printf("■"); //打印蛇头

for(i=1;i

{ snk.x[i]=snk.x[i-1]+2; snk.y[i]=snk.y[i-1];

gtxy(snk.x[i],snk.y[i]); printf("■"); //打印蛇身

}Color(7, 0); //恢复默认的白字黑底

return;

}void keymove( ) //按键作移动蛇

{ int key;

if( kbhit( ) ) //如有按键输入才执行下面作

{ key=getch( );

if (key==224) //值为224表示按下了方向键,下面要再次获取键值

{ key=getch( );

if(key==72&&dir!=2)dir=1; //72表示按下了向上方向键

if(key==80&&dir!=1)dir=2; //80为向下

if(key==75&&dir!=4)dir=3; //75为向左

if(key==77&&dir!=3)dir=4; //77为向右

}if (key==32)

{ while(1) if((key=getch( ))==32) break; } //32为空格键,这儿用来暂停

}if (Flag==0) //如没吃食物,才执行下面作擦掉蛇尾

{ gtxy(snk.x[snk.len-1],snk.y[snk.len-1]); printf(" "); }

int i;

for (i = snk.len - 1; i > 0; i--) //从蛇尾起每节存储前一节坐标值(蛇头除外)

{ snk.x[i]=snk.x[i-1]; snk.y[i]=snk.y[i-1]; }

switch (dir) //判断蛇头该往哪个方向移动,并获取最新坐标值

{ case 1: snk.y[0]--; break; //dir=1要向上移动

case 2: snk.y[0]++; break; //dir=2要向下移动

case 3: snk.x[0]-=2; break; //dir=3要向左移动

case 4: snk.x[0]+=2; break; //dir=4要向右移动

}Color(9);

gtxy(snk.x[0], snk.y[0]); printf("■"); //打印蛇头

if (snk.x[0] == fod.x && snk.y[0] == fod.y) //如吃到食物则执行以下作

{ printf("7"); snk.len++; score += 100; snk.speed -= 5; Flag = 1; } //7是响铃

else Flag = 0; //没吃到食物Flag的值为0

if(snk.speed<150) snk.speed= snk.speed+5; //码,不让速度无限加快

}void putFod( ) //投放食物

{ if (Flag == 1) //如吃到食物才执行以下作,生成另一个食物

{ while (1)

{ int i,n= 1;

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

fod.x = rand( ) % (W - 4) + 2; //产生在游戏框范围内的一个x坐标值

fod.y = rand( ) % (H - 2) + 1; //产生在游戏框范围内的一个y坐标值

for (i = 0; i < snk.len; i++) //随机生成的食物不能在蛇的身体上

{ if (fod.x == snk.x[i] &&fod.y == snk.y[i]) { n= 0; break;} }

if (n && fod.x % 2 == 0) break; //n不为0且横坐标为偶数,则食物坐标取值成功

}Color(12); //设定字符为红色

gtxy(fod.x, fod.y); printf("●"); //光标到取得的坐标处打印食物

}return;

}int Over( ) //判断游戏是否结束的函数

{ int i;

Color(7);

gtxy(2,H+1); printf(“暂停键:space.”); //以下打印一些其它信息

gtxy(2,H+2); printf(“游戏得分:%d”,score);

if (snk.x[0] == 0 || snk.x[0] == W) return 1; //蛇头触碰左右边界

if (snk.y[0] == 0 || snk.y[0] == H) return 1; //蛇头触碰上下边界

for (i = 1; i < snk.len; i++)

{ if (snk.x[0] == snk.x[i] && snk.y[0] == snk.y[i]) return 1; } //蛇头触碰自身

return 0; //没碰到边界及自身时就返回0

}void Color(int a) //设定颜色的函数

{ SetConsoleTextAttribute(GetStdHandle( STD_OUTPUT_HANDLE ),a ); }

贪吃蛇的源代码

#include

#include

#include

#include

typedef struct snake

{int a;

int b;

struct snake u;

struct snake n;

}snake,snake1;

typedef struct food

{int a;

int b;

}food;

void main()

{char c,c0 = 'd';

int i,j,k,n=1,t,at;

snake p,q;

snake dd,dd0,dd1,dd2;

food f;

srand(time(NULL));

p.u = NULL;

p.n = &q;

p.a = 5;p.b = 6;q.a = 5;q.b = 5;

q.u = &p;q.n = NULL;

dd=dd2= &q;

f.a=(rand()%15+1);

f.b=(rand()%15+1);

while(1)

{srand(time(NULL));

("cls");

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

{for(j = 0; j < 17;j++)

{if(i == 0 )

printf("▁");

else if(i == 16)

printf("▔");

else if(j == 0)

printf("▕");

else if(j == 16)

printf("▏");

else if(i == p.a && j == p.b)

printf("■");

else if(i == f.a && j == f.b)

printf("★");

else

{t = 0;

dd = dd2;

for(k = 0; k < n ;k++)

{if(i == dd->a && j == dd->b)

{printf("□");

t = 1;

break;

}dd = dd->u;

}if(t == 0)

printf(" ");

}}printf("n");

}at = 0;

dd =dd2;

for(i=0;i

{if(p.a == dd->a && p.b == dd->b)

{printf(" over!!n");

exit(0);

}dd = dd->u;

}if(p.a == f.a && p.b == f.b)

{dd = dd2;

at =1;

f.a = (rand()%15+1);

f.b = (rand()%15+1);

for(i=0;i

{if(f.a == dd->a && f.b == dd->b)

{f.a = dd2->a;

f.b = dd2->b;

break;

}}

n++;

}if(kbhit())

{c = getch();

dd = dd2;

if(c == 'w' && c0 != 's')

{if(at == 1)

{dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

}dd = dd2;

for(i = 0; i

{dd1 = dd->u;

dd->b = dd1->b;

dd->a = dd1->a;

dd = dd->u;

}if(p.a == 1)

p.a = 15;

else

p.a = (p.a-1)%15;

}else if(c == 's' && c0 != 'w')

{if(at == 1)

{dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

}dd = dd2;

for(i = 0; i

{dd1 = dd->u;

dd->b = dd1->b;

dd->a = dd1->a;

dd = dd->u;

}p.a = (p.a%15)+1;

}else if(c == 'a' && c0 != 'd')

{if(at == 1)

{dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

}dd = dd2;

for(i = 0; i

{dd1 = dd->u;

dd->b = dd1->b;

dd->a = dd1->a;

dd = dd->u;

}if(p.b == 1)

p.b = 15;

else

p.b = (p.b-1)%15;

}else if(c == 'd' && c0 != 'a')

{if(at == 1)

{dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

}dd = dd2;

for(i = 0; i

{dd1 = dd->u;

dd->b = dd1->b;

dd->a = dd1->a;

dd = dd->u;

}p.b = (p.b%15)+1;

}else

{goto qq;

}c0 = c;

}else

{qq: if(c0 == 'w')

{if(at == 1)

{dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

}dd = dd2;

for(i = 0; i

{dd1 = dd->u;

dd->b = dd1->b;

dd->a = dd1->a;

dd = dd->u;

}if(p.a == 1)

p.a = 15;

else

p.a=(p.a-1)%15;

}else if(c0 == 's')

{if(at == 1)

{dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

}dd = dd2;

for(i = 0; i

{dd1 = dd->u;

dd->b = dd1->b;

dd->a = dd1->a;

dd = dd->u;

}p.a=(p.a%15)+1;

}else if(c0 == 'a')

{if(at == 1)

{dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

}dd = dd2;

for(i = 0; i

{dd1 = dd->u;

dd->b = dd1->b;

dd->a = dd1->a;

dd = dd->u;

}if(p.b == 1)

p.b = 15;

else

p.b=(p.b-1)%15;

}else if(c0 == 'd')

{if(at == 1)

{dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

}dd = dd2;

for(i = 0; i

{dd1 = dd->u;

dd->b = dd1->b;

dd->a = dd1->a;

dd = dd->u;

}p.b=(p.b%15)+1;

}}

fflush(stdin);

dd = &q;

_sleep(0);

}}

我是一个新手。

下面有一个游戏:

“坑人的无限”(一)

#include

#include

#include

#include

#include

using namespace std;

int a;

class Screen

{private:

int n;

public:

Screen()

{n=5;

}void move1()//注意只是循环输出各个数字,不能对循环输出再进行循环(如果对循环输出0123456789再进行循环,则move1就变成一个无限循环的函数,则下面的screen循环就进行不下去了)

{for(int i=0;i<10;++i)

{cout<

}}

void move2()

{char i;

for(i='a';i<='z';++i)

{cout<

}}

void screen()

{int t;

while(!kbhit())

{t=time(0)%(2n);//如果是放在循环外面的话,time(0)的值就一直不变,放在循环里面,一秒钟进行一次判断,一秒钟进行一次循环

if(t

move1();

else

move2();

}}

};

int main(){

cout<<"欢迎来到“无限 ”游戏"<

cout<<"下面会输出无限个笑脸"<

cout<<"按'enter'取消"<

Sleep(4000);

Screen s;

s.screen();

cout<

cout<<"接下来会更让你丧心病狂的!"<

cout<<"但是坚持过后必有彩蛋!!!!!!加油!!";

cout<

Sleep(10000);

for(int as=0;as<=50;as++){

for(int i=0;i<=100;i++){

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

cout<

}cout<

}for(int i=0;i<=100;i++){

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

cout<

}cout<

}}

cout<<"你居然坚持下来了!"<

for(int i=0;i<=10;i++){

cout<<"-----------------------------------------------"<

}cout<<"敬请期待!等待无限游戏(二)!";

return 0;

}

求几C语言个小游戏代码,简单的,要注释、、谢谢了、

//这是一个显示方格的小程序,小方格可一左右移动的,可以按A键、D键、方向键,按n

//时则退出程序。这个程序整体很简单你看一会就能明白了,上下移动还没弄好。

#include

void main(){

int i,keyCount=0;

int n=196,e=179,wu=218,eu=1,wd=192,ed=217; //定义方格边框

char move='';

while(1){

move=getch();

if(move==0)

move=getch();

if(move=='n')

break;

if((move=='a'||move=='A'||move==75)&&keyCount>0)

keyCount--;

if((move=='d'||move=='D'||move==77)&&keyCount<76)

keyCount++;

printf("--------------------------------------------n"); //线条打印

printf("Press 'a' the square move left ,n and press 'd' the square move right!nPress 'n' to exit!n"); //打印说明

printf("--------------------------------------------n");

for(i=1;i<=16;i++)

printf("n");

for(i=1;i<=keyCount;i++)

printf(" ");

printf("%c%c%cn",wu,n,eu); //打印上边框

for(i=1;i<=keyCount;i++)

printf(" ");

printf("%c %cn",e,e) ; //打印中间边框

for(i=1;i<=keyCount;i++)

printf(" ");

printf("%c%c%cn",wd,n,ed); //打印底边框

}}

怎么编程一个最简单游戏代码?

利用随机数猜大小,如下:

1、代码的行,是一个include语句。没有它我们的程序会编译不过。有了它就是告诉编译器在对代码进行编译之前,必须要包含程序需要的文件。这里的stdio.h就是我们需要的头文件。

2、代码第二行是一个main函数,这个main函数的返回值是一个int整型数据。刚开始学习编程的时候我们可以认为程序运行的时候是从main函数开始的。后续会专门给大家做一个介绍向大家说明在main函数之前还做了哪些事情。

3、每个函数都用一对“{}”进行包含,表示着函数体的开始和结束,当然后面说到控制语句的时候它还表示一段控制语句的开始和结束。

4、main函数中调用了一个printf函数。它是用来向控制台输出我们想要的内容。printf的函数定位格式为:int printf(constcharformat,...)。format中定义了输出内容和格式。

5、return函数执行完后。在退出函数体之前,会将函数进行返回。return后的内容根据函数返回值定义而定。在本段程序中返回的是整型数据0。

谁有一些简单小游戏的C语言程序?

#include

#include

#include

#include

int main()

{printf("版权所有,不得个人名义翻录,但是使用不要钱n");

printf("注意小心按键……nn");

srand(time(0));

int i,j,t,q,n,q1;

int m,b,y,z1,z2,h,o,v;

long k;

char c;

printf("ttt剪刀石头布n");

printf("你想让电脑出什么?1:剪刀 2:石子 3:布n");

scanf("%d",&j);

printf("1:剪刀 2:石头 3:布n");

scanf("%ld",&k);

t=0;q=0;

b=y=z1=z2=h=o=n=0;

m=0;

while(1)

{while(k!=0)

{i=k%10;

k=k/10;

if(i>0&&i<4)

{if(i==1) printf("你出的是剪刀! n");

if(i==2) printf("你出的是石头!n");

if(i==3) printf("你出的是布!n");

if(b!=0)

{printf("电脑思考中!n");

("pause");

j=i-1;

if(j==0) j=3;

if(j==1) printf("电脑出的是剪刀!n");

if(j==2) printf("电脑出的是石头!n");

if(j==3) printf("电脑出的是布!n");

t++;printf("你赢了!%d连胜!nn",t);q=0;

b--;

if(b==0){printf("百战百胜的时效到了!nn");n=0;}

}else

if(y!=0)

{printf("电脑晕菜中!n");

t++;printf("你赢了!%d连胜!nn",t);q=0;

y--;

if(y==0)

{j=rand()%3;

if(j==1||j==2){printf("电脑醒了,但你踩了他一脚,他又晕了!n");y=5;}else{printf("电脑醒了!n");n=0;}

}("pause");

}else

if(z2!=0)

{printf("电脑正在往回赶!n");

t++;printf("你赢了!%d连胜!nn",t);q=0;

z2--;

if(z2==0){printf("他终于回来了!n");n=0;}

("pause");

}else

if(z1!=0)

{printf("电脑正在天上飞!n");

t++;printf("你赢了!%d连胜!nn",t);q=0;

z1--;

if(z1==0){printf("电脑终于落地了!nn");z2=rand()%6+5;}

("pause");

}else

{printf("电脑思考中!n");

("pause");

if(j==1) printf("电脑出的是剪刀 n");

if(j==2) printf("电脑出的是石头!n");

if(j==3) printf("电脑出的是布!n");

o=rand()%4;

if(o<3&&h!=0){printf("电脑突然病发,晕过去了!");t++;printf("你赢了!%d连胜!加%d元钱!nn",t,t);q=0;m+=t;h--;if(h==0){printf("电脑的病好了!nn");n=0;}}else

if(i==j)printf("平局不算!nn");else

if(j-i==1){q++;printf("电脑赢了!电脑%d连胜!nn",q);t=0;}else

if(j==1&&i==3){q++;printf("电脑赢了!电脑%d连胜!nn",q);t=0;}else

{t++;printf("你赢了!%d连胜!加%d元钱!nn",t,t);m+=t;q=0;}

}if(t==30){printf("强人!连胜三十回合!游戏结束!n"); ("pause");return 0;}

if(q==10){printf("电脑十连胜,你不要活了……n");("pause");return 0;}

}else{printf("你个疯子!!!n");("pause");return 0;}

}if(m>=10&&n==0){printf("你有%d元钱,是否购买百战百胜?10元 1:要 0:不要",m);scanf("%d",&v);if(v==1){printf("已购买!nn");m-=10;b=5;n=1;}}

if(m>=15&&n==0){printf("你有%d元钱,是否购买飞飞?15元 1:要 0:不要",m);scanf("%d",&v);if(v==1){printf("你把电脑绑在上,碰!!!nn");m-=15;z1=3;n=1;}}

if(m>=20&&n==0){printf("你有%d元钱,是否购买晕眩?20元 1:要 0:不要",m);scanf("%d",&v);if(v==1){printf("电脑中了晕眩!nn");m-=20;y=5;n=1;}}

if(m>=25&&n==0){printf("你有%d元钱,是否购买灰鸽子+熊猫烧香+蠕虫王?1:要 0:不要",m);scanf("%d",&v);if(v==1){printf("电脑中了!nn");m-=25;h=20;n=1;}}

printf("1:剪刀 2:石头 3:布n");

scanf("%ld",&k);

q1=-1;

}printf("你个疯子!!!n");

("pause");

}

#include

#include

#include

#include

int

main()

{printf("版权所有,不得个人名义翻录,但是使用不要钱n");

printf("注意小心按键……nn");

srand(time(0));

int

i,j,t,q,n,q1;

int

m,b,y,z1,z2,h,o,v;

long

k;

char

c;

printf("ttt剪刀石头布n");

printf("你想让电脑出什么?1:剪刀

2:石子

3:布n");

scanf("%d",&j);

printf("1:剪刀

2:石头

3:布n");

scanf("%ld",&k);

t=0;q=0;

b=y=z1=z2=h=o=n=0;

m=0;

while(1)

{while(k!=0)

{i=k%10;

k=k/10;

if(i>0&&i<4)

{if(i==1)

printf("你出的是剪刀!

n");

if(i==2)

printf("你出的是石头!n");

if(i==3)

printf("你出的是布!n");

if(b!=0)

{printf("电脑思考中!n");

("pause");

j=i-1;

if(j==0)

j=3;

if(j==1)

printf("电脑出的是剪刀!n");

if(j==2)

printf("电脑出的是石头!n");

if(j==3)

printf("电脑出的是布!n");

t++;printf("你赢了!%d连胜!nn",t);q=0;

b--;

if(b==0){printf("百战百胜的时效到了!nn");n=0;}

}else

if(y!=0)

{printf("电脑晕菜中!n");

t++;printf("你赢了!%d连胜!nn",t);q=0;

y--;

if(y==0)

{j=rand()%3;

if(j==1||j==2){printf("电脑醒了,但你踩了他一脚,他又晕了!n");y=5;}else{printf("电脑醒了!n");n=0;}

}("pause");

}else

if(z2!=0)

{printf("电脑正在往回赶!n");

t++;printf("你赢了!%d连胜!nn",t);q=0;

z2--;

if(z2==0){printf("他终于回来了!n");n=0;}

("pause");

}else

if(z1!=0)

{printf("电脑正在天上飞!n");

t++;printf("你赢了!%d连胜!nn",t);q=0;

z1--;

if(z1==0){printf("电脑终于落地了!nn");z2=rand()%6+5;}

("pause");

}else

{printf("电脑思考中!n");

("pause");

if(j==1)

printf("电脑出的是剪刀

n");

if(j==2)

printf("电脑出的是石头!n");

if(j==3)

printf("电脑出的是布!n");

o=rand()%4;

if(o<3&&h!=0){printf("电脑突然病发,晕过去了!");t++;printf("你赢了!%d连胜!加%d元钱!nn",t,t);q=0;m+=t;h--;if(h==0){printf("电脑的病好了!nn");n=0;}}else

if(i==j)printf("平局不算!nn");else

if(j-i==1){q++;printf("电脑赢了!电脑%d连胜!nn",q);t=0;}else

if(j==1&&i==3){q++;printf("电脑赢了!电脑%d连胜!nn",q);t=0;}else

{t++;printf("你赢了!%d连胜!加%d元钱!nn",t,t);m+=t;q=0;}

}if(t==30){printf("强人!连胜三十回合!游戏结束!n");

("pause");return

0;}

if(q==10){printf("电脑十连胜,你不要活了……n");("pause");return

0;}

}else{printf("你个疯子!!!n");("pause");return

0;}

}if(m>=10&&n==0){printf("你有%d元钱,是否购买百战百胜?10元

1:要

0:不要",m);scanf("%d",&v);if(v==1){printf("已购买!nn");m-=10;b=5;n=1;}}

if(m>=15&&n==0){printf("你有%d元钱,是否购买飞飞?15元

1:要

0:不要",m);scanf("%d",&v);if(v==1){printf("你把电脑绑在上,碰!!!nn");m-=15;z1=3;n=1;}}

if(m>=20&&n==0){printf("你有%d元钱,是否购买晕眩?20元

1:要

0:不要",m);scanf("%d",&v);if(v==1){printf("电脑中了晕眩!nn");m-=20;y=5;n=1;}}

if(m>=25&&n==0){printf("你有%d元钱,是否购买灰鸽子+熊猫烧香+蠕虫王?1:要

0:不要",m);scanf("%d",&v);if(v==1){printf("电脑中了!nn");m-=25;h=20;n=1;}}

printf("1:剪刀

2:石头

3:布n");

scanf("%ld",&k);

q1=-1;

}printf("你个疯子!!!n");

("pause");

}

#include

#include

#include

#include

int

main()

{printf("版权所有,不得个人名义翻录,但是使用不要钱n");

printf("注意小心按键……nn");

srand(time(0));

int

i,j,t,q,n,q1;

int

m,b,y,z1,z2,h,o,v;

long

k;

char

c;

printf("ttt剪刀石头布n");

printf("你想让电脑出什么?1:剪刀

2:石子

3:布n");

scanf("%d",&j);

printf("1:剪刀

2:石头

3:布n");

scanf("%ld",&k);

t=0;q=0;

b=y=z1=z2=h=o=n=0;

m=0;

while(1)

{while(k!=0)

{i=k%10;

k=k/10;

if(i>0&&i<4)

{if(i==1)

printf("你出的是剪刀!

n");

if(i==2)

printf("你出的是石头!n");

if(i==3)

printf("你出的是布!n");

if(b!=0)

{printf("电脑思考中!n");

("pause");

j=i-1;

if(j==0)

j=3;

if(j==1)

printf("电脑出的是剪刀!n");

if(j==2)

printf("电脑出的是石头!n");

if(j==3)

printf("电脑出的是布!n");

t++;printf("你赢了!%d连胜!nn",t);q=0;

b--;

if(b==0){printf("百战百胜的时效到了!nn");n=0;}

}else

if(y!=0)

{printf("电脑晕菜中!n");

t++;printf("你赢了!%d连胜!nn",t);q=0;

y--;

if(y==0)

{j=rand()%3;

if(j==1||j==2){printf("电脑醒了,但你踩了他一脚,他又晕了!n");y=5;}else{printf("电脑醒了!n");n=0;}

}("pause");

}else

if(z2!=0)

{printf("电脑正在往回赶!n");

t++;printf("你赢了!%d连胜!nn",t);q=0;

z2--;

if(z2==0){printf("他终于回来了!n");n=0;}

("pause");

}else

if(z1!=0)

{printf("电脑正在天上飞!n");

t++;printf("你赢了!%d连胜!nn",t);q=0;

z1--;

if(z1==0){printf("电脑终于落地了!nn");z2=rand()%6+5;}

("pause");

}else

{printf("电脑思考中!n");

("pause");

if(j==1)

printf("电脑出的是剪刀

n");

if(j==2)

printf("电脑出的是石头!n");

if(j==3)

printf("电脑出的是布!n");

o=rand()%4;

if(o<3&&h!=0){printf("电脑突然病发,晕过去了!");t++;printf("你赢了!%d连胜!加%d元钱!nn",t,t);q=0;m+=t;h--;if(h==0){printf("电脑的病好了!nn");n=0;}}else

if(i==j)printf("平局不算!nn");else

if(j-i==1){q++;printf("电脑赢了!电脑%d连胜!nn",q);t=0;}else

if(j==1&&i==3){q++;printf("电脑赢了!电脑%d连胜!nn",q);t=0;}else

{t++;printf("你赢了!%d连胜!加%d元钱!nn",t,t);m+=t;q=0;}

}if(t==30){printf("强人!连胜三十回合!游戏结束!n");

("pause");return

0;}

if(q==10){printf("电脑十连胜,你不要活了……n");("pause");return

0;}

}else{printf("你个疯子!!!n");("pause");return

0;}

}if(m>=10&&n==0){printf("你有%d元钱,是否购买百战百胜?10元

1:要

0:不要",m);scanf("%d",&v);if(v==1){printf("已购买!nn");m-=10;b=5;n=1;}}

if(m>=15&&n==0){printf("你有%d元钱,是否购买飞飞?15元

1:要

0:不要",m);scanf("%d",&v);if(v==1){printf("你把电脑绑在上,碰!!!nn");m-=15;z1=3;n=1;}}

if(m>=20&&n==0){printf("你有%d元钱,是否购买晕眩?20元

1:要

0:不要",m);scanf("%d",&v);if(v==1){printf("电脑中了晕眩!nn");m-=20;y=5;n=1;}}

if(m>=25&&n==0){printf("你有%d元钱,是否购买灰鸽子+熊猫烧香+蠕虫王?1:要

0:不要",m);scanf("%d",&v);if(v==1){printf("电脑中了!nn");m-=25;h=20;n=1;}}

printf("1:剪刀

2:石头

3:布n");

scanf("%ld",&k);

q1=-1;

}printf("你个疯子!!!n");

("pause");

}

求一个简单又有趣的JAVA小游戏代码

那你就自己做个猜数字好了

import ja.util.;

import ja.io.;

public class CaiShu{

public static void main(String[] args) throws IOException{

Random a=new Random();

int num=a.nextInt(100);

System.out.println("请输入一个100以内的整数:");

for (int i=0;i<=9;i++){

BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));

String str=bf.readLine();

int shu=Integer.parseInt(str);

if (shu>num)

System.out.println("输入的数大了,输小点的!");

else if (shu

System.out.println("输入的数小了,输大点的!");

else {

System.out.println("恭喜你,猜对了!");

if (i<=2)

System.out.println("你真是个天才!");

else if (i<=6)

System.out.println("还将就,你过关了!");

else if (i<=8)

System.out.println("但是你还……真笨!");

else

System.out.println("你和猪没有两样了!");

break;}

}}

}

import ja.util.Scanner;

import ja.util.Random;

public class Fangfa{

static int sum,sum1=0;

public static void main(String [] args){

int a=1,b=1,c=1;

int k=0,m=1;

int money =5000;

int zhu =0;

boolean flag = true;

Random rand = new Random();

Scanner input = new Scanner(System.in);

while(m==1){

while(flag){

System.out.println("掷色子开始!");

System.out.println("请 注:金额只能是50的倍数且不能超过1000");

zhu=input.nextInt();

if(zhu%50==0&&zhu<=1000&&zhu<=money){

System.out.println("成功");

System.out.println("买大请输入数字1,买小输入数字2");

k=input.nextInt();

a= rand.nextInt(6)+1;

b= rand.nextInt(6)+1;

c= rand.nextInt(6)+1;

sum=a+b+c;

if(k==1){

if(sum>9){

money+=zhu;

System.out.println("恭喜您猜对了,点数为"+sum+"结果是大"+"余额为"+money);

}else{

money-=zhu;

System.out.println("很遗憾,点数为"+sum+"结果是小"+"余额为"+money);

}}

if(k==2){

if(sum<=9){

money+=zhu;

System.out.println("恭喜您猜对了,点数为"+sum+"结果是小"+"余额为"+money);

}else{

money-=zhu;

System.out.println("很遗憾,点数为"+sum+"结果是大"+"余额为"+money);

}}

flag= false;

System.out.println("继续请按1,退出请按任意键");

m=input.nextInt();

if(m==1){

flag=true;

System.out.println("您选择的是继续");

}else{

flag=false;

System.out.println("欢迎您下次再来玩");

}}else{

System.out.println("失败"+"余额为"+money);

}}

}}

}

连连看的小源码

package Lianliankan;

import jax.swing.;

import ja.awt.;

import ja.awt.nt.;

public class lianliankan implements ActionListener

{JFrame mainFrame; //主面板

Container thisContainer;

JPanel centerPanel,southPanel,northPanel; //子面板

JButton diamondsButton[][] = new JButton[6][5];//游戏按钮数组

JButton exitButton,resetButton,newlyButton; //退出,重列,重新开始按钮

JLabel fractionLable=new JLabel("0"); //分数标签

JButton firstButton,secondButton; //分别记录两次被选中的按钮

int grid[][] = new int[8][7];//储存游戏按钮位置

static boolean pressInformation=false; //判断是否有按钮被选中

int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戏按钮的位置坐标

int i,j,k,n;//消除方法控制

public void init(){

mainFrame=new JFrame("JKJ连连看");

thisContainer = mainFrame.getContentPane();

thisContainer.setLayout(new BorderLayout());

centerPanel=new JPanel();

southPanel=new JPanel();

northPanel=new JPanel();

thisContainer.add(centerPanel,"Center");

thisContainer.add(southPanel,"South");

thisContainer.add(northPanel,"North");

centerPanel.setLayout(new GridLayout(6,5));

for(int cols = 0;cols < 6;cols++){

for(int rows = 0;rows < 5;rows++ ){

diamondsButton[cols][rows]=new JButton(String.valueOf(grid[cols+1][rows+1]));

diamondsButton[cols][rows].addActionListener(this);

centerPanel.add(diamondsButton[cols][rows]);

}}

exitButton=new JButton("退出");

exitButton.addActionListener(this);

resetButton=new JButton("重列");

resetButton.addActionListener(this);

newlyButton=new JButton("再来一局");

newlyButton.addActionListener(this);

southPanel.add(exitButton);

southPanel.add(resetButton);

southPanel.add(newlyButton);

fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())));

northPanel.add(fractionLable);

mainFrame.setBounds(280,100,500,450);

mainFrame.setVisible(true);

}public void randomBuild() {

int randoms,cols,rows;

for(int twins=1;twins<=15;twins++) {

randoms=(int)(Math.random()25+1);

for(int alike=1;alike<=2;alike++) {

cols=(int)(Math.random()6+1);

rows=(int)(Math.random()5+1);

while(grid[cols][rows]!=0) {

cols=(int)(Math.random()6+1);

rows=(int)(Math.random()5+1);

}this.grid[cols][rows]=randoms;

}}

}public void fraction(){

fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())+100));

}public void reload() {

int se[] = new int[30];

int n=0,cols,rows;

int grid[][]= new int[8][7];

for(int i=0;i<=6;i++) {

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

if(this.grid[i][j]!=0) {

se[n]=this.grid[i][j];

n++;

}}

}n=n-1;

this.grid=grid;

while(n>=0) {

cols=(int)(Math.random()6+1);

rows=(int)(Math.random()5+1);

while(grid[cols][rows]!=0) {

cols=(int)(Math.random()6+1);

rows=(int)(Math.random()5+1);

}this.grid[cols][rows]=se[n];

n--;

}mainFrame.setVisible(false);

pressInformation=false; //这里一定要将按钮点击信息归为初始

init();

for(int i = 0;i < 6;i++){

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

if(grid[i+1][j+1]==0)

diamondsButton[i][j].setVisible(false);

}}

}public void estimateEven(int placeX,int placeY,JButton bz) {

if(pressInformation==false) {

x=placeX;

y=placeY;

secondMsg=grid[x][y];

secondButton=bz;

pressInformation=true;

}else {

x0=x;

y0=y;

fristMsg=secondMsg;

firstButton=secondButton;

x=placeX;

y=placeY;

secondMsg=grid[x][y];

secondButton=bz;

if(fristMsg==secondMsg && secondButton!=firstButton){

xiao();

}}

}public void xiao() { //相同的情况下能不能消去。仔细分析,不一条条注释

if((x0==x &&(y0==y+1||y0==y-1)) || ((x0==x+1||x0==x-1)&&(y0==y))){ //判断是否相邻

remove();

}else{

for (j=0;j<7;j++ ) {

if (grid[x0][j]==0){ //判断个按钮同行哪个按钮为空

if (y>j) { //如果第二个按钮的Y坐标大于空按钮的Y坐标说明按钮在第二按钮左边

for (i=y-1;i>=j;i-- ){ //判断第二按钮左侧直到按钮中间有没有按钮

if (grid[x][i]!=0) {

k=0;

break;

}else{ k=1; } //K=1说明通过了次验证

}if (k==1) {

linePassOne();

}}

if (y

for (i=y+1;i<=j ;i++ ){ //判断第二按钮左侧直到按钮中间有没有按钮

if (grid[x][i]!=0){

k=0;

break;

}else { k=1; }

}if (k==1){

linePassOne();

}}

if (y==j ) {

linePassOne();

}}

if (k==2) {

if (x0==x) {

remove();

}if (x0

for (n=x0;n<=x-1;n++ ) {

if (grid[n][j]!=0) {

k=0;

break;

}if(grid[n][j]==0 && n==x-1) {

remove();

}}

}if (x0>x) {

for (n=x0;n>=x+1 ;n-- ) {

if (grid[n][j]!=0) {

k=0;

break;

}if(grid[n][j]==0 && n==x+1) {

remove();

}}

}}

}for (i=0;i<8;i++ ) { //列

if (grid[i][y0]==0) {

if (x>i) {

for (j=x-1;j>=i ;j-- ) {

if (grid[j][y]!=0) {

k=0;

break;

}else { k=1; }

}if (k==1) {

rowPassOne();

}}

if (x

for (j=x+1;j<=i;j++ ) {

if (grid[j][y]!=0) {

k=0;

break;

}else { k=1; }

}if (k==1) {

rowPassOne();

}}

if (x==i) {

rowPassOne();

}}

if (k==2){

if (y0==y) {

remove();

}if (y0

for (n=y0;n<=y-1 ;n++ ) {

if (grid[i][n]!=0) {

k=0;

break;

}if(grid[i][n]==0 && n==y-1) {

remove();

}}

}if (y0>y) {

for (n=y0;n>=y+1 ;n--) {

if (grid[i][n]!=0) {

k=0;

break;

}if(grid[i][n]==0 && n==y+1) {

remove();

}}

}}

}}

}public void linePassOne(){

if (y0>j){ //按钮同行空按钮在左边

for (i=y0-1;i>=j ;i-- ){ //判断按钮同左侧空按钮之间有没按钮

if (grid[x0][i]!=0) {

k=0;

break;

}else { k=2; } //K=2说明通过了第二次验证

}}

if (y0

for (i=y0+1;i<=j ;i++){

if (grid[x0][i]!=0) {

k=0;

break;

}else{ k=2; }

}}

}public void rowPassOne(){

if (x0>i) {

for (j=x0-1;j>=i ;j-- ) {

if (grid[j][y0]!=0) {

k=0;

break;

}else { k=2; }

}}

if (x0

for (j=x0+1;j<=i ;j++ ) {

if (grid[j][y0]!=0) {

k=0;

break;

}else { k=2; }

}}

}public void remove(){

firstButton.setVisible(false);

secondButton.setVisible(false);

fraction();

pressInformation=false;

k=0;

grid[x0][y0]=0;

grid[x][y]=0;

}public void actionPerformed(ActionEvent e) {

if(e.getSource()==newlyButton){

int grid[][] = new int[8][7];

this.grid = grid;

randomBuild();

mainFrame.setVisible(false);

pressInformation=false;

init();

}if(e.getSource()==exitButton)

System.exit(0);

if(e.getSource()==resetButton)

reload();

for(int cols = 0;cols < 6;cols++){

for(int rows = 0;rows < 5;rows++ ){

if(e.getSource()==diamondsButton[cols][rows])

estimateEven(cols+1,rows+1,diamondsButton[cols][rows]);

}}

}public static void main(String[] args) {

lianliankan llk = new lianliankan();

llk.randomBuild();

llk.init();

}}

//old 998 lines

//new 318 lines

停留在HelloWorld的水平

这个就比较难了 你还是你弄弄数组或者list各种排序问题,比较一下效率(可以数据量大点)或者比如 输入两数字 比较大小 然后计算两数字之间的偶数和之类的吧

版权声明:本文内容由互联。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发 836084111@qq.com 邮箱删除。