NO.1【嫿骨】の花裡胡哨Hello World!
- 背景故事
首先說明我目前的情況
大二機械在讀生
自學了一點點c
只能說是勉強算入個門(或者並沒有)
這兩天在一個機構
購買了
會員 ————《老九學堂》
來學習的 想要更進一步地學習
之後也有很大用處的
於是 早上十點發布了第一次每日作業Hello World!後
我! 停了15個小時才去做的
一不留神就四個小時過去到了現在
2020年12月24日05:34:47
有點意思~
(話說我週末就要考試了啊喂 還有一堆東西要學要寫呢)
希望能夠拋轉引玉 也歡迎大家的挑刺(全是刺(笑))
請大家多多指教`
之後也會慢慢進步 一步步走下去的
希望大家可以一起進步
ヽ( ̄ω ̄( ̄ω ̄〃)ゝ
-程式碼
想了幾個算不上點子的小點子
上網搜了搜
翻了翻之前跟著視訊寫的程式碼
試著寫了寫
雖說還有會有些問題叭~
(▽)
用了幾個函式 也更加方便去讀程式碼
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#define HW "Hello World!" //將Hello World!定義為常量,方便使用
/*
需求:輸出各種花裡胡哨的Hello World!
思路:
1、顯示顏色(皮膚選擇):通過控制檯程式來對控制檯視窗的前景色背景色進行控制
a、定時變色(幻影坦克):【待開發】,可由時間對其進行重新整理 不斷變化顏色
2、原裝版本(元始天尊):直接輸出Hello World!
3、擴充版本(多重分身):可以通過控制 行i 和 列j 來控制輸出的Hello World!的矩陣
4、死迴圈版本(無盡深淵):單純地不斷輸出HelloWorld!
a、輸出速度(死亡流速)【待開發】可隨著時間的流逝,輸出的速度不斷加快等
5、超大號版本(法相天地):也就是由多個Hello World!來組成一個更大的Hello World!
6、退出程式(世界核平):嗯 退了 不幹了
7、一鍵炫彩版本(葫蘆兄弟):【不幹了】七個不同顏色的Hello World!
a、介面重新整理變化(葫蘆金剛):【待開發】可以通過按鍵控制,對其進行7合1或1分7
0、直接對話版本(直面世界):【隱藏選項】對世界輸入Hello World!,根據輸入的不同產生不同的回答
(每次程式執行完後都可以清屏後返回選擇介面)
*/
void One()
{
int choice; //在這個函式中 用於儲存選項
printf("請在以下選項中選擇你的皮膚:\n1、紅黑配\n2、紫黑配\n3、紅白配\n4、紫白配\n5、黑白原皮膚\n");
choice = getch(); //獲取新的選項
if(choice == '1' || choice == '2' || choice == '3' || choice == '4' || choice == '5')
{
if(choice == '1')
{
SetColor(4, 0); //紅黑
}
if(choice == '2')
{
SetColor(5, 0); //紫黑
}
if(choice == '3')
{
SetColor(4, 7); //紅白
}
if(choice == '4')
{
SetColor(5, 7); //紫白
}
if(choice == '5')
{
SetColor(7, 0); //黑白原皮膚
}
}
else printf("你輸錯啦~\n"); //輸入其它皮膚選項時
}
void Two()
{
printf("%s\nEmmmm,that's all.\n一滴也沒有啦~\n", HW);
}
void Three()
{
int i,j; //撒豆成兵中的行列
int iMax,jMax; //控制撒豆成兵中的行列
int choice; //在這個函式中 用於儲存選項
printf("九為極數,汝欲幾人成縱?"); //幾列
choice = getch(); //getch()所得為ASCII碼
if(choice == '1' || choice == '2' || choice == '3' || choice == '4' || choice == '5' || choice == '6' || choice == '7' || choice == '8' || choice == '9')
{
jMax = choice - 48; //列數
}
else {
printf("錯了錯了,且退去吧!\n");
exit(0);
}
printf("九為極數,汝欲幾人成縱?\n"); //幾行
choice = getch(); //getch()所得為ASCII碼
if(choice == '1' || choice == '2' || choice == '3' || choice == '4' || choice == '5' || choice == '6' || choice == '7' || choice == '8' || choice == '9')
{
iMax = choice - 48; //行數
}
else{
printf("錯了錯了,且退去吧!\n");
exit(0);
}
for(i = 0; i < iMax; i++)
{
for(j = 0; j < jMax; j++)
{
printf("%s\t", HW);
}
printf("\n");
}
}
void Four()
{
printf("你終究還是來了……\n");
Sleep(3000);
while(1)
{
printf("%s\n", HW);
}
}
void Five()
{
int k,l; //控制圖形中間的行列
printf(
" Hello World\n"
" !hihihihi hihihihi!\n"
" !hihihihihihi hihihihihihi!\n");
//前三排的規律性不強,所以直接顯示
for(k=0;k<3;k++)//顯示中間三排
{
for(l=0;l<29;l++)
printf("*");
printf("\n");
}
for(k=0;k<7;k++)//顯示呈遞減趨勢規dao律的中間7排
{
for(l=0;l<2*(k+1)-1;l++)
printf(" ");
for(l=0;l<27-k*4;l++)
printf("*");
printf("\n");
}
}
void Six()
{
printf("BOOM!!!\n");
Sleep(1000);
printf("~");
Sleep(1000);
printf("~~");
Sleep(1000);
printf("~~~\n");
Sleep(3000);
printf("世界被你玩炸了,再也不見!\n");
printf("Goodbye World!\n");
exit(0);
}
void Zero()
{
int choice; //在這個函式中 用於儲存選項
printf("【站在你面前的正是世界,你正直面著它/他/她】\n");
printf("Oh~my God!\n");
Sleep(1500);
printf("Look who's here!\n");
Sleep(1500);
printf("Hi!");
Sleep(1000);
while(1)
{
printf("我們該說啥子0.0\n請選擇:\n1、Hi!\n2、Hello World!\n3、Goodbye World!\n");
choice = getch(); //獲取新的選項
if(choice == '1' || choice == '2' || choice == '3')
{
if(choice == '1')
{
printf("Hi!\n");
Sleep(1000);
printf("The World : Hi!\n");
}
if(choice == '2')
{
printf("Hello World!\n");
Sleep(1000);
printf("The World : 哼╭(╯^╰)╮\n");
}
if(choice == '3')
{
printf("Goodbye World!\n");
Sleep(1000);
printf("The World : 再見了您嘞!!!\n");
Sleep(3000);
printf("附:小新老師好棒,果果最厲害啦~\n");
exit(0);
}
printf("這樣 這樣不可以哦~\n");
}
}
}
void SetColor(int foreColor, int backColor) //1、皮膚選擇
{
HANDLE winHandle; //控制程式碼(相當於windows在管理計算機時,將每一個裝置當作一個控制程式碼)(工作管理員中的映像)
winHandle = GetStdHandle(STD_OUTPUT_HANDLE); //標準輸出裝置,即控制檯視窗
//設定文字顏色
SetConsoleTextAttribute(winHandle, foreColor + backColor * 0x10); //經過位運算
}
void SetTitle(char *title)
{
SetConsoleTitle(title); //SetConsoleTitle()為<windows.h>中的函式
}
int main()
{
int key; //用於存放選擇的選項
SetTitle("【嫿骨】のHelloWorld世界");
printf("******************************************************************\n");
printf("歡迎來到【嫿骨】的世界,");
while(1)
{
printf("接下來請跟隨您的“好奇心”做出最佳選擇:\n1、皮膚選擇:\n2、元始天尊:\n3、撒豆成兵\n4、無盡深淵\n5、法相天地\n6、世界核平\n");
printf("%s\n", HW);
printf("******************************************************************\n");
key = getch(); //相較getchar 不需要按回車
if(key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key == '6' || key == '0')
{
if(key == '1') //1、皮膚選擇
{
One();
}
if(key == '2') //2、元始天尊
{
Two();
}
if(key == '3') //3、撒豆成兵
{
Three();
}
if(key == '4') //4、無盡深淵
{
Four();
}
if(key == '5') //5、法相天地
{
Five();
}
if(key == '6') //6、世界核平
{
Six();
}
if(key == '0') //0、直面世界
{
Zero();
}
}
else
{
printf("同志,你輸錯了哦!\n");
}
Sleep(3500); //延時2.5s後開始新的一輪選擇
system("cls"); //清屏
printf("歡迎回到【嫿骨】的世界,");
}
return 0;
}
//啊,終於打完了 中途還減少了 改變了些功能 上網也查了好多東西 也是很有收穫的 所以,啊我睡了(所以我為什麼要搞成這樣的啊 噗哈哈(*^▽^*))
//對了 下面還有三個警告 不太會整了 噗噗
- 部分執行程式碼
- 結束語
望大家不吝賜教~
溜了溜了 睡了睡了
一會還要起床上課
學校課程也不能落
要搞得好好的呢~~
大家 加油~
ヾ(◍°∇°◍)ノ゙
請大家眼熟我~
相關文章
- NO.5【嫿骨】の非官方作答
- NO.4【嫿骨】の小房子程式
- 滲透花裡胡哨架構的流量架構
- NO.6【嫿骨】の無情讀數器
- 啥?你的 Tap bar 不夠花裡胡哨,試試這個!
- 關閉美團 app 的一些花裡胡哨功能的入口APP
- 網際網路 | 邏輯上的黑話才是真正的花裡胡哨
- MySQL統計總數就用count(*),別花裡胡哨的《死磕MySQL系列 十》MySql
- Hello World
- Hello World!
- Hello, World
- Hello World !
- Hello,World
- Go:Hello WorldGo
- dotnet hello world
- ant Hello World
- Deep "Hello world!"
- Hello Python worldPython
- Hello World探究
- Docker Hello WorldDocker
- Go - Hello WorldGo
- 輸出hello world
- RabbitMQ tutorial - "Hello world!"MQ
- react的”Hello World !“React
- WebGL 的 Hello WorldWeb
- I'm Hello World
- C# Hello,World(1)
- python輸出hello worldPython
- spring boot(一)hello worldSpring Boot
- ROS之初見Hello WorldROS
- Flutter Web 之 Hello WorldFlutterWeb
- [系列] Go gRPC Hello WorldGoRPC
- Hello World! XJ is here.
- JMicro微服務Hello World微服務
- 【Flutter 基礎】Hello WorldFlutter
- 01-C++ "hello world"C++
- [WebAssembly 入門] Hello, world!Web
- RabbitMQ 入門 - Hello WorldMQ