日本有码中文字幕视频,在线能看三级网站,日本妇乱子伦视频免费的,中文字幕一页在线

      一些簡單的編程代碼(一些簡單的編程代碼)

      時(shí)間:2022-09-22 14:15:54來源:
      導(dǎo)讀您好,現(xiàn)在冰冰來為大家解答以上的問題。一些簡單的編程代碼,一些簡單的編程代碼相信很多小伙伴還不知道,現(xiàn)在讓我們一起來看看吧!1、小游...

      您好,現(xiàn)在冰冰來為大家解答以上的問題。一些簡單的編程代碼,一些簡單的編程代碼相信很多小伙伴還不知道,現(xiàn)在讓我們一起來看看吧!

      1、小游戲2048源碼:#include#include#include#include#includeint ?jsk( ); ??//計(jì)算空格數(shù)void rsgm( ); ?//重置游戲void inkey( );? //按鍵輸入void left( ); ??//向左移動(dòng)void right( ); ?//向右移動(dòng)void up( );? //向上移動(dòng)void down( );? //向下移動(dòng)void show( ); ??//輸出界面void adnum( ); //添加隨機(jī)數(shù)void yes( );? ?//游戲是否結(jié)束(1是0否)void gtxy(int x, int y); //控制光標(biāo)位置的函數(shù)int a[4][4];? ?//存儲(chǔ)16個(gè)格子中的數(shù)字int score = 0;? //每局得分int best = 0;? //最高得分int ifnum;? //是否需要添加數(shù)字(1是0否)int over; ??//游戲結(jié)束標(biāo)志(1是0否)int i,j,k;int main( ){ rsgm( ); ?//重置游戲?inkey( ); ?//按鍵輸入?return 0;}void setColor(unsigned short ForeColor = 7, unsigned short BackGroundColor = 0){ HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(handle, ForeColor + BackGroundColor * 0x10);}? //用于控制字符顏色的函數(shù)void rsgm( )? //重置游戲{ score = 0; ifnum = 1; over = 0; srand((unsigned)time(0)); //啟動(dòng)隨機(jī)數(shù)發(fā)生器?int n = rand( ) % 16;? //隨機(jī)函數(shù)產(chǎn)生0-15的數(shù)字?for (i = 0; i < 4; i++)?{for (j = 0; j < 4; j++)? ? { if (n == 0) { int k = rand( ) % 3; if (k == 0 || k == 1) { a[i][j] = 2; }????????????? ?????????? else { a[i][j] = 4; } n--; }? ? ? else { a[i][j] = 0; n--; }?? }?}?adnum( );?system("cls");?CONSOLE_CURSOR_INFO cursor_info={1,0};? //以下兩行是隱藏光標(biāo)的設(shè)置SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);setColor(14, 0);? //設(shè)置字體淡紅色。

      2、背景為黑色printf("? 2048小游戲"); setColor(7, 0);? //恢復(fù)白字黑底printf("┌──────┬──────┬──────┬──────┐");printf("│????? │????? │????? │????? │");printf("├──────┼──────┼──────┼──────┤");printf("│????? │????? │????? │????? │");printf("├──────┼──────┼──────┼──────┤");printf("│????? │????? │????? │????? │");printf("├──────┼──────┼──────┼──────┤");printf("│????? │????? │????? │????? │");printf("└──────┴──────┴──────┴──────┘");?show( );}void show( )? //輸出界面{ for(i=0;i<4;i++)? ? for(j=0;j<4;j++)? ? ?? { gtxy(7*j+9,2*i+4); ? //gtxy(7*j+9, 2*i+4)是光標(biāo)到指定位置輸出數(shù)字? ? ? ?? if(a[i][j]==0){printf("?????"); setColor(7, 0); printf("│");}? ? ? ?? else if(a[i][j]<10){ if (a[i][j] == 2) {setColor(14, 0); }? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? else if (a[i][j] == 4) {setColor(13, 0); }? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? else if (a[i][j] == 8) {setColor(12, 0); }? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("??%d?", a[i][j]); setColor(7, 0); printf("│");? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }? ? ? ? else if (a[i][j] < 100){if (a[i][j] == 16) {setColor(12, 0); }? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else if (a[i][j] == 32) {setColor(10, 0); }? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? else if (a[i][j] == 64) {setColor(2, 0); }? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("? %d?", a[i][j]); setColor(7, 0); printf("│");? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }? ? ? else if (a[i][j] < 1000) {if (a[i][j] == 128) {setColor(9, 0); }? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? else if (a[i][j] == 256) {setColor(1, 0); }? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? else if (a[i][j] == 512) {setColor(13, 0); }? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? printf("? %d", a[i][j]); setColor(7, 0); printf("│");? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? }? ? ?? else if (a[i][j] < 10000) {if (a[i][j] == 1024) {setColor(5, 0); }? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? else {setColor(15, 0); }? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("%d", a[i][j]); setColor(7, 0); printf("│");? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }? ? ? }? ?? if (jsk( ) == 0)? ? ? ? ? { yes( ); if (over) { gtxy(9,12); setColor(10, 0);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("? 游戲結(jié)束!是否繼續(xù)? [ Y/N ]:"); }?? }}void inkey( ) ? //按鍵輸入{ int key;?while (1)? ?? { key = getch( );? ? ?? if (over) { if (key == 89|| key == 121) {rsgm( ); continue; }? ? ? ? ? ? ? ? ? ? ?? else ?if (key == 78|| key == 110) { return; }? ? ? ? ? ? ? ? ? ? ?? else ?continue; }? ? ?? ifnum = 0;? ? ?? if(key==224)key=getch( );? ? ?? switch (key)? ? ? ? ? ?? { case 75: left( ); break;????????????? ?case 77: right( ); break;????????????? ?case 72: up( ); break;????????????? ?case 80: down( );break;????????????? }? ? ? ? if (score > best) { best = score; }? ? ? ? if (ifnum) { adnum( ); show( ); }? ? ? }}int jsk( ) ? //計(jì)算空格數(shù){ int n = 0;?for (i = 0; i < 4; i++)? ? { for (j = 0; j < 4; j++) { if ( a[i][j] == 0) {n++;} }? }? ? ? return n;}void left( ) ? //向左移動(dòng){ for (i = 0; i < 4; i++)? ?? {for (j = 1, k = 0; j < 4; j++)? ? ? ? { if (a[i][j] > 0)? ? ? ? ? ? { if ( a[i][k] == a[i][j])? ? ? ? ? ? ? ?? { a[i][k] *= 2;? k++;? ? ? ? ? ? ? ? ?? score = score + 2 * a[i][j];? ? ? ? ? ? ? ? ?? a[i][j] = 0; ?ifnum = 1; }? ? ? ? ? ? ?? else if ( a[i][k] == 0) { a[i][k] = a[i][j]; a[i][j] = 0; ifnum = 1; }? ? ? ? ? ? ?? else { a[i][k + 1] = a[i][j]; if ((k + 1) != j) { a[i][j] = 0; ifnum = 1; }? ? ? ? ? ? ?? k++; }? ? ? ? ?? }? ? ? ? }? ?? }}void right( ) ? //向右移動(dòng){for (i = 0; i < 4; i++)?? {for (j = 2, k = 3; j >= 0; j--)? ? ?? {if (a[i][j] > 0)? ? ? ? ?? { if (a[i][k] == a[i][j])? ? ? ? ? ? ? ? {a[i][k] *= 2; k--; score = score + 2 * a[i][j]; a[i][j] = 0; ifnum = 1; }? ? ? ? ? ? else if ( a[i][k] == 0) {a[i][k] = a[i][j]; a[i][j] = 0; ifnum = 1; }? ? ? ? ? ? else { a[i][k - 1] = a[i][j]; if ((k - 1) != j) { a[i][j] = 0; ifnum = 1; } k--; }?????? ?? }? ? ? }? }}void up( ) ? //向上移動(dòng){for (i = 0; i < 4; i++)?? {for (j = 1, k = 0; j < 4; j++)? ? ? {if (a[j][i] > 0)? ? ? ? ?? {if ( a[k][i] == a[j][i]) { a[k][i] *= 2; k++;score = score + 2 * a[j][i];? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? a[j][i] = 0; ifnum = 1; }? ? ? ? ? ? else if ( a[k][i] == 0) { a[k][i] = a[j][i]; a[j][i] = 0; ifnum = 1; }? ? ? ? ? ? else { a[k + 1][i] = a[j][i]; if ((k + 1) != j) { a[j][i] = 0; ifnum = 1; }? ? ? ? ? ? k++; }? ? ? ? ? }? ? ? }?? }}void down( ) ? //向下移動(dòng){ for (i = 0; i < 4; i++)?? {for (j = 2, k = 3; j >= 0; j--)? ? ?? {if (a[j][i] > 0)? ? ? ? ?? {if (a[k][i] == a[j][i])? ? ? ? ? ? ? ?? {a[k][i] *= 2; k--;score = score + 2 * a[j][i]; a[j][i] = 0; ifnum = 1; }? ? ? ? ? ? else if (a[k][i] == 0) {a[k][i] = a[j][i]; a[j][i] = 0; ifnum = 1; }? ? ? ? ? ? else {a[k - 1][i] = a[j][i];? ? ? ? ? ? if ((k - 1) != j) {a[j][i] = 0; ifnum = 1; } k--; }? ? ? ? ?? }? ? ?? }?? }}void adnum( ) ? //添加隨機(jī)數(shù){ srand(time(0)); ? //啟動(dòng)隨機(jī)數(shù)發(fā)生器? int n = rand( ) % jsk( );?for (int i = 0; i < 4; i++)?? {for (int j = 0; j < 4; j++)? ? ? ? { if (a[i][j] == 0) { if (n != 0) { n--; }? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else {int k = rand() % 3;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? if (k == 0 || k == 1) {a[i][j] = 2; return; }? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? else {a[i][j] = 4; return; } }? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? }?????? ?}? }}void yes( ) ? //游戲是否結(jié)束{ for (int i = 0; i < 4; i++)?? {for (int j = 0; j < 3; j++)? ? ? ?? {if (a[i][j] == a[i][j + 1] || a[j][i] == a[j + 1][i]) {over = 0; return; }}?? }?over = 1;}void gtxy(int x, int y) ? //控制光標(biāo)位置的函數(shù){ COORD coord;? coord.X = x;? coord.Y = y;? SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);}。

      本文就為大家分享到這里,希望小伙伴們會(huì)喜歡。

      標(biāo)簽:
      最新文章