移動c語言代碼,編程移動代碼

本文目錄一覽:

C語言中怎麼用鍵盤控制界面的物體移動?

這裡有個用C語言控制屏幕上小飛機運動的代碼,供參考:\x0d\x0a#include\x0d\x0a#include\x0d\x0a#include\x0d\x0a#include”stdio.h”\x0d\x0a#include \x0d\x0a#define N 35\x0d\x0aint scr[22][N]={0},pl=9,width=24,speed=3,density=30;\x0d\x0aint score=0,death=0;\x0d\x0avoid print(int a[][N])\x0d\x0a{\x0d\x0a system(“cls”);\x0d\x0a int i,j;\x0d\x0a for(i=0;i=0;i–)\x0d\x0a for(j=0;j”); \x0d\x0a switch(getchar())\x0d\x0a { \x0d\x0a case’1′:width=34;break;\x0d\x0a case’2′:width=24;;break; \x0d\x0a default:printf(“\n錯誤,請重新選擇…\n”); \x0d\x0a sw=1; \x0d\x0a }\x0d\x0a }while(sw);\x0d\x0a do\x0d\x0a { \x0d\x0a sw=0; \x0d\x0a printf(“\n請選擇敵機密度:1.大2.中3.小”); \x0d\x0a switch(getchar())\x0d\x0a { \x0d\x0a case’0′:density=10;break;\x0d\x0a case’1′:density=20;break;\x0d\x0a case’2′:density=30;break;\x0d\x0a case’3′:density=40;break; \x0d\x0a default:printf(“\n錯誤,請重新選擇…\n”); \x0d\x0a sw=1;\x0d\x0a } \x0d\x0a }while(sw);\x0d\x0a do\x0d\x0a { \x0d\x0a sw=0; \x0d\x0a printf(“\n敵機的飛行速度:1.快2.中3.慢”);\x0d\x0a switch(getchar())\x0d\x0a { \x0d\x0a case’1′:speed=2;break;\x0d\x0a case’2′:speed=3;break;\x0d\x0a case’3′:speed=4;break; \x0d\x0a default:printf(“\n錯誤,請重新選擇…\n”); \x0d\x0a sw=1;\x0d\x0a } \x0d\x0a }while(sw); \x0d\x0a for(i=0;i0)\x0d\x0a scr[21][pl]=0,scr[21][–pl]=1;break;\x0d\x0a case’d’:\x0d\x0a case’D’:if(pl

回答於 2022-12-11

用C語言編譯一個簡單的物體移動程序

#includereg52.h

sbit ADDR0 = P1^0;

sbit ADDR1 = P1^1;

sbit ADDR2 = P1^2;

sbit ADDR3 = P1^3;

sbit ENLED = P1^4;

unsigned char code LedChar[]={

0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,

0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E

};

unsigned char LedBuff[7]={

0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF

};

unsigned char code image[30][8]={

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}, //動畫幀1

{0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F}, //動畫幀2

{0xFF,0x3F,0x7F,0x7F,0x7F,0x7F,0x7F,0x3F}, //動畫幀3

{0xFF,0x1F,0x3F,0x3F,0x3F,0x3F,0x3F,0x1F}, //動畫幀4

{0xFF,0x0F,0x9F,0x9F,0x9F,0x9F,0x9F,0x0F}, //動畫幀5

{0xFF,0x87,0xCF,0xCF,0xCF,0xCF,0xCF,0x87}, //動畫幀6

{0xFF,0xC3,0xE7,0xE7,0xE7,0xE7,0xE7,0xC3}, //動畫幀7

{0xFF,0xE1,0x73,0x73,0x73,0xF3,0xF3,0xE1}, //動畫幀8

{0xFF,0x70,0x39,0x39,0x39,0x79,0xF9,0xF0}, //動畫幀9

{0xFF,0x38,0x1C,0x1C,0x1C,0x3C,0x7C,0xF8}, //動畫幀10

{0xFF,0x9C,0x0E,0x0E,0x0E,0x1E,0x3E,0x7C}, //動畫幀11

{0xFF,0xCE,0x07,0x07,0x07,0x0F,0x1F,0x3E}, //動畫幀12

{0xFF,0x67,0x03,0x03,0x03,0x07,0x0F,0x9F}, //動畫幀13

{0xFF,0x33,0x01,0x01,0x01,0x03,0x87,0xCF}, //動畫幀14

{0xFF,0x99,0x00,0x00,0x00,0x81,0xC3,0xE7}, //動畫幀15

{0xFF,0xCC,0x80,0x80,0x80,0xC0,0xE1,0xF3}, //動畫幀16

{0xFF,0xE6,0xC0,0xC0,0xC0,0xE0,0xF0,0xF9}, //動畫幀17

{0xFF,0x73,0x60,0x60,0x60,0x70,0x78,0xFC}, //動畫幀18

{0xFF,0x39,0x30,0x30,0x30,0x38,0x3C,0x7E}, //動畫幀19

{0xFF,0x9C,0x98,0x98,0x98,0x9C,0x1E,0x3F}, //動畫幀20

{0xFF,0xCE,0xCC,0xCC,0xCC,0xCE,0x0F,0x1F}, //動畫幀21

{0xFF,0x67,0x66,0x66,0x66,0x67,0x07,0x0F}, //動畫幀22

{0xFF,0x33,0x33,0x33,0x33,0x33,0x03,0x87}, //動畫幀23

{0xFF,0x99,0x99,0x99,0x99,0x99,0x81,0xC3}, //動畫幀24

{0xFF,0xCC,0xCC,0xCC,0xCC,0xCC,0xC0,0xE1}, //動畫幀25

{0xFF,0xE6,0xE6,0xE6,0xE6,0xE6,0xE0,0xF0}, //動畫幀26

{0xFF,0xF3,0xF3,0xF3,0xF3,0xF3,0xF0,0xF8}, //動畫幀27

{0xFF,0xF9,0xF9,0xF9,0xF9,0xF9,0xF8,0xFC}, //動畫幀28

{0xFF,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFE}, //動畫幀29

{0xFF,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF} //動畫幀30

};

unsigned char index=0;

void main()

{

unsigned int j = 0;

unsigned int cnt = 0;

unsigned long sec = 0;

unsigned char i = 0;

ENLED = 0;

ADDR3 = 1;

TMOD = 0x01;

TH0 = 0xFC;

TL0 = 0x67;

TR0 = 1;

while(1)

{

if(TF0 ==1)

{

TF0 = 0;

TH0 = 0xFC;

TL0 = 0x67;

cnt++;

sec=0x1e240;

switch(j)

{ case 0: LedBuff[0] = LedChar[sec%10];j++;break;

case 1:LedBuff[1] = LedChar[sec/10%10];j++;break;

case 2:LedBuff[2] = LedChar[sec/100%10];j++;break;

case 3:LedBuff[3] = LedChar[sec/1000%10];j++;break;

case 4:LedBuff[4] = LedChar[sec/10000%10];j++;break;

case 5:LedBuff[5] = LedChar[sec/100000%10] ;j=0;break;

default:break;

}

if(cnt1000)

{ i++;

cnt=0;

}

switch(i)

{

case 0: ADDR2=0; ADDR1=0; ADDR0=0; P0=LedBuff[0];break;

case 1: ADDR2=0; ADDR1=0; ADDR0=1; P0=LedBuff[1];break;

case 2: ADDR2=0; ADDR1=1; ADDR0=0; P0=LedBuff[2];break;

case 3: ADDR2=0; ADDR1=1; ADDR0=1; P0=LedBuff[3];break;

case 4: ADDR2=1; ADDR1=0; ADDR0=0; P0=LedBuff[4];break;

case 5: ADDR2=1; ADDR1=0; ADDR0=1; P0=LedBuff[5];break;

case 6: ADDR2=1; ADDR1=1; ADDR0=0; P0=0x01;break;

case 7: ADDR2=1; ADDR1=1; ADDR0=0; P0=0xFF;break;

default:break;

}

if(i8)

{

ADDR3=0;

EA=1;

ENLED=0;

TH0=0xFC;

TL0=0x67;

TR0=1;

ET0=1;

if(index=30)

{i=0;ADDR3=1;EA=0;ET0=0;index=0;}

}

}

}}

void InterruptTimer0() interrupt 1

{

static unsigned char k=0;

static unsigned char tmr=0;

TH0=0xFC;

TL0=0x67;

P0=0xFF;

switch(k)

{

case 0: ADDR2=0; ADDR1=0; ADDR0=0; k++; P0=image[index][0]; break;

case 1: ADDR2=0; ADDR1=0; ADDR0=1; k++; P0=image[index][1]; break;

case 2: ADDR2=0; ADDR1=1; ADDR0=0; k++; P0=image[index][2]; break;

case 3: ADDR2=0; ADDR1=1; ADDR0=1; k++; P0=image[index][3]; break;

case 4: ADDR2=1; ADDR1=0; ADDR0=0; k++; P0=image[index][4]; break;

case 5: ADDR2=1; ADDR1=0; ADDR0=1; k++; P0=image[index][5]; break;

case 6: ADDR2=1; ADDR1=1; ADDR0=0; k++; P0=image[index][6]; break;

case 7: ADDR2=1; ADDR1=1; ADDR0=1; k=0; P0=image[index][7]; break;

default: break;

}

tmr++;

if(tmr250)

{

tmr=0;

index++;

}

}

中國移動的單鏈表的c語言程序

#includestdio.h

#includestdlib.h

typedef struct LNode

{

char data;

LNode *next;

}* LNodePtr;

LNodePtr CreateList()

{

//初始化頭節點

LNodePtr head = (LNodePtr)malloc(sizeof(LNode));

head-data = 0;

head-next = NULL;

LNodePtr tNode;//臨時節點

char data;

while(true)

{

scanf(“%c”,data);

if(data == ‘\0’ || data == ‘\n’ || data == ‘\r’ || data == ‘\t’)

{

continue;

}

if(data == ‘!’)//輸入感嘆號停止插入節點

{

printf(“輸入鏈表元素結束。\n”);

break;

}

if(data = ‘A’ data = ‘Z’)

{

tNode = (LNodePtr)malloc(sizeof(LNode));

tNode-data = data; /* 數據域賦值 */

tNode-next = head-next;

head-next = tNode;

}

else

{

printf(“輸入字符需為大寫字母。\n”);

}

}

return head;

}

/**

加密函數,加密的方式為鏈接head的所有節點前移offset位,但是不支持offset比鏈表的節點數多

@param head 鏈表頭節點

@param offset 節點前移的位數

*/

void EncryptList(LNodePtr head,int offset)

{

LNodePtr tNode = head-next;

int i;

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

{

if(tNode-next != NULL)

{

tNode = tNode-next;

}

}

if(i == offset)

{

LNodePtr newHead = tNode;

LNodePtr tail = tNode;

while (tail-next != NULL)

{

tail = tail-next;

}

tail-next = head-next;

while(tNode-next != NULL)

{

if(tNode-next != newHead)

{

tNode = tNode-next;

}

else

{

tNode-next = NULL;

break;

}

}

head-next = newHead;

}

else

{

printf(“不支持移動”);

}

}

void ListPrint(LNodePtr head)

{

if(head-next != NULL)

{

LNodePtr tNode = head-next;

while (tNode-next != NULL)

{

printf(“%c “,tNode-data);

tNode = tNode-next;

}

printf(“%c”,tNode-data);

}

}

int main()

{

LNodePtr list = CreateList();

printf(“\n創建的鏈表如下:\n”);

ListPrint(list);

EncryptList(list,3);

printf(“\n所有節點前移了3位之後的鏈表如下:\n”);

ListPrint(list);

printf(“\n”);

return 0;

}

原創文章,作者:KJKZ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/141141.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KJKZ的頭像KJKZ
上一篇 2024-10-04 00:24
下一篇 2024-10-04 00:24

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在着手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29

發表回復

登錄後才能評論