1. 程式人生 > >OC小遊戲-人機大戰-猜拳

OC小遊戲-人機大戰-猜拳

先宣告3個類,分別是Person、Computer、Tocompare,制定遊戲規則,讓0~2中的數字依次代表石頭、剪刀、布;在Person類中宣告一個變數,接收鍵盤錄入的數字,在Computer中宣告一個返回隨機數的方法,然後在Tocompare類中進行比較,思路很簡單,直接上程式碼:

Person.h​

@interface Person : NSObject

@property(assign ,nonatomic)int num;//宣告一個屬性,接收輸入的數字

@end

​由於沒有在Person類中宣告方法,所以Person.m檔案為空;

Computer.h​

​@interface Computer : NSObject

-(int)play;//宣告產生一個隨機數的方法

@end

Computer.m​

@implementation Computer

-(int)play

{   

   return arc4random()%3;//返回一個0~2中的隨機數

}

@end

​To compare.h

@interface To_compare : NSObject

-(void)compare;//宣告一個比較的方法

@end​

​To compare.m

#import "To compare.h"

#import "Computer.h"

#import "Person.h"//匯入標頭檔案

@implementation To_compare

-(void)compare

{   

intp,c;   

intp_num=0,c_num=0,count=0;//統計次數   

NSString*win;   

NSString*p_string;   

NSString*c_string;   

NSLog(@"請輸入0~2之間的一個數字,0代表石頭,1代表剪刀,2代表布");   

NSLog(@"Number\tPerson\t\tComputer\tWin");   

while (p!=100){       

scanf("%d",&p);//接收輸入的數字       

if(p==100)       {          

continue;       

}//輸入100即結束遊戲       

Person *per=[Personnew];       

per.num=p;       

Computer *com=[Computernew];       

c=[complay];//接收Computer類中產生的隨機數             

if(p==0)          

[email protected]"石頭";       

else if(p==1)          

[email protected]"剪刀";       

else if(p==2)           

[email protected]"布";       

else       {           

NSLog(@"輸入錯誤!請重新輸入:");           

continue;      

}             

if(c==0)          

[email protected]"石頭";             

else if(c==1)           

[email protected]"剪刀";      

else           

[email protected]"布";//將結果用漢字輸出            

  if((p==0&&c==1)||(p==1&&c==2)||(p==2&&c==0))       {          

[email protected]"人類";          

p_num++;      

}      

else if((c==0&&p==1)||(c==1&&p==2)||(c==2&&p==0))       {         

 [email protected]"電腦";           

c_num++;      

}      

else           

[email protected]"-";//設定遊戲規則             

count++;       

NSLog(@"%d\t\t%@\t\t%@\t\t%@",count,p_string,c_string,win);

​}

   NSLog(@"總共出拳%d次,人類獲勝%d次,電腦獲勝%d次,平局%d次.\nPS: -代表平局",count,p_num,c_num,count-p_num-c_num);

}

@end

輸出如下:​

2015-05-20 09:10:10.624 The man-machine against[7750:1208272] 歡迎來到人機大戰的猜拳世界,輸入數字100結束遊戲。
2015-05-20 09:10:10.625 The man-machine against[7750:1208272] 請輸入0~2之間的一個數字,0代表石頭,1代表剪刀,2代表布
2015-05-20 09:10:10.626 The man-machine against[7750:1208272] Number    Person        Computer    Win
1
2015-05-20 09:10:13.654 The man-machine against[7750:1208272] 1                剪刀              石頭        電腦
2
2015-05-20 09:10:14.113 The man-machine against[7750:1208272] 2                 布                 剪刀        電腦
3
2015-05-20 09:10:14.486 The man-machine against[7750:1208272] 輸入錯誤!請重新輸入:
4
2015-05-20 09:10:14.813 The man-machine against[7750:1208272] 輸入錯誤!請重新輸入:
6
2015-05-20 09:10:15.172 The man-machine against[7750:1208272] 輸入錯誤!請重新輸入:
1
2015-05-20 09:10:15.782 The man-machine against[7750:1208272] 3                 剪刀             石頭        電腦
2
2015-05-20 09:10:16.139 The man-machine against[7750:1208272] 4                  布                布        -
0
2015-05-20 09:10:16.471 The man-machine against[7750:1208272] 5                 石頭             石頭        -
1
2015-05-20 09:10:16.813 The man-machine against[7750:1208272] 6                 剪刀             石頭        電腦
2
2015-05-20 09:10:17.295 The man-machine against[7750:1208272] 7                  布                剪刀        電腦
3100
2015-05-20 09:10:19.296 The man-machine against[7750:1208272] 輸入錯誤!請重新輸入:
100
2015-05-20 09:10:21.118 The man-machine against[7750:1208272] 總共出拳7次,人類獲勝0次,電腦獲勝5次,平局2次.
PS: - 代表平局


相關推薦

OC遊戲-人機大戰-猜拳

先宣告3個類,分別是Person、Computer、Tocompare,制定遊戲規則,讓0~2中的數字依次代表石頭、剪刀、布;在Person類中宣告一個變數,接收鍵盤錄入的數字,在Computer中宣告一個返回隨機數的方法,然後在Tocompare類中進行比較,思路很簡單,

原生JS實現的h5遊戲-植物大戰僵屍

完成後 資源 life css lan posit 獲得 抽象 dom 代碼地址如下:http://www.demodashi.com/demo/12755.html 項目介紹 本項目是利用原生js實現的h5小遊戲-植物大戰僵屍,主要結合了一下自己對於h5小遊戲的理解,

cocos2d-x遊戲——飛機大戰

上週,我做了一個基於 cocos2d-x 的飛機大戰的遊戲,因為我剛學cocos2d-x沒多久,所以這個飛機大戰很多都是看著別人的教程,再加上自己的一些想法,來做的。 下面我想說一說我的思路。 飛機大戰有三個場景: LayerGameStart(遊戲開始

個人分析javascript 遊戲 --飛機大戰 (單體單例)

轉載一篇-------javascript 小遊戲 –飛機大戰 (單體單例) 最近跟著教學視訊一邊學習一邊做了一個javascript的實戰小遊戲 話不多說 直接附上碼源 <!DOCTYPE HTML> <html> <head

java實現人機猜拳遊戲

通過構建玩家類,計算機類,遊戲類,三個類,實現了簡單的人機猜拳小遊戲。 /** * @author 萬星明 * @version 建立時間:2018年10月20日 下午3:01:09 * 計算機類 */ public class Computer { p

python實現猜數字和猜拳遊戲

編寫 -1 猜拳遊戲 com 猜數字小遊戲 軟件 +++ draw 小遊戲 1.猜數字小遊戲 #!/usr/bin/python #-*-coding:utf-8-*- import random print "-----------------------------

Python遊戲 井字棋(人機對戰,玩家對戰)

pan urn utf-8 erl ext print cef () nbsp # -*- coding:utf-8 -*-import timeimport random#井字棋 人機對戰def drawBoard(board): blank_board = '|

Python遊戲之 - 飛機大戰美女 !

TP 飛機大戰 inf info ima com 圖片 大戰 .com 用Python寫的"飛機大戰美女"小遊戲 Python小遊戲之 - 飛機大戰美女 !

java智能四子棋人機大戰遊戲設計(附項目,以及原創PSD,設計文檔)

給他 直接 發揮 假設 獲得 思路 -- 攔截 格子 本項目是使用java技術+自創“假設下子”算法開發的人機大戰四子棋遊戲客戶端。 具體項目,以及原創PSD,設計文檔,在文件末尾的百度雲連接。 一. 小組說明: 組名:CST 組長:陳飛良(C): 組員:

猜拳遊戲

n) sta ack int() can 遊戲 random package 猜拳 package youxi; import java.util.Random;import java.util.Scanner; public class jiandao { public

猜拳遊戲(電腦大戰人類)圖文闡釋決鬥過程,精彩!

  任務 完成人機猜拳互動遊戲的開發 主要功能 選取對戰角色 猜拳 記錄分數 需求說明 分析業務 抽象出類、類的特徵和行為 實現思路:

Python3 實現 石頭、剪刀、布 猜拳遊戲

Python基礎語法 目標 實現一個人與計算機玩猜拳——石頭剪刀布的小遊戲,學會Python的迴圈控制語句和條件判斷語句。 思考一: 假如把石頭、剪刀、布分別用數字0、1、2表示。那麼如何判定誰勝誰負呢? user(人) compu

Java-------猜拳遊戲,四則運算等

(1)、我國最高山峰是珠穆朗瑪峰,8848米。現在我有一張足夠大的紙,它的厚度是0.001米。請問,摺疊多少次,可以折成珠穆朗瑪峰的高度。(難點:迴圈條件的改變) (2)、編寫程式計算12+22+32+....+1002的和。 (3)、編寫程式,列印1到100之內的整數,但數字中包含7的要跳

白學習Unity 3D做經典遊戲坦克大戰日常

簡單 esp 還需 分享圖片 經典遊戲 平滑濾波 一起 耗時 date() 老師 | Trigger 學習者 |小白 出品 | Siki 學院 Hello,小夥伴們。接下來小白跟Trigger老師做一款2D遊戲坦克大戰。從素材、代碼到場景和UI的遊戲開發。小白把日常遇到的

[原始碼分享]基於Python的Pygame庫實現的仿微信遊戲中的飛機大戰遊戲

不知大家是否還記得當時微信上風靡一時的打飛機小遊戲,通過控制我方飛機的上下左右移動,發射子彈來擊毀敵機,增加得分。這是一款簡單操作易上手又很有趣味性的遊戲,我使用python作為基本語言,利用pygame仿照微信版本完成了這款低配版飛機大戰遊戲。   我方飛機會按時的不斷髮射子彈,玩家通過上下左

[原始碼和文件分享]基於Python的Pygame庫實現的仿微信遊戲中的飛機大戰遊戲

不知大家是否還記得當時微信上風靡一時的打飛機小遊戲,通過控制我方飛機的上下左右移動,發射子彈來擊毀敵機,增加得分。這是一款簡單操作易上手又很有趣味性的遊戲,我使用python作為基本語言,利用pygame仿照微信版本完成了這款低配版飛機大戰遊戲。 我方飛機會按時的不斷髮射子彈,玩家通過上下左右的方向鍵來躲避

java面對物件猜拳遊戲

我覺的初學面對物件,首先是思路很重要。我寫的這個猜拳小遊戲,我覺得對於我的思路有幫助,需要的可以參考下 一共四個類 1:玩家類 2:電腦類 3:遊戲過程類 4:測試類 玩家類 public class Person { // 使用者類的屬性

坦克大戰遊戲 版本號v1.10

python 初階 ''' v1.10 實現子彈的移動與消失 ''' import pygame,time,random SCREEN_WIDTH = 900 SCREEN_HEIGHT = 550 VERSION = 'V1.10' # v1.07新增 記錄敵

Python 坦克大戰遊戲進階 版本號v1.14

python初階 ''' v1.14 實現牆壁類 以及 子彈與牆壁的碰撞 ''' import pygame,time,random SCREEN_WIDTH = 900 SCREEN_HEIGHT = 550 VERSION = 'V1.14' # v1.0

python t坦克大戰遊戲程序 版本號v1.16

python 初階 ''' v1.16 實現音效類 ''' import pygame,time,random SCREEN_WIDTH = 900 SCREEN_HEIGHT = 550 VERSION = 'V1.16' # v1.07新增 記錄敵方坦克的數