要求:

可以获得用户名,可以进行猜拳,可以退出游戏,退出游戏时要打印姓名、总局数、赢场、胜率。

用Swift编写完成和电脑猜拳游戏的程序,简单易上手

用Swift编写和电脑猜拳游戏的程序,让游戏开发简单易上手 - 敏捷大拇指 - 用Swift编写完成和电脑猜拳游戏的程序,简单易上手





读取输入

这是一个读取输入函数:

[Swift] 纯文本查看 复制代码
func scanf()->String?{
    let fileHandle = NSFileHandle.init(fileDescriptor:STDIN_FILENO)
    let data = fileHandle.availableData
    let str = String.init(data :data,encoding: NSUTF8StringEncoding)
    if str == nil{
        return nil
    }
    return (str! as NSString).substringToIndex((str! as NSString).length - 1)as String
}





正文:

[Swift] 纯文本查看 复制代码
print("•欢迎进入猜拳游戏");





创建一个用户

[Swift] 纯文本查看 复制代码
struct User{
    var user:String
}





猜拳游戏

[Swift] 纯文本查看 复制代码
struct Morra {
    func morra()-> Int {
               print("选择你第一次的出招(1.石头 * 2.剪刀 * 3.布)或按“0”退出游戏")
        var count = 1
        while true{
           if  let me = Int(scanf()!) {  
            let b = [0,1,2,3]
            let a = b[Int(arc4random()%3)+1]          
            //当输入时0的时候结束循环
            if me == 0{
                print("•••结束游戏")
                break
            }
            if me < 4 && me >= 0{             
            }else{
                print("•••你的姿势不对")
                break
            }                       
            //当电脑出的是石头时
            if a == 1 {
                print("•••电脑出的是石头时")
                if me == 2 {
                    print("•••我出的是剪刀的时候")
                    print("•••我输了")
                }
                else if me == 3 {
                    sum += 1
                    print("•••我出的是布")
                    print("•••我赢了")
                }
                else {
                    print("•••我出的是石头的时候")
                    print("•••平局啦")
                }
            }
            //当电脑出的是剪刀时
            if a == 2 {
                print("•••电脑出的是剪刀的时候")
                if me == 1 {
                    sum += 1
                    print("•••我出的是石头的时候")
                    print("•••我赢了")
                }
                else if me == 3 {
                    print("•••我出的是布")
                    print("•••我输了")
                }
                else {
                    print("•••我出的是剪刀")
                    print("•••平局啦")
                }  
            }
            //当电脑出的是布的时候
            if a == 3 {
                    print("•••电脑出的是布的时候")
                if me == 1 {
                    print("•••我出的是石头的时候")
                    print("•••我输啦")
                }
                else if me == 2 {
                    sum += 1
                    print("•••我出的是剪刀的时候")
                    print("•••我赢了")
                }
                else {
                    print("•••我出的是布的时候")
                    print("•••平局啦")
                }
            }
            count += 1
            print("••••第\(count)局游戏选择你次本的出招(1.石头 * 2.剪刀 * 3.布)或按“0”结束游戏")
            } else {
                    print("姿势不对,重新开始")
                    morra()
                    }
        }

        return sum        
    }
}





输入对象

[Swift] 纯文本查看 复制代码
print("•••请输入用户名:")
var game = User.init(user: String(scanf()))
var process = Morra()
var sum1 = process.morra()
print("本轮游戏一共胜利了\(sum1)局")





作者:OSong