A. c語言猜數字游戲源代碼
小游戲2048:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
#include<windows.h>
int jsk( ); //計算空格數
void rsgm( ); //重置游戲
void inkey( ); //按鍵輸入
void left( ); //向左移動
void right( ); //向右移動
void up( ); //向上移動
void down( ); //向下移動
void show( ); //輸出界面
void adnum( ); //添加隨機數
void yes( ); //游戲是否結束(1是0否)
void gtxy(int x, int y); //控制游標位置的函數
int a[4][4]; //存儲16個格子中的數字
int score = 0; //每局得分
int best = 0; //最高得分
int ifnum; //是否需要添加數字(1是0否)
int over; //游戲結束標志(1是0否)
int i,j,k;
int main( )
{ rsgm( ); //重置游戲
inkey( ); //按鍵輸入
return 0;
}
void Color(int a) //設定字元顏色的函數(a應為1-15)
{ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a); }
void rsgm( ) //重置游戲
{ score = 0; ifnum = 1; over = 0; srand((unsigned)time(0)); //啟動隨機數發生器
int n = rand( ) % 16; //隨機函數產生0-15的數字
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 gb={1,0}; //以下兩行是隱藏游標的設置,gb代指游標
SetConsoleCursorInfo( GetStdHandle(STD_OUTPUT_HANDLE), &gb );
Color(14); //設置字體淡黃色
printf(" 2048小游戲"); Color(7); //恢復白字黑底
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)是游標到指定位置輸出數字
if(a[i][j]==0){printf(" "); Color(7); printf("│");}
else if(a[i][j]<10){ if (a[i][j] == 2) { Color(14); }
else if (a[i][j] == 4) { Color(13); }
else if (a[i][j] == 8) { Color(12); }
printf(" %d ", a[i][j]); Color(7 ); printf("│");
}
else if (a[i][j] < 100){if (a[i][j] == 16) { Color(12); }
else if (a[i][j] == 32) { Color(10); }
else if (a[i][j] == 64) { Color(2 ); }
printf(" %d ", a[i][j]); Color(7); printf("│");
}
else if (a[i][j] < 1000) {if (a[i][j] == 128) { Color(9); }
else if (a[i][j] == 256) { Color(1); }
else if (a[i][j] == 512) { Color(13); }
printf(" %d ", a[i][j]); Color(7); printf("│");
}
else if (a[i][j] < 10000) {if (a[i][j] == 1024) { Color(5); }
else { Color(15); }
printf(" %d ", a[i][j]); Color(7); printf("│");
}
}
if (jsk( ) == 0)
{ yes( ); if (over) { gtxy(9,12); Color(10);
printf(" 游戲結束!是否繼續? [ 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( ) //計算空格數
{ 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( ) //向左移動
{ 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( ) //向右移動
{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( ) //向上移動
{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( ) //向下移動
{ 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( ) //添加隨機數
{ srand(time(0)); 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( ) //游戲是否結束
{ 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) //控制游標位置的函數
{ COORD zb; //zb代指坐標
zb.X = x;
zb.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), zb);
}
B. 成語猜猜猜小程序源碼
是要類似的源碼么,看看這個網頁鏈接
C. 成語猜猜看小程序源碼開發系統
目前小程序開發公司很多,具體根據自己的需求進行選擇和定製開發,也可以使用第三方小程序開發工具一鍵生成。
第1種是賣模板為主的網路公司。
優點是:價格低,幾千塊錢到萬元之間就能搞定,方便,能夠快速上線;
缺點是:修改功能麻煩,這里需要避免低價陷阱,不要到最後才發現模板性的修改功能所花的錢比買模板還貴。而且不是獨立的,一個模本賣給很多商家用,模板不是永久使用的,一般每年都要交年費。
第2種是主流的方式,定製開發為主的網路公司。
優點是:獨一無二的,專為你的企業或者店面定製的,功能你來定,要求你來定,後期修改BUG方便,改東西也很方便,最重要的是永久使用權!!
缺點是:相對價格比較高!!! 定製版的基本費用在上萬元到十幾萬不等!不過貴也有貴的道理吧,畢竟功能做的更全面一點。
最後總結,至於找什麼樣的小程序開發公司?花多少錢來開發?還是需要看貴公司准備的預算這塊!希望對大家有用!
D. java猜數字的小程序!
public class GuessNumber {
public static void main(String[] args) {
System.out.println("給你一個0至100之間的整數,請猜測這個數");
//隨機生成一個0至100之間的隨機整數
int realNumber=(int)Math.round(Math.random()*100);
//從鍵盤上讀入你的猜測;
System.out.print("請輸入你的猜測:");
int yourGuess=System.in.read();
//是否猜對的標識
boolean isRight=false;
//循環校驗,直到猜對了為止
while(!isRight){
if(yourGuess > realNumber){
System.out.print("猜大了,再輸入你的猜測:");
yourGuess= System.in.read();
}
else if(yourGuess < realNumber){
System.out.print("猜小了,再輸入你的猜測:");
yourGuess=System.in.read();
}
else{
isRight=true;
System.out.print("恭喜你,猜對了");
}
}
}
}
E. C++猜數字游戲源代碼
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
char choice;
int i=0;
int number;
int n;
cout<<"請猜1—100的整數:"<<endl;
while(1)
{srand((unsigned )time(NULL));
n=rand()%100+1;
while(cin>>number)
{
i++;
if(i==10)
{
cout<<"你猜的次數已達10次,此次結束。"<<endl;
break;
}
if(number>n)
{
cout<<"你猜大了"<<endl;
continue;
}
else if(number<n)
{
cout<<"你猜小了"<<endl;
continue;
}
else
{
cout<<"你猜對了"<<endl;
break;
}
}
i=0;
do
{
cout<<"是否繼續?是請按y/否請按n。"<<endl;
cin>>choice;
}while(choice!='y' &&choice!='n');
if(choice=='n')
{
return 0;
}
}
}
F. 求一個java applet小程序的源代碼
隨手寫了 不想測試了,自己測吧,輸入的異常也自己處理好了
double i = 0.0;
Scanner sc = new Scanner(System.in);
while(true){
System.out.println("請輸入一個數字(1-100)");
i = sc.nextDouble();
if(i>32){
System.out.println("你輸入的數字大了");
}else if(i<32){
System.out.println("你輸入的數字小了");
}else{
System.out.println("恭喜你答對了");
System.out.println("是否還要繼續 1繼續 2退出");
if(sc.nextInt()==1){
continue;
}else{
return;
}
}
}
G. 編寫一個C程猜數游戲小程序(猜數范圍在【1..100】之間)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int a;
int n;
srand(time(NULL));
a = rand()%100 + 1;
do
{
printf("Please guess:");
scanf("%d",&n);
}while(n!=a);
printf(" OK ");
return 0;
}
//這個游戲沒法玩,你運氣不好就得猜100次。。。。
H. c語言編的小程序,猜數游戲猜對了一個後為什麼就永遠是那個對了 比如我猜對了是41後,再次運行,答案
調用rand()之前,應該先設置種子,不然,得到的隨機序列一直是從41開始的!!
#include <time.h>
int main()
{
int magic, guess;
srand(time(NULL)); //time()函數可以讓你每次進入時,得到的值是不同的,這種,每次隨機種子會變化,
magic=rand()%100 ; //你模11怎麼能得到41?
。。。。
}
I. 有沒有大神給我講解一下這個猜數字小程序的演算法(代碼在裡面)
這里哪有演算法,就是循環,讓人猜數字大小。電腦生成隨機一個[1,100]中的數,人猜,輸入的如果比隨機值大就顯示too big,小就too small,直到猜對為止。