小程序开发代码和结果(小程序示例代码)

小程序开发 2485
本篇文章给大家谈谈小程序开发代码和结果,以及小程序示例代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 求C语言小程序源代码,300行左右 黑白棋游戏#include "graphics.h" /*图形系统头文件*/#define LEFT 0x4b00 /*光标左键值*/#define RIGHT 0x4d00 /*光标右键值*/#define DOWN 0x5000 /*光标下键值*/

本篇文章给大家谈谈小程序开发代码和结果,以及小程序示例代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

求C语言小程序源代码,300行左右

黑白棋游戏

#include "graphics.h" /*图形系统头文件*/

#define LEFT 0x4b00 /*光标左键值*/

#define RIGHT 0x4d00 /*光标右键值*/

#define DOWN 0x5000 /*光标下键值*/

#define UP 0x4800 /*光标上键值*/

#define ESC 0x011b /* ESC键值*/

#define ENTER 0x1c0d /* 回车键值*/

int a[8][8]={0},key,score1,score2;/*具体分数以及按键与存放棋子的变量*/

char playone[3],playtwo[3];/*两个人的得分转换成字符串输出*/

void playtoplay(void);/*人人对战函数*/

void DrawQp(void);/*画棋盘函数*/

void SetPlayColor(int x);/*设置棋子第一次的颜色*/

void MoveColor(int x,int y);/*恢复原来棋盘状态*/

int QpChange(int x,int y,int z);/*判断棋盘的变化*/

void DoScore(void);/*处理分数*/

void PrintScore(int n);/*输出成绩*/

void playWin(void);/*输出胜利者信息*/

/******主函数*********/

void main(void)

{

int gd=DETECT,gr;

initgraph(gd,gr,"c:\\tc"); /*初始化图形系统*/

DrawQp();/*画棋盘*/

playtoplay();/*人人对战*/

getch();

closegraph();/*关闭图形系统*/

}

void DrawQp()/*画棋盘*/

{

int i,j;

score1=score2=0;/*棋手一开始得分都为0*/

setbkcolor(BLUE);

for(i=100;i=420;i+=40)

{

line(100,i,420,i);/*画水平线*/

line(i,100,i,420); /*画垂直线*/

}

setcolor(0);/*取消圆周围的一圈东西*/

setfillstyle(SOLID_FILL,15);/*白色实体填充模式*/

fillellipse(500,200,15,15); /*在显示得分的位置画棋*/

setfillstyle(SOLID_FILL,8); /*黑色实体填充模式*/

fillellipse(500,300,15,15);

a[3][3]=a[4][4]=1;/*初始两个黑棋*/

a[3][4]=a[4][3]=2;/*初始两个白棋*/

setfillstyle(SOLID_FILL,WHITE);

fillellipse(120+3*40,120+3*40,15,15);

fillellipse(120+4*40,120+4*40,15,15);

setfillstyle(SOLID_FILL,8);

fillellipse(120+3*40,120+4*40,15,15);

fillellipse(120+4*40,120+3*40,15,15);

score1=score2=2; /*有棋后改变分数*/

DoScore();/*输出开始分数*/

}

void playtoplay()/*人人对战*/

{

int x,y,t=1,i,j,cc=0;

while(1)/*换棋手走棋*/

{

x=120,y=80;/*每次棋子一开始出来的坐标,x为行坐标,y为列坐标*/

while(1) /*具体一个棋手走棋的过程*/

{

PrintScore(1);/*输出棋手1的成绩*/

PrintScore(2);/*输出棋手2的成绩*/

SetPlayColor(t);/*t变量是用来判断棋手所执棋子的颜色*/

fillellipse(x,y,15,15);

key=bioskey(0);/*接收按键*/

if(key==ESC)/*跳出游戏*/

break;

else

if(key==ENTER)/*如果按键确定就可以跳出循环*/

{

if(y!=80a[(x-120)/40][(y-120)/40]!=1

a[(x-120)/40][(y-120)/40]!=2)/*如果落子位置没有棋子*/

{

if(t%2==1)/*如果是棋手1移动*/

a[(x-120)/40][(y-120)/40]=1;

else/*否则棋手2移动*/

a[(x-120)/40][(y-120)/40]=2;

if(!QpChange(x,y,t))/*落子后判断棋盘的变化*/

{

a[(x-120)/40][(y-120)/40]=0;/*恢复空格状态*/

cc++;/*开始统计尝试次数*/

if(cc=64-score1-score2) /*如果尝试超过空格数则停步*/

{

MoveColor(x,y);

fillellipse(x,y,15,15);

break;

}

else

continue;/*如果按键无效*/

}

DoScore();/*分数的改变*/

break;/*棋盘变化了,则轮对方走棋*/

}

else/*已经有棋子就继续按键*/

continue;

}

else /*四个方向按键的判断*/

if(key==LEFTx120)/*左方向键*/

{

MoveColor(x,y);

fillellipse(x,y,15,15);

SetPlayColor(t);

x-=40;

fillellipse(x,y,15,15);

}

else

if(key==RIGHTx400y80)/*右方向键*/

{

MoveColor(x,y);

fillellipse(x,y,15,15);

SetPlayColor(t);

x+=40;

fillellipse(x,y,15,15);

}

else

if(key==UPy120)/*上方向键*/

{

MoveColor(x,y);

fillellipse(x,y,15,15);

SetPlayColor(t);

y-=40;

fillellipse(x,y,15,15);

}

else

if(key==DOWNy400)/*下方向键*/

{

MoveColor(x,y);

fillellipse(x,y,15,15);

SetPlayColor(t);

y+=40;

fillellipse(x,y,15,15);

}

}

if(key==ESC)/*结束游戏*/

break;

if((score1+score2)==64||score1==0||score2==0)/*格子已经占满或一方棋子为0判断胜负*/

{

playWin();/*输出最后结果*/

break;

}

t=t%2+1; /*一方走后,改变棋子颜色即轮对方走*/

cc=0; /*计数值恢复为0*/

} /*endwhile*/

}

void SetPlayColor(int t)/*设置棋子颜色*/

{

if(t%2==1)

setfillstyle(SOLID_FILL,15);/*白色*/

else

setfillstyle(SOLID_FILL,8);/*灰色*/

}

void MoveColor(int x,int y)/*走了一步后恢复原来格子的状态*/

{

if(y100)/*如果是从起点出发就恢复蓝色*/

setfillstyle(SOLID_FILL,BLUE);

else/*其他情况如果是1就恢复白色棋子,2恢复黑色棋子,或恢复蓝色棋盘*/

switch(a[(x-120)/40][(y-120)/40])

{

case 1:

setfillstyle(SOLID_FILL,15);break; /*白色*/

case 2:

setfillstyle(SOLID_FILL,8);break; /*黑色*/

default:

setfillstyle(SOLID_FILL,BLUE); /*蓝色*/

}

}

int QpChange(int x,int y,int t)/*判断棋盘的变化*/

{

int i,j,k,kk,ii,jj,yes;

yes=0;

i=(x-120)/40; /*计算数组元素的行下标*/

j=(y-120)/40; /*计算数组元素的列下标*/

SetPlayColor(t);/*设置棋子变化的颜色*/

/*开始往8个方向判断变化*/

if(j6)/*往右边*/

{

for(k=j+1;k8;k++)

if(a[i][k]==a[i][j]||a[i][k]==0)/*遇到自己的棋子或空格结束*/

break;

if(a[i][k]!=0k8)

{

for(kk=j+1;kkkk8;kk++)/*判断右边*/

{

a[i][kk]=a[i][j]; /*改变棋子颜色*/

fillellipse(120+i*40,120+kk*40,15,15);

}

if(kk!=j+1) /*条件成立则有棋子改变过颜色*/

yes=1;

}

}

if(j1)/*判断左边*/

{

for(k=j-1;k=0;k--)

if(a[i][k]==a[i][j]||!a[i][k])

break;

if(a[i][k]!=0k=0)

{

for(kk=j-1;kkkk=0;kk--)

{

a[i][kk]=a[i][j];

fillellipse(120+i*40,120+kk*40,15,15);

}

if(kk!=j-1)

yes=1;

}

}

if(i6)/*判断下边*/

{

for(k=i+1;k8;k++)

if(a[k][j]==a[i][j]||!a[k][j])

break;

if(a[k][j]!=0k8)

{

for(kk=i+1;kkkk8;kk++)

{

a[kk][j]=a[i][j];

fillellipse(120+kk*40,120+j*40,15,15);

}

if(kk!=i+1)

yes=1;

}

}

if(i1)/*判断上边*/

{

for(k=i-1;k=0;k--)

if(a[k][j]==a[i][j]||!a[k][j])

break;

if(a[k][j]!=0k=0)

{

for(kk=i-1;kkkk=0;kk--)

{

a[kk][j]=a[i][j];

fillellipse(120+kk*40,120+j*40,15,15);

}

if(kk!=i-1)

yes=1;

}

}

if(i1j6)/*右上*/

{

for(k=i-1,kk=j+1;k=0kk8;k--,kk++)

if(a[k][kk]==a[i][j]||!a[k][kk])

break;

if(a[k][kk]k=0kk8)

{

for(ii=i-1,jj=j+1;iikk=0;ii--,jj++)

{

a[ii][jj]=a[i][j];

fillellipse(120+ii*40,120+jj*40,15,15);

}

if(ii!=i-1)

yes=1;

}

}

if(i6j1)/*左下*/

{

for(k=i+1,kk=j-1;k8kk=0;k++,kk--)

if(a[k][kk]==a[i][j]||!a[k][kk])

break;

if(a[k][kk]!=0k8kk=0)

{

for(ii=i+1,jj=j-1;iikk8;ii++,jj--)

{

a[ii][jj]=a[i][j];

fillellipse(120+ii*40,120+jj*40,15,15);

}

if(ii!=i+1)

yes=1;

}

}

if(i1j1)/*左上*/

{

for(k=i-1,kk=j-1;k=0kk=0;k--,kk--)

if(a[k][kk]==a[i][j]||!a[k][kk])

break;

if(a[k][kk]!=0k=0kk=0)

{

for(ii=i-1,jj=j-1;iikk=0;ii--,jj--)

{

a[ii][jj]=a[i][j];

fillellipse(120+ii*40,120+jj*40,15,15);

}

if(ii!=i-1)

yes=1;

}

}

if(i6j6)/* 右下*/

{

for(k=i+1,kk=j+1;kk8kk8;k++,kk++)

if(a[k][kk]==a[i][j]||!a[k][kk])

break;

if(a[k][kk]!=0kk8k8)

{

for(ii=i+1,jj=j+1;iikk8;ii++,jj++)

{

a[ii][jj]=a[i][j];

fillellipse(120+ii*40,120+jj*40,15,15);

}

if(ii!=i+1)

yes=1;

}

}

return yes;/*返回是否改变过棋子颜色的标记*/

}

void DoScore()/*处理分数*/

{

int i,j;

score1=score2=0;/*重新开始计分数*/

for(i=0;i8;i++)

for(j=0;j8;j++)

if(a[i][j]==1)/*分别统计两个人的分数*/

score1++;

else

if(a[i][j]==2)

score2++;

}

void PrintScore(int playnum)/*输出成绩*/

{

if(playnum==1)/*清除以前的成绩*/

{

setfillstyle(SOLID_FILL,BLUE);

bar(550,100,640,400);

}

setcolor(RED);

settextstyle(0,0,4);/*设置文本输出样式*/

if(playnum==1)/*判断输出哪个棋手的分,在不同的位置输出*/

{

sprintf(playone,"%d",score1);

outtextxy(550,200,playone);

}

else

{

sprintf(playtwo,"%d",score2);

outtextxy(550,300,playtwo);

}

setcolor(0);

}

void playWin()/*输出最后的胜利者结果*/

{

settextstyle(0,0,4);

setcolor(12);

if(score2score1)/*开始判断最后的结果*/

outtextxy(100,50,"black win!");

else

if(score2score1)

outtextxy(100,50,"white win!");

else

outtextxy(60,50,"you all win!");

}

五子棋游戏

/*五子棋*/

#includestdio.h

#includestdlib.h

#includegraphics.h

#includebios.h

#includeconio.h

#define LEFT 0x4b00

#define RIGHT 0x4d00

#define DOWN 0x5000

#define UP 0x4800

#define ESC 0x011b

#define SPACE 0x3920

#define BILI 20

#define JZ 4

#define JS 3

#define N 19

int box[N][N];

int step_x,step_y ;

int key ;

int flag=1 ;

void draw_box();

void draw_cicle(int x,int y,int color);

void change();

void judgewho(int x,int y);

void judgekey();

int judgeresult(int x,int y);

void attentoin();

void attention()

{

char ch ;

window(1,1,80,25);

textbackground(LIGHTBLUE);

textcolor(YELLOW);

clrscr();

gotoxy(15,2);

printf("游戏操作规则:");

gotoxy(15,4);

printf("Play Rules:");

gotoxy(15,6);

printf("1、按左右上下方向键移动棋子");

gotoxy(15,8);

printf("1. Press Left,Right,Up,Down Key to move Piece");

gotoxy(15,10);

printf("2、按空格确定落棋子");

gotoxy(15,12);

printf("2. Press Space to place the Piece");

gotoxy(15,14);

printf("3、禁止在棋盘外按空格");

gotoxy(15,16);

printf("3. DO NOT press Space outside of the chessboard");

gotoxy(15,18);

printf("你是否接受上述的游戏规则(Y/N)");

gotoxy(15,20);

printf("Do you accept the above Playing Rules? [Y/N]:");

while(1)

{

gotoxy(60,20);

ch=getche();

if(ch=='Y'||ch=='y')

break ;

else if(ch=='N'||ch=='n')

{

window(1,1,80,25);

textbackground(BLACK);

textcolor(LIGHTGRAY);

clrscr();

exit(0);

}

gotoxy(51,12);

printf(" ");

}

}

void draw_box()

{

int x1,x2,y1,y2 ;

setbkcolor(LIGHTBLUE);

setcolor(YELLOW);

gotoxy(7,2);

printf("Left, Right, Up, Down KEY to move, Space to put, ESC-quit.");

for(x1=1,y1=1,y2=18;x1=18;x1++)

line((x1+JZ)*BILI,(y1+JS)*BILI,(x1+JZ)*BILI,(y2+JS)*BILI);

for(x1=1,y1=1,x2=18;y1=18;y1++)

line((x1+JZ)*BILI,(y1+JS)*BILI,(x2+JZ)*BILI,(y1+JS)*BILI);

for(x1=1;x1=18;x1++)

for(y1=1;y1=18;y1++)

box[x1][y1]=0 ;

}

void draw_circle(int x,int y,int color)

{

setcolor(color);

setlinestyle(SOLID_LINE,0,1);

x=(x+JZ)*BILI ;

y=(y+JS)*BILI ;

circle(x,y,8);

}

void judgekey()

{

int i ;

int j ;

switch(key)

{

case LEFT :

if(step_x-10)

break ;

else

{

for(i=step_x-1,j=step_y;i=1;i--)

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

{

draw_circle(step_x,step_y,LIGHTBLUE);

break ;

}

if(i1)break ;

step_x=i ;

judgewho(step_x,step_y);

break ;

}

case RIGHT :

if(step_x+118)

break ;

else

{

for(i=step_x+1,j=step_y;i=18;i++)

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

{

draw_circle(step_x,step_y,LIGHTBLUE);

break ;

}

if(i18)break ;

step_x=i ;

judgewho(step_x,step_y);

break ;

}

case DOWN :

if((step_y+1)18)

break ;

else

{

for(i=step_x,j=step_y+1;j=18;j++)

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

{

draw_circle(step_x,step_y,LIGHTBLUE);

break ;

}

if(j18)break ;

step_y=j ;

judgewho(step_x,step_y);

break ;

}

case UP :

if((step_y-1)0)

break ;

else

{

for(i=step_x,j=step_y-1;j=1;j--)

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

{

draw_circle(step_x,step_y,LIGHTBLUE);

break ;

}

if(j1)break ;

step_y=j ;

judgewho(step_x,step_y);

break ;

}

case ESC :

break ;

case SPACE :

if(step_x=1step_x=18step_y=1step_y=18)

{

if(box[step_x][step_y]==0)

{

box[step_x][step_y]=flag ;

if(judgeresult(step_x,step_y)==1)

{

sound(1000);

delay(1000);

nosound();

gotoxy(30,4);

if(flag==1)

{

setbkcolor(BLUE);

cleardevice();

setviewport(100,100,540,380,1);

/*定义一个图形窗口*/

setfillstyle(1,2);

/*绿色以实填充*/

setcolor(YELLOW);

rectangle(0,0,439,279);

floodfill(50,50,14);

setcolor(12);

settextstyle(1,0,5);

/*三重笔划字体, 水平放?5倍*/

outtextxy(20,20,"The White Win !");

setcolor(15);

settextstyle(3,0,5);

/*无衬笔划字体, 水平放大5倍*/

outtextxy(120,120,"The White Win !");

setcolor(14);

settextstyle(2,0,8);

getch();

closegraph();

exit(0);

}

if(flag==2)

{

setbkcolor(BLUE);

cleardevice();

setviewport(100,100,540,380,1);

/*定义一个图形窗口*/

setfillstyle(1,2);

/*绿色以实填充*/

setcolor(YELLOW);

rectangle(0,0,439,279);

floodfill(50,50,14);

setcolor(12);

settextstyle(1,0,8);

/*三重笔划字体, 水平放大8倍*/

outtextxy(20,20,"The Red Win !");

setcolor(15);

settextstyle(3,0,5);

/*无衬笔划字体, 水平放大5倍*/

outtextxy(120,120,"The Red Win !");

setcolor(14);

settextstyle(2,0,8);

getch();

closegraph();

exit(0);

}

}

change();

break ;

}

}

else

break ;

}

}

void change()

{

if(flag==1)

flag=2 ;

else

flag=1 ;

}

void judgewho(int x,int y)

{

if(flag==1)

draw_circle(x,y,15);

if(flag==2)

draw_circle(x,y,4);

}

int judgeresult(int x,int y)

{

int j,k,n1,n2 ;

while(1)

{

n1=0 ;

n2=0 ;

/*水平向左数*/

for(j=x,k=y;j=1;j--)

{

if(box[j][k]==flag)

n1++;

else

break ;

}

/*水平向右数*/

for(j=x,k=y;j=18;j++)

{

if(box[j][k]==flag)

n2++;

else

break ;

}

if(n1+n2-1=5)

{

return(1);

break ;

}

/*垂直向上数*/

n1=0 ;

n2=0 ;

for(j=x,k=y;k=1;k--)

{

if(box[j][k]==flag)

n1++;

else

break ;

}

/*垂直向下数*/

for(j=x,k=y;k=18;k++)

{

if(box[j][k]==flag)

n2++;

else

break ;

}

if(n1+n2-1=5)

{

return(1);

break ;

}

/*向左上方数*/

n1=0 ;

n2=0 ;

for(j=x,k=y;j=1,k=1;j--,k--)

{

if(box[j][k]==flag)

n1++;

else

break ;

}

/*向右下方数*/

for(j=x,k=y;j=18,k=18;j++,k++)

{

if(box[j][k]==flag)

n2++;

else

break ;

}

if(n1+n2-1=5)

{

return(1);

break ;

}

/*向右上方数*/

n1=0 ;

n2=0 ;

for(j=x,k=y;j=18,k=1;j++,k--)

{

if(box[j][k]==flag)

n1++;

else

break ;

}

/*向左下方数*/

for(j=x,k=y;j=1,k=18;j--,k++)

{

if(box[j][k]==flag)

n2++;

else

break ;

}

if(n1+n2-1=5)

{

return(1);

break ;

}

return(0);

break ;

}

}

void main()

{

int gdriver=VGA,gmode=VGAHI;

clrscr();

attention();

initgraph(gdriver,gmode,"c:\\tc");

/* setwritemode(XOR_PUT);*/

flag=1 ;

draw_box();

do

{

step_x=0 ;

step_y=0 ;

/*draw_circle(step_x,step_y,8); */

judgewho(step_x-1,step_y-1);

do

{

while(bioskey(1)==0);

key=bioskey(0);

judgekey();

}

while(key!=SPACEkey!=ESC);

}

while(key!=ESC);

closegraph();

}

一个C语言小程序,源代码和输出结果如下。遇到了printf输出问题。程序没有按照顺序输出我预定的第二句话。

问题在于那句scanf("%d\n",n);

应该是scanf("%d",n);

不要\n

\n在scanf中不表示等待换行符,而是读取并放弃连续的空白字符

可参考以下文章

微信小程序怎么做?

通过微信公众平台能处理,情况基本如下:

1、直接在相关窗口那里,找到立即注册并点击进入。

2、这个时候,需要选择服务号跳转。

3、下一步,继续点击右侧的添加按钮。

4、如果没问题,就确认服务类目和上传文件。

5、通过填写相关的信息,选择确认注册。

6、点击新增商品,从而实现对应的管理。

7、修改其中的参数,以便选择绑定小程序。

8、等完成上述操作以后,确认提交版本。

9、这样一来会发现图示的结果,即可实现做法了。

求java经典小程序代码

代码如下:

public class HelloWorld {

  public static void main(String []args) {

int a = 3, b = 7 ;

         System.out.println("Hello World!");

  }

public static int f(int a, int b){

     return a*a + a*b + b*b;

}

}

结果如下:

关于小程序开发代码和结果和小程序示例代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

扫码二维码