學習編程的好方法——控制台遊戲
用控制台實現一個小遊戲。難度從低到高排列(根據做得好壞難度也不一定):
1、較低難度:2048,貪食蛇,掃雷。
2、中等難度:RPG遊戲。
3、較高難度:俄羅斯方塊。
另外還有演示類程序:
展示一部或多部電梯的運行,人随機想去不同的樓層。
還可以有教學類程序:
輸入方式特别友好的行列式計算器。(用方向鍵控制,所見即所得的那種)
————————————————————————————————
分享一個有意思的C語言代碼:
#include <stdio.h>
#include <stdlib.h>
typedef struct _tag_Add
{
int a;
int b;
int result;
}sAdd;
void Add(void *param)
{
sAdd *p = (sAdd *) param;
p->result = p->a p->b;
}
typedef struct _tag_Mul
{
float a;
float b;
float result;
}sMul;
void Mul(void *param)
{
sMul *p = (sMul *) param;
p->result = p->a * p->b;
}
void sCal(void *param,void* fuc) //void*指針類型的變量,可以接收任何指針類型的變量
{
//把fuc cast成相應的函數類型,因為cast的優先級低于小括号,所以fuc上要加小括号
((void (*)(void*))fuc)(param); //void (*)(void)為返回值為void,無參數的函數類型,(*)代表函數指針。
}
int main(void)
{
sAdd stAdd;
sMul stMul;
//數據初始化
stAdd.a = 10;
stAdd.b = 20;
stMul.a = 5;
stMul.b = 5;
//接口直接用
sCal(&stAdd,Add);
sCal(&stMul,Mul);
//對應的輸出
printf("a b = %d\n",stAdd.result);
printf("a * b = %f\n",stMul.result);
return 0;
}
以上,快去試試吧!
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!