Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - hoffa

Pages: 1 ... 16 17 [18] 19 20 ... 22
256
Là ce n'est pas un lien vers chez vous :
http://www.ti-bank.fr/index.php?mod=news&ac=commentaires&id=1331
?

Après évidemment, nous regardons les mêmes sites du web (musée datamaths, maths & tiques, ...). Faut arrêter de voir le plagia. Oui, je regarde aussi évidemment TI-Planet.
Vous me reprochiez d'évoquer l'usurpation dans quelques news mais chez vous, toutes vos news (c'est incessant !) contiennent des pics très nauséabondes qui font fuir certains de vos visiteurs même (j'ai l'honneté et la gentillesse de vous le dire).

Faut vraiment arrêter cette gueguerre ridicule. Faut avoir conscience les mecs, qu'on parle que de calculettes, hein !!

Pour tactical wars, on pourrait avoir au mins juste un petit récap des touches ? J'ai testé vite fait et je n'ai réussi qu'à placer qu'une unité.
En ce qui concerne TW sur TI-Bank, je t'ai envoyé un e-mail. En gros, quelque soit la raison, le jeu a été mis en ligne sans permission, j'ai pas forcément envie de faire de la pub en ce moment, et je préfère que mes fichiers viennent directement de moi pour pas avoir des anciennes versions éparpillés sur la toile.
Pour le reste, allez vous disputer autre part.
Sinon pour un fichier d'aide, je vais en ajouter un prochainement.

257
TI-Nspire / Re: [Lua] Tactical Wars CX
« on: November 09, 2011, 12:09:11 pm »
Alrighty I've updated the first post, check it out. (note that I removed the background image, as it was painfully slow to navigate in the menus)

comment puis-je retourner au menu après un partie quand ça dit: "blue is victorious"
For non-French speakers: "how do I return to the menu after a player wins the game?"
Well, I have to admit I was in a hurry when I submitted the game for the TI-Planet contest, and had at 23:45 (it was due for midnight) still not written any code for when a player won a game. I decided to deal with it a very quick and dirty way ("player won? Accept no further input, stop everything, just show the goddamn win screen and make sure it takes up the whole display!") and consequently you cannot do anything once a player won. It's like when you finished Super Mario Bros., you get that fancy "The End" screen and all you can do is press the reset button. Press Ctrl+w to close the document, and you should be able to open it again. I will fix it in a future version, don't worry.

Bug report: if red wins, the game crashes O.o
Thanks for reporting that, I'll look into it.
EDIT: Oh wait, it's probably what Alex just asked (it may seem like it crashed, but it's the dirty way I implemented it, for now). Read my answer above.

258
TI-Nspire / Re: [Lua] Tactical Wars CX
« on: November 07, 2011, 02:43:17 pm »
You still have ≈ 3.4 hours, so make sure you do the most important things :)

Also, don't worry about speding too much time for the translation, use google translate for the often used words ;)
Yeah, I'm pretty sure I'll have the time. What translation are you talking about? Have I missed something?
EDIT: Shit, just reread the rules. I'll  translate what I can, then.

259
TI-Nspire / Re: [Lua] Tactical Wars CX
« on: November 07, 2011, 02:23:25 pm »
I've changed the layout and sprites slightly:


Wow, it looks awesome !
I hope this game to be coded fastly, since it looks great !
Yeah, I will have to code like there was no tomorrow if I want to have a playable version tonight. I need to have finished something by midnight and I still have loads to do.

260
TI-Nspire / Re: [Lua] Tactical Wars CX
« on: November 05, 2011, 12:22:40 pm »
I suppose you put ti.images at the top/bottom of your code.
But you could do something like that :
Code: [Select]
imagesLoaded=false

function on.paint(gc)
 if not imagesLoaded then
  gc:drawString("Loading",0,0,"top")
  loadImages()
 else
  --Game displaying
 end
end

function loadImages()
 img1=image.new("...")
 imagesLoaded=true
end

I don't know if this trick would work...
Well all the images are loaded when the game is started (or more precisely, as soon as an instance of the game class is created), and TI's own little loading thingy is good enough.

BTW, I added two screenshots, both are from the info windows of two units.

261
TI-Nspire / Re: [Lua] Tactical Wars CX
« on: November 05, 2011, 10:27:47 am »
do you have to load the images yourself or does the prog do that (if yourself, you can display something before loading it)
What do you mean by "load the images yourself"? What images? I'm only talking about the visual stuff the game is made of.

262
TI-Nspire / Re: [Lua] Tactical Wars CX
« on: November 05, 2011, 09:22:35 am »
This looks nice, but the memory consumption... ><
And it is quite slow to open isn't it ?
Haven't looked at the memory consumption nor have I had any issues with it yet (EDIT: of course if it becomes or is a bigger issue, I'll look into and deal with it). To open it, it takes about two seconds, but it's understandable considering the number of images there are. Oh, and those few seconds won't kill anyone; it's no issue as far as I can see.

263
TI-Nspire / Re: [Lua] Tactical Wars CX
« on: November 04, 2011, 03:20:20 pm »
Why didn't you used the AW2 sprites? I give you using the animated tileset like a challenge!
Because they are too big and I wanted the user to be able to see the whole map at once.

264
TI-Nspire / Re: [Lua] Tactical Wars CX
« on: November 04, 2011, 02:05:49 pm »
They indeed look awesome, but I am scared in advance at the .tns size, since these are all TI.Images .... :o

Good Luck :D
Yes it will be bigger than usual, but I don't feel like settling for a dull white background, especially when I'm targeting it for machine that has a color screen.

265
TI-Nspire / [Lua] Tactical Wars CX
« on: November 04, 2011, 01:37:03 pm »
I've been working for some time on a game I named "Tactical Wars CX" (CX as in TI-Nspire CX, as it is targeted for colored displays), a two-player turn-based strategy game. Frankly, it is still missing quite a few things and there are stuff that needs to be changed. There is no AI for the moment, and although I cannot promise you anything, I'll see if I can add some sort of AI in a later version (and considering the fact it's a field I find interesting, there might very well be one in the future), as soon as I have dealt with more important issues. You may find it is lacking in features and everything might not be well-balanced, and I fully agree, and as I said earlier, I'm going to work on them later.

The first thing each player does is choose his or her military units, and then places those units on the map. Right after the units have been placed, the HQ (that spiky tower you can see on one of the screenshots) needs to be built somewhere. If during the game the HQ is destroyed, the player who destroyed it automatically wins. If all of the soldiers of an army are killed, the remaining army (i.e., player) wins. Each army has a certain morale, and that morale evolves during the game based on different actions and variables. The said morale can affect the amount of damage each unit inflict. Every unit--along with an attack, defense, and range value--also has a certain fatigue- or fuel-level, which both replenish if the unit is let to rest (tanks and helicopters get more fuel thanks to the magical Fuel Fairy™), which affects the range of that unit. Special units ("Spetsnaz Team" or "SAS Team") are not visible by the enemy as long as they do not shoot or are not shot. Just to make it clear, that "0 +0" thing you can see in the primitive HUD on the right, shows how much damage you've done during the game and the amount of damage you did on your last hit.

You can download the current version here, but be aware that it's an early version that requires some further developing:


Changelog:
  • 0.2
    • Fixed a typo in the code that might have caused issues at the end of a game
    • Fixed an issue that caused the game to crash at the end, if the user had returned from the unit selection screen to the menu before playing
    • Fixed total damage & previous damage sometimes showing wrong values
    • Fixed an issue with Blue special units disappearing when placing them
    • Added a simple in-game menu
    • Added a proper victory screen
    • Added a help screen
    • Implemented a proper algorithm that generates a list of cells within a certain range (rather than being hard coded)
    • If the player presses the "0" key, circles are drawn around the units for more visibility
    • The fuel/fatigue now decreases/increases based on the distance moved
    • Changed the attributes of different units for more balance
    • The initial available area (on the only map) for placing units has been reduced
    • Only one loop is now used to draw the units, rather than two
    • Units now face the correct direction when the y-coordinate doesn't change while moving
    • After placing the units, the cursor goes to the last unit placed rather than the HQ
    • When attacking, only attackable units are drawn over
    • If a move or an attack is canceled, the cursor returns to the unit
    • Blue units now initially face left
    • Some minor code & UI changes
  • 0.1
    • First release

And finally, a few screenshots: (if you're as anal as me about stuff not being aligned perfectly, well every drawn string is actually one pixel too low on the emulator)





If you want to know how to return to the menu after a game, read this: http://ourl.ca/13814/260412

266
Lua / Re: [Howto] Check if a key is pressed down (more or less)
« on: October 01, 2011, 07:21:13 pm »
@Levak: thanks, didn't know about that. Changed it.

267
Lua / [Howto] Check if a key is pressed down (more or less)
« on: October 01, 2011, 06:59:39 pm »


I was trying to find a way to know if a key is held down or not (for a Lua CHIP-8 emulator I'm writing, more as a proof of concept than anything else), but as you probably already knew if you've programmed in Lua on the TI-Nspire, there is no way of knowing anything except when a key is first pressed. That is because of the way the TI-Nspire has been made; while most of the keys only send one event signal each time the key is pressed, the tab and arrow keys continuously keep sending those signals after a short delay while holding the key down. What you first want to do is to somewhat be able to know when one of those special keys is pressed down. It won't be as accurate as you might want it to be, but using some timer tricks (to tackle that annoying delay gap before it starts bombarding with events among others) it is possible to implement something of an isDown() function. Here's some fairly simple code that displays "true" when the tab key is held down, it should be pretty self-explanatory (and as you will notice, it isn't that accurate. It might be made slightly more accurate by tuning those interval values):
Code: [Select]
Key = class()

function Key:init(eventInterval, firstEventInterval)
    self.keyDown = false
    self.eventInterval = eventInterval or 150
    self.firstEventInterval = firstEventInterval or 750
    self.time = {firstEvent = 0, lastEvent = 0}
end

function Key:keyEvent(timeNow)
    local timeNow = timeNow or timer.getMilliSecCounter()
    if not self.keyDown then
        self.time.firstEvent = timeNow
    end
    self.time.lastEvent = timeNow
    self.keyDown = true
end

function Key:isDown(timeNow)
    local timeNow = timeNow or timer.getMilliSecCounter()
    self.keyDown = timeNow - self.time.firstEvent < self.firstEventInterval
                or timeNow - self.time.lastEvent < self.eventInterval
    return self.keyDown
end

function on.tabKey()
    tab:keyEvent()
end

function on.timer()
    platform.window:invalidate()
end

function on.create()
    timer.start(0.01)
end

tab = Key()
function on.paint(gc)
    gc:drawString("Tab key down: " .. tostring(tab:isDown()), 0, 0, "top")
end

Now to know if a number or character key is pressed down, well, there is no way to do that. But one workaround would be to use the tab key. For example, if you wanted to make it possible for the program to know when a certain key is held down, you'd first have to press that key and then quickly press and hold the tab button. After some coding, we have this:

Code: [Select]
MasterKey = class()

function MasterKey:init(eventInterval, firstEventInterval)
    self.keyDown = false
    self.eventInterval = eventInterval or 200
    self.firstEventInterval = firstEventInterval or 750
    self.time = {firstEvent = 0, lastEvent = 0}
end

function MasterKey:keyEvent(timeNow)
    local timeNow = timeNow or timer.getMilliSecCounter()
    if not self.keyDown then
        self.time.firstEvent = timeNow
    end
    self.time.lastEvent = timeNow
    self.keyDown = true
end

function MasterKey:updateStatus(timeNow)
    local timeNow = timeNow or timer.getMilliSecCounter()
    self.keyDown = timeNow - self.time.firstEvent < self.firstEventInterval
                or timeNow - self.time.lastEvent < self.eventInterval
end

function MasterKey:isDown()
    return self.keyDown
end

Keys = class()

function Keys:init(keys, eventInterval)
    self.keys = {}
    for i = 1, #keys do
        self.keys[keys[i]] = {keyDown = false, timeLastEvent = 0}
    end
    self.eventInterval = eventInterval or 200
end

function Keys:keyEvent(key, timeNow)
    self.keys[nobbc].timeLastEvent = timeNow or timer.getMilliSecCounter()
end

function Keys:updateStatus(key, masterKey)
    if masterKey.keyDown then
        if not self.keys[nobbc].keyDown
       and masterKey.time.lastEvent - self.keys[nobbc].timeLastEvent
         < self.eventInterval then
            for key, value in pairs(self.keys) do
                self.keys[nobbc].keyDown = false
            end
            self.keys[nobbc].keyDown = true
        end
    else
        self.keys[nobbc].keyDown = false
    end
end

function Keys:isDown(key)
    return self.keys[nobbc].keyDown
end

function on.tabKey()
    tab:keyEvent()
end

function on.charIn(c)
    if c == "x" then
        keys:keyEvent("x")
    elseif c == "y" then
        keys:keyEvent("y")
    elseif c == "z" then
        keys:keyEvent("z")
    end
end

function on.timer()
    platform.window:invalidate()
end

function on.create()
    timer.start(0.01)
end

tab = MasterKey()
keys = Keys({"x", "y", "z"})
function on.paint(gc)
    tab:updateStatus()
    keys:updateStatus("x", tab)
    keys:updateStatus("y", tab)
    keys:updateStatus("z", tab)
    gc:drawString("'x' key down: " .. tostring(keys:isDown("x")), 0, 0, "top")
    gc:drawString("'y' key down: " .. tostring(keys:isDown("y")), 0, 20, "top")
    gc:drawString("'z' key down: " .. tostring(keys:isDown("z")), 0, 40, "top")
end

The "master key" in that case is the tab key, which tells the program how long a certain key should be held down. Try it out yourself, press tab + [x/y/z] quickly and hold on to tab, you'll see how the values change. It's not perfect but it's as far as I know the best you can do with TI-Nspire Lua.

Well that was it, going to bed now!

268
Miscellaneous / Re: Are you/have you home schooled?
« on: September 19, 2011, 01:07:32 pm »
Being free must be pretty nice. But I believe being homeschooled has its downsides also. For example you miss most of the social aspect of going to school (i.e. making friends is harder, poorer social skills), but I wouldn't be surprised if that wouldn't be a problem for many people. How about higher education? How does a homeschooled person prove a university he is qualified enough to enroll?

269
TI-Nspire / Pseudo-3D engine for the TI-Nspire using Lua
« on: September 13, 2011, 11:38:42 am »
Hello,

I've been working on a pseudo-3D (using ray casting) engine for the TI-Nspire. Chokosta has already made one (actually I got the idea from him), but I want to have a flexible and fast engine that could eventually be used to make some sort of games. Lua on the TI-Nspire is already quite slow, and so I will try and optimize the most critical parts as much as Lua allows it to have a decent rendering frame rate. At the moment I am in the testing phase, trying different techniques of ray casting (namely, using vectors like Lode Vandevenne in his tutorial does, or using angles) as I want to have good and clear code while still being fast. Also for texture mapping I have a few choices, so I'll have to weigh all that and choose the ones that suit the best.

As a summary, what I will try to make is an engine that has/is:
  • A decent rendering frame rate
  • Easy-to-use, easily configurable and flexible
  • Texture mapping on walls
  • Various rendering effects
  • Some sort of fog
  • Other stuff that I can't remember

As I love splash screens and screenshots in general, here you go:



Ain't much else for now. Let's just hope making this thread will keep me motivated. :*

270
TI-Nspire / Re: Hyena: a simple (Lua) GUI library for the TI-Nspire
« on: August 19, 2011, 01:21:10 pm »
Hmmm, I don't know how I missed this the first time.
Regardless, it looks really epic :)
Any chance you could upload your library code to pastebin or something like that and give us a link to that sometime soon, because, if it's alright with you, I would really love to implement this in Pacman :D
I'll post the current code in less than an hour, got to do some housekeeping and add a few functions. :)
Wonderful :)
Nice job on this :D
As promised, here's the current code: http://pastebin.com/4x53C9yk
It's everything but ready, there's still quite a bit of things to do. Codewise, I still need to find a nice way to take full advantage of Nspire Lua's magnificent object oriented programming.

Pages: 1 ... 16 17 [18] 19 20 ... 22