Trung Tâm Đào Tạo Mạng Máy Tính Nhất Nghệ   Trung Tâm Đào Tạo Mạng Máy Tính Nhất Nghệ
Trang Chủ Giới Thiệu Chương Trình Học Tài Liệu Lịch Khai Giảng Học Phí Việc Làm Lộ trình học

Go Back   Trung Tâm Đào Tạo Mạng Máy Tính Nhất Nghệ > WEB - ĐỒ HỌA - LẬP TRÌNH > LẬP TRÌNH iOS
Đăng Ký Thành Viên Thành Viên Lịch Ðánh Dấu Ðã Ðọc


LẬP TRÌNH iOS THIẾT KẾ ỨNG DỤNG, GAME TRÊN IPHONE, IPAD, IPOD

Vui lòng gõ từ khóa liên quan đến vấn đề bạn quan tâm vào khung dưới , trước khi đặt câu hỏi mới.


Trả lời
 
Ðiều Chỉnh
  #1  
Old 09-09-2012, 19:03
duylee duylee vẫn chưa có mặt trong diễn đàn
Thành Viên Mới
 
Tham gia ngày: Aug 2012
Tuổi: 29
Bài gởi: 11
Thanks: 1
Thanked 3 Times in 3 Posts
Game đổ xúc xắc đánh cược - Lê Khắc Duy

Mình vừa làm xong bài đổ xúc xắc nên đem lên cho mọi người góp ý. Bài này mình làm được những phần sau:

- Hiệu ứng đổ xúc xắc - cho con xúc xắc quay ban đầu nhanh rồi chậm dần
- Đánh cược.
- Bắt lỗi phần đánh cược.

Dưới đây là màn hình ban đầu:


Còn này là màn hình chơi:


Màn hình bắt lỗi:



Kết thúc trò chơi:



Ánh xạ:



Code của file .m

PHP Code:
//
//  NhatNgheViewController.m
//  Xucxac
//
//  Created by Duy Lee on 9/8/12.
//  Copyright (c) 2012 Duy Lee. All rights reserved.
//

#import "NhatNgheViewController.h"

@interface NhatNgheViewController ()

@
end

@implementation NhatNgheViewController

int nameIMG
;
int flag// xac dinh thoi diem xuc xac tang hay giam toc do
- (void)viewDidLoad
{
    [
super viewDidLoad];
    
// Do any additional setup after loading the view, typically from a nib.
    
nameIMG 1;
}

- (
void)viewDidUnload
{
    [
imgDice release];
    
imgDice nil;
    [
segBetting release];
    
segBetting nil;
    [
lblResult release];
    
lblResult nil;
    [
lblMyMoney release];
    
lblMyMoney nil;
    [
txtBetting release];
    
txtBetting nil;
    [
imgFace release];
    
imgFace nil;
    [
btnBet release];
    
btnBet nil;
    [
super viewDidUnload];
    
// Release any retained subviews of the main view.
}

- (BOOL)
shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (
interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

- (
void)dealloc {
    [
imgDice release];
    [
segBetting release];
    [
lblResult release];
    [
lblMyMoney release];
    [
txtBetting release];
    [
imgFace release];
    [
btnBet release];
    [
super dealloc];
}
- (
IBAction)btnPlay:(id)sender {
    
flag 0;
    
lblResult.text = @"";
    
imgFace.image = [UIImage imageNamed:@"big_smile.png"];
    
segBetting.enabled false;
    
btnBet.enabled false;
    
    if ([
txtBetting.text intValue] < 0) {
        
UIAlertView *alert = [[UIAlertView allocinitWithTitle:@"Illegal" message:@"Please, put a number bigger than 0" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [
alert show];
        [
alert release];
        return;
    }
    if ([
txtBetting.text isEqualToString:@""]) {
        
UIAlertView *alert = [[UIAlertView allocinitWithTitle:@"Illegal" message:@"Please, put a number" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [
alert show];
        [
alert release];
        return;
    }
    if ([
txtBetting.text intValue] > [lblMyMoney.text intValue]) {
        
UIAlertView *alert = [[UIAlertView allocinitWithTitle:@"Illegal" message:@"Please, put a number smaller than your money" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [
alert show];
        [
alert release];
        return;
    }
    
    
    
timer = [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(toDiceuserInfo:nil repeats:YES];
    
timerStop = [NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(stopuserInfo:nil repeats:NO];
}
- (
void)toDice{
    
    
nameIMG arc4random() % 1;;
    
    
NSString *str = [NSString stringWithFormat:@"%i.gif",nameIMG];
    
imgDice.image = [UIImage imageNamed:str];
    
    
float tm timer.timeInterval;
    [
timer invalidate];
    
float minus arc4random() % 10 1;

    
// thoi diem de giam toc do xuc xac( 3 giai doan giam)
    
if (timer.timeInterval 0.2) {
        
flag 1;
    }
    if (
timer.timeInterval 0.5) {
        
flag 2;
    }
    if (
flag == 0) {
        
timer = [NSTimer scheduledTimerWithTimeInterval:tm minus/1000 target:self selector:@selector(toDiceuserInfo:nil repeats:YES];
    }
    if (
flag == 1) {
        
timer = [NSTimer scheduledTimerWithTimeInterval:tm minus/100 target:self selector:@selector(toDiceuserInfo:nil repeats:YES];
    }
    if (
flag == 2) {
        
timer = [NSTimer scheduledTimerWithTimeInterval:tm minus/10 target:self selector:@selector(toDiceuserInfo:nil repeats:YES];
    }
    
}
- (
void)stop{
    [
timer invalidate];
    
segBetting.enabled true;
    
btnBet.enabled true;
    
    if ((
segBetting.selectedSegmentIndex == && nameIMG == 0) || (segBetting.selectedSegmentIndex == && nameIMG == 1) ) {
        
        
lblResult.text = [NSString stringWithFormat:@"You win %i$",[txtBetting.text intValue]];
        
imgFace.image = [UIImage imageNamed:@"money-icon.png"];
        
int money = [lblMyMoney.text intValue] + [txtBetting.text intValue];
        
lblMyMoney.text = [NSString stringWithFormat:@"%i",money];
    }
    else {
        
lblResult.text = [NSString stringWithFormat:@"You lose %i$",[txtBetting.text intValue]];
        
imgFace.image = [UIImage imageNamed:@"cry-icon.png"];
        
int money = [lblMyMoney.text intValue] - [txtBetting.text intValue];
        
lblMyMoney.text = [NSString stringWithFormat:@"%i",money];
        
        if (
money == 0) {
            
lblResult.text = @"Game over!";
            
txtBetting.text = @"0";
            
txtBetting.enabled false;
            
btnBet.enabled false;
        }
    }
}
@
end 
Mong mọi người xem thử và góp ý cho bài mình thêm hoàn thiện nhá!

link down: nhấn vào đây
link youtube: http://youtu.be/5DxqGKu_Pg8

- Đã sửa lỗi xúc xắc đang quay mà vẫn có thể bấm nút BET và đổi cược

thay đổi nội dung bởi: duylee, 10-09-2012 lúc 14:38
Trả Lời Với Trích Dẫn
Những người sau đây đã gửi lời cảm ơn duylee vì bài viết hữu ích này:
  #2  
Old 10-09-2012, 10:32
o0o_khoaphp_o0o o0o_khoaphp_o0o vẫn chưa có mặt trong diễn đàn
Banned
 
Tham gia ngày: May 2008
Tuổi: 32
Bài gởi: 1,362
Thanks: 22
Thanked 1,809 Times in 383 Posts
1 - Em giải thích câu lệnh
PHP Code:
btnBet.enabled false
ý nghĩa là gì cho mọi người hiểu nhé

2 - Sau khi click nút BET để chơi, nếu xúc xắc đang xoay, em có disable Seg và nút BET chưa?

(Tránh trường hợp đang xúc xắc đang xoay, người chơi click đổi thì sao)
Trả Lời Với Trích Dẫn
Đã có 2 người gửi lời cảm ơn o0o_khoaphp_o0o vì bài viết hữu ích này:
  #3  
Old 10-09-2012, 14:07
duylee duylee vẫn chưa có mặt trong diễn đàn
Thành Viên Mới
 
Tham gia ngày: Aug 2012
Tuổi: 29
Bài gởi: 11
Thanks: 1
Thanked 3 Times in 3 Posts
PHP Code:
btnBet.enabled false
Câu lệnh này dùng để vô hiệu nút BET
Đối với đối tượng UIButton( và 1 số đối tượng dùng làm outlet) thường có thuộc tính enabled để kích hoạt hay vô hiệu đối tượng. thuộc tính enabled có 2 giá trị là true và false:
- True: kích hoạt.
- False: vô hiệu.
Thuộc tính này có thể cài đặt từ đầu bằng xcode chọn đối tượng cần chỉnh thuộc tính -> mở view Utilities -> tab Attributes -> Enabled (tick vào là true, bỏ tick là false).

Còn ý nghĩa trong bài thì mình dùng khi game over, người chơi đã hết tiền nên mình lock lại lun cho khỏi chơi^^

Trích:
2 - Sau khi click nút BET để chơi, nếu xúc xắc đang xoay, em có disable Seg và nút BET chưa?

(Tránh trường hợp đang xúc xắc đang xoay, người chơi click đổi thì sao)
Ah cái này e ko để ý, để e chỉnh lại 1 chút, thank thầy nhìu
Trả Lời Với Trích Dẫn
Những người sau đây đã gửi lời cảm ơn duylee vì bài viết hữu ích này:
Trả lời

Bookmarks

Ðiều Chỉnh

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến

Similar Threads
Ðề tài Người Gởi Chuyên mục Trả lời Bài mới gởi
Kho game điện thoại .đồ họa siêu đẹp linkcasau Softwares - Tools 0 18-07-2012 20:08



Múi giờ GMT +7. Hiện tại là 18:58
Powered by: vBulletin Version 3.8.7
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Ad Management by RedTyger